这部法典用一个工具路障和一个QTextEdit地区运行一个很小的窗口。
如果你强调香蕉和改变老体大小,那么使用 tool子或CTRL+湿轮只会使 app体变。 任何人都知道为什么?
from PySide import QtGui, QtCore
class MainWindow(QtGui.QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.textEdit = Editor(self)
self.toolBar = QtGui.QToolBar(self)
self.addToolBar(self.toolBar)
self.setCentralWidget(self.textEdit)
self.textEdit.setHtml( <font color=blue>apples bananas</font> )
# Zoom
self.actionZoomIn = QtGui.QAction( Zoom In , self)
self.actionZoomOut = QtGui.QAction( Zoom Out , self)
self.toolBar.addAction(self.actionZoomIn)
self.toolBar.addAction(self.actionZoomOut)
self.actionZoomIn.triggered.connect(self.onZoomInClicked)
self.actionZoomOut.triggered.connect(self.onZoomOutClicked)
# Font Size
self.comboSize = QtGui.QComboBox(self.toolBar)
self.toolBar.addWidget(self.comboSize)
self.comboSize.addItem( 0 )
self.comboSize.addItem( 10 )
self.comboSize.addItem( 18 )
self.comboSize.addItem( 30 )
self.comboSize.addItem( 48 )
self.comboSize.setCurrentIndex(1)
self.comboSize.activated[str].connect(self.textSize)
def textSize(self, pointSize):
pointSize = int(pointSize)
if pointSize > 0:
fmt = QtGui.QTextCharFormat()
fmt.setFontPointSize(pointSize)
self.mergeFormatOnWordOrSelection(fmt)
def mergeFormatOnWordOrSelection(self, format):
cursor = self.textEdit.textCursor()
if not cursor.hasSelection():
cursor.select(QtGui.QTextCursor.WordUnderCursor)
cursor.mergeCharFormat(format)
self.textEdit.mergeCurrentCharFormat(format)
def onZoomInClicked(self):
self.textEdit.zoom(+1)
def onZoomOutClicked(self):
self.textEdit.zoom(-1)
class Editor(QtGui.QTextEdit):
def __init__(self, parent=None):
super(Editor, self).__init__(parent)
self.zoomValue = 0
def zoom(self, delta):
zoomIncrement = 3
if delta < 0:
zoomIncrement = 0 - zoomIncrement
self.zoomIn(zoomIncrement)
self.zoomValue = self.zoomValue + zoomIncrement
print "self.zoomValue", self.zoomValue
def wheelEvent(self, event):
if (event.modifiers() & QtCore.Qt.ControlModifier):
self.zoom(event.delta())
if __name__ == __main__ :
app = QtGui.QApplication([])
window = MainWindow()
window.resize(400, 180)
window.show()
app.exec_()