From 27bb3f7839d9673b125f8b1b775c4398293932e2 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Thu, 25 Mar 2021 17:20:24 +0100 Subject: Port QWidget examples to snake case Task-number: PYSIDE-1112 Change-Id: Ia42e395a3c650f4c11f05cfe5c6f67d309c4a3d3 Reviewed-by: Christian Tismer --- .../animation/animatedtiles/animatedtiles.py | 90 +-- .../widgets/animation/appchooser/appchooser.py | 14 +- examples/widgets/animation/states/states.py | 30 +- examples/widgets/codeeditor/codeeditor.py | 6 +- .../widgets/dialogs/classwizard/classwizard.py | 264 +++---- examples/widgets/dialogs/extension/extension.py | 84 +-- examples/widgets/dialogs/findfiles/findfiles.py | 186 ++--- .../widgets/dialogs/trivialwizard/trivialwizard.py | 28 +- .../draganddrop/draggabletext/draggabletext.py | 60 +- examples/widgets/effects/lighting.py | 22 +- examples/widgets/gallery/widgetgallery.py | 14 +- .../graphicsview/anchorlayout/anchorlayout.py | 24 +- .../graphicsview/diagramscene/diagramscene.py | 758 ++++++++++----------- .../graphicsview/dragdroprobot/dragdroprobot.py | 30 +- .../graphicsview/elasticnodes/elasticnodes.py | 188 ++--- .../itemviews/addressbook/adddialogwidget.py | 28 +- .../widgets/itemviews/addressbook/addressbook.py | 54 +- .../widgets/itemviews/addressbook/addresswidget.py | 148 ++-- .../widgets/itemviews/addressbook/newaddresstab.py | 32 +- .../basicfiltermodel/basicsortfiltermodel.py | 188 ++--- examples/widgets/itemviews/fetchmore/fetchmore.py | 56 +- .../widgets/itemviews/stardelegate/stardelegate.py | 42 +- .../widgets/itemviews/stardelegate/stareditor.py | 24 +- .../widgets/itemviews/stardelegate/starrating.py | 30 +- .../widgets/layouts/basiclayouts/basiclayouts.py | 82 +-- .../layouts/dynamiclayouts/dynamiclayouts.py | 130 ++-- examples/widgets/layouts/flowlayout/flowlayout.py | 20 +- .../widgets/painting/basicdrawing/basicdrawing.py | 324 ++++----- .../concentriccircles/concentriccircles.py | 42 +- examples/widgets/richtext/orderform/orderform.py | 220 +++--- .../syntaxhighlighter/syntaxhighlighter.py | 6 +- examples/widgets/richtext/textobject/textobject.py | 70 +- .../widgets/state-machine/eventtrans/eventtrans.py | 26 +- .../widgets/state-machine/factstates/factstates.py | 26 +- examples/widgets/state-machine/rogue/rogue.py | 102 +-- .../state-machine/trafficlight/trafficlight.py | 88 +-- examples/widgets/systray/window.py | 308 ++++----- 37 files changed, 1922 insertions(+), 1922 deletions(-) (limited to 'examples') diff --git a/examples/widgets/animation/animatedtiles/animatedtiles.py b/examples/widgets/animation/animatedtiles/animatedtiles.py index b5a030235..85ca55aa1 100644 --- a/examples/widgets/animation/animatedtiles/animatedtiles.py +++ b/examples/widgets/animation/animatedtiles/animatedtiles.py @@ -145,88 +145,88 @@ if __name__ == '__main__': app = QtWidgets.QApplication(sys.argv) - kineticPix = QtGui.QPixmap(':/images/kinetic.png') - bgPix = QtGui.QPixmap(':/images/Time-For-Lunch-2.jpg') + kinetic_pix = QtGui.QPixmap(':/images/kinetic.png') + bg_pix = QtGui.QPixmap(':/images/Time-For-Lunch-2.jpg') scene = QtWidgets.QGraphicsScene(-350, -350, 700, 700) items = [] for i in range(64): - item = Pixmap(kineticPix) - item.pixmap_item.setOffset(-kineticPix.width() / 2, - -kineticPix.height() / 2) + item = Pixmap(kinetic_pix) + item.pixmap_item.setOffset(-kinetic_pix.width() / 2, + -kinetic_pix.height() / 2) item.pixmap_item.setZValue(i) items.append(item) scene.addItem(item.pixmap_item) # Buttons. - buttonParent = QtWidgets.QGraphicsRectItem() - ellipseButton = Button(QtGui.QPixmap(':/images/ellipse.png'), buttonParent) - figure8Button = Button(QtGui.QPixmap(':/images/figure8.png'), buttonParent) - randomButton = Button(QtGui.QPixmap(':/images/random.png'), buttonParent) - tiledButton = Button(QtGui.QPixmap(':/images/tile.png'), buttonParent) - centeredButton = Button(QtGui.QPixmap(':/images/centered.png'), buttonParent) - - ellipseButton.setPos(-100, -100) - figure8Button.setPos(100, -100) - randomButton.setPos(0, 0) - tiledButton.setPos(-100, 100) - centeredButton.setPos(100, 100) - - scene.addItem(buttonParent) - buttonParent.setTransform(QtGui.QTransform().scale(0.75, 0.75)) - buttonParent.setPos(200, 200) - buttonParent.setZValue(65) + button_parent = QtWidgets.QGraphicsRectItem() + ellipse_button = Button(QtGui.QPixmap(':/images/ellipse.png'), button_parent) + figure_8button = Button(QtGui.QPixmap(':/images/figure8.png'), button_parent) + random_button = Button(QtGui.QPixmap(':/images/random.png'), button_parent) + tiled_button = Button(QtGui.QPixmap(':/images/tile.png'), button_parent) + centered_button = Button(QtGui.QPixmap(':/images/centered.png'), button_parent) + + ellipse_button.setPos(-100, -100) + figure_8button.setPos(100, -100) + random_button.setPos(0, 0) + tiled_button.setPos(-100, 100) + centered_button.setPos(100, 100) + + scene.addItem(button_parent) + button_parent.setTransform(QtGui.QTransform().scale(0.75, 0.75)) + button_parent.setPos(200, 200) + button_parent.setZValue(65) # States. - rootState = QtStateMachine.QState() - ellipseState = QtStateMachine.QState(rootState) - figure8State = QtStateMachine.QState(rootState) - randomState = QtStateMachine.QState(rootState) - tiledState = QtStateMachine.QState(rootState) - centeredState = QtStateMachine.QState(rootState) + root_state = QtStateMachine.QState() + ellipse_state = QtStateMachine.QState(root_state) + figure_8state = QtStateMachine.QState(root_state) + random_state = QtStateMachine.QState(root_state) + tiled_state = QtStateMachine.QState(root_state) + centered_state = QtStateMachine.QState(root_state) # Values. generator = QtCore.QRandomGenerator.global_() for i, item in enumerate(items): # Ellipse. - ellipseState.assignProperty(item, 'pos', + ellipse_state.assignProperty(item, 'pos', QtCore.QPointF(math.cos((i / 63.0) * 6.28) * 250, math.sin((i / 63.0) * 6.28) * 250)) # Figure 8. - figure8State.assignProperty(item, 'pos', + figure_8state.assignProperty(item, 'pos', QtCore.QPointF(math.sin((i / 63.0) * 6.28) * 250, math.sin(((i * 2)/63.0) * 6.28) * 250)) # Random. - randomState.assignProperty(item, 'pos', + random_state.assignProperty(item, 'pos', QtCore.QPointF(-250 + generator.bounded(0, 500), -250 + generator.bounded(0, 500))) # Tiled. - tiledState.assignProperty(item, 'pos', - QtCore.QPointF(((i % 8) - 4) * kineticPix.width() + kineticPix.width() / 2, - ((i // 8) - 4) * kineticPix.height() + kineticPix.height() / 2)) + tiled_state.assignProperty(item, 'pos', + QtCore.QPointF(((i % 8) - 4) * kinetic_pix.width() + kinetic_pix.width() / 2, + ((i // 8) - 4) * kinetic_pix.height() + kinetic_pix.height() / 2)) # Centered. - centeredState.assignProperty(item, 'pos', QtCore.QPointF()) + centered_state.assignProperty(item, 'pos', QtCore.QPointF()) # Ui. view = View(scene) view.setWindowTitle("Animated Tiles") view.setViewportUpdateMode(QtWidgets.QGraphicsView.BoundingRectViewportUpdate) - view.setBackgroundBrush(QtGui.QBrush(bgPix)) + view.setBackgroundBrush(QtGui.QBrush(bg_pix)) view.setCacheMode(QtWidgets.QGraphicsView.CacheBackground) view.setRenderHints( QtGui.QPainter.Antialiasing | QtGui.QPainter.SmoothPixmapTransform) view.show() states = QtStateMachine.QStateMachine() - states.addState(rootState) - states.setInitialState(rootState) - rootState.setInitialState(centeredState) + states.addState(root_state) + states.setInitialState(root_state) + root_state.setInitialState(centered_state) group = QtCore.QParallelAnimationGroup() for i, item in enumerate(items): @@ -235,25 +235,25 @@ if __name__ == '__main__': anim.setEasingCurve(QtCore.QEasingCurve.InOutBack) group.addAnimation(anim) - trans = rootState.addTransition(ellipseButton.pressed, ellipseState) + trans = root_state.addTransition(ellipse_button.pressed, ellipse_state) trans.addAnimation(group) - trans = rootState.addTransition(figure8Button.pressed, figure8State) + trans = root_state.addTransition(figure_8button.pressed, figure_8state) trans.addAnimation(group) - trans = rootState.addTransition(randomButton.pressed, randomState) + trans = root_state.addTransition(random_button.pressed, random_state) trans.addAnimation(group) - trans = rootState.addTransition(tiledButton.pressed, tiledState) + trans = root_state.addTransition(tiled_button.pressed, tiled_state) trans.addAnimation(group) - trans = rootState.addTransition(centeredButton.pressed, centeredState) + trans = root_state.addTransition(centered_button.pressed, centered_state) trans.addAnimation(group) timer = QtCore.QTimer() timer.start(125) timer.setSingleShot(True) - trans = rootState.addTransition(timer.timeout, ellipseState) + trans = root_state.addTransition(timer.timeout, ellipse_state) trans.addAnimation(group) states.start() diff --git a/examples/widgets/animation/appchooser/appchooser.py b/examples/widgets/animation/appchooser/appchooser.py index 5c9e9c6c1..752edccf4 100644 --- a/examples/widgets/animation/appchooser/appchooser.py +++ b/examples/widgets/animation/appchooser/appchooser.py @@ -69,14 +69,14 @@ class Pixmap(QtWidgets.QGraphicsWidget): self.p = QtGui.QPixmap(self.orig) -def createStates(objects, selectedRect, parent): +def create_states(objects, selectedRect, parent): for obj in objects: state = QtStateMachine.QState(parent) state.assignProperty(obj, 'geometry', selectedRect) parent.addTransition(obj.clicked, state) -def createAnimations(objects, machine): +def create_animations(objects, machine): for obj in objects: animation = QtCore.QPropertyAnimation(obj, b'geometry', obj) machine.addDefaultAnimation(animation) @@ -115,14 +115,14 @@ if __name__ == '__main__': machine.setGlobalRestorePolicy(QtStateMachine.QStateMachine.RestoreProperties) group = QtStateMachine.QState(machine) - selectedRect = QtCore.QRect(86, 86, 128, 128) + selected_rect = QtCore.QRect(86, 86, 128, 128) - idleState = QtStateMachine.QState(group) - group.setInitialState(idleState) + idle_state = QtStateMachine.QState(group) + group.setInitialState(idle_state) objects = [p1, p2, p3, p4] - createStates(objects, selectedRect, group) - createAnimations(objects, machine) + create_states(objects, selected_rect, group) + create_animations(objects, machine) machine.setInitialState(group) machine.start() diff --git a/examples/widgets/animation/states/states.py b/examples/widgets/animation/states/states.py index 77c76bd9e..f6ae7b571 100644 --- a/examples/widgets/animation/states/states.py +++ b/examples/widgets/animation/states/states.py @@ -72,10 +72,10 @@ if __name__ == '__main__': "asdf lkjha yuoiqwe asd iuaysd u iasyd uiy!") button = QtWidgets.QPushButton() - buttonProxy = QtWidgets.QGraphicsProxyWidget() - buttonProxy.setWidget(button) - editProxy = QtWidgets.QGraphicsProxyWidget() - editProxy.setWidget(edit) + button_proxy = QtWidgets.QGraphicsProxyWidget() + button_proxy.setWidget(button) + edit_proxy = QtWidgets.QGraphicsProxyWidget() + edit_proxy.setWidget(edit) box = QtWidgets.QGroupBox() box.setFlat(True) @@ -88,14 +88,14 @@ if __name__ == '__main__': layout2.addWidget(QtWidgets.QRadioButton("Petunias")) layout2.addStretch() - boxProxy = QtWidgets.QGraphicsProxyWidget() - boxProxy.setWidget(box) + box_proxy = QtWidgets.QGraphicsProxyWidget() + box_proxy.setWidget(box) # Parent widget. widget = QtWidgets.QGraphicsWidget() layout = QtWidgets.QGraphicsLinearLayout(QtCore.Qt.Vertical, widget) - layout.addItem(editProxy) - layout.addItem(buttonProxy) + layout.addItem(edit_proxy) + layout.addItem(button_proxy) widget.setLayout(layout) p1 = Pixmap(QtGui.QPixmap(':/digikam.png')) @@ -108,7 +108,7 @@ if __name__ == '__main__': scene = QtWidgets.QGraphicsScene(0, 0, 400, 300) scene.setBackgroundBrush(scene.palette().window()) scene.addItem(widget) - scene.addItem(boxProxy) + scene.addItem(box_proxy) scene.addItem(p1) scene.addItem(p2) scene.addItem(p3) @@ -138,7 +138,7 @@ if __name__ == '__main__': state1.assignProperty(p4, 'rotation', -270.0) state1.assignProperty(p5, 'rotation', -90.0) state1.assignProperty(p6, 'rotation', 270.0) - state1.assignProperty(boxProxy, 'opacity', 0.0) + state1.assignProperty(box_proxy, 'opacity', 0.0) state1.assignProperty(p1, 'opacity', 1.0) state1.assignProperty(p2, 'opacity', 1.0) state1.assignProperty(p3, 'opacity', 1.0) @@ -162,7 +162,7 @@ if __name__ == '__main__': state2.assignProperty(p4, 'rotation', 0.0) state2.assignProperty(p5, 'rotation', 0.0) state2.assignProperty(p6, 'rotation', 0.0) - state2.assignProperty(boxProxy, 'opacity', 1.0) + state2.assignProperty(box_proxy, 'opacity', 1.0) state2.assignProperty(p1, 'opacity', 0.0) state2.assignProperty(p2, 'opacity', 0.0) state2.assignProperty(p3, 'opacity', 0.0) @@ -188,10 +188,10 @@ if __name__ == '__main__': state3.assignProperty(p6, 'opacity', 1.0) t1 = state1.addTransition(button.clicked, state2) - animation1SubGroup = QtCore.QSequentialAnimationGroup() - animation1SubGroup.addPause(250) - animation1SubGroup.addAnimation(QtCore.QPropertyAnimation(box, b'geometry', state1)) - t1.addAnimation(animation1SubGroup) + animation_1sub_group = QtCore.QSequentialAnimationGroup() + animation_1sub_group.addPause(250) + animation_1sub_group.addAnimation(QtCore.QPropertyAnimation(box, b'geometry', state1)) + t1.addAnimation(animation_1sub_group) t1.addAnimation(QtCore.QPropertyAnimation(widget, b'geometry', state1)) t1.addAnimation(QtCore.QPropertyAnimation(p1, b'pos', state1)) t1.addAnimation(QtCore.QPropertyAnimation(p2, b'pos', state1)) diff --git a/examples/widgets/codeeditor/codeeditor.py b/examples/widgets/codeeditor/codeeditor.py index acfac42d0..9e0ac5b23 100644 --- a/examples/widgets/codeeditor/codeeditor.py +++ b/examples/widgets/codeeditor/codeeditor.py @@ -46,13 +46,13 @@ from PySide6.QtWidgets import QPlainTextEdit, QWidget, QTextEdit class LineNumberArea(QWidget): def __init__(self, editor): QWidget.__init__(self, editor) - self.codeEditor = editor + self._code_editor = editor def sizeHint(self): - return QSize(self.codeEditor.line_number_area_width(), 0) + return QSize(self._code_editor.line_number_area_width(), 0) def paintEvent(self, event): - self.codeEditor.lineNumberAreaPaintEvent(event) + self._code_editor.lineNumberAreaPaintEvent(event) class CodeEditor(QPlainTextEdit): diff --git a/examples/widgets/dialogs/classwizard/classwizard.py b/examples/widgets/dialogs/classwizard/classwizard.py index b8ad04514..ce7c02d89 100644 --- a/examples/widgets/dialogs/classwizard/classwizard.py +++ b/examples/widgets/dialogs/classwizard/classwizard.py @@ -62,12 +62,12 @@ class ClassWizard(QtWidgets.QWizard): self.setWindowTitle("Class Wizard") def accept(self): - className = self.field('className') - baseClass = self.field('baseClass') - macroName = self.field('macroName') - baseInclude = self.field('baseInclude') + class_name = self.field('className') + base_class = self.field('baseClass') + macro_name = self.field('macroName') + base_include = self.field('baseInclude') - outputDir = self.field('outputDir') + output_dir = self.field('outputDir') header = self.field('header') implementation = self.field('implementation') @@ -80,17 +80,17 @@ class ClassWizard(QtWidgets.QWizard): block += '\n' if self.field('protect'): - block += '#ifndef ' + macroName + '\n' - block += '#define ' + macroName + '\n' + block += '#ifndef ' + macro_name + '\n' + block += '#define ' + macro_name + '\n' block += '\n' if self.field('includeBase'): - block += '#include ' + baseInclude + '\n' + block += '#include ' + base_include + '\n' block += '\n' - block += 'class ' + className - if baseClass: - block += ' : public ' + baseClass + block += 'class ' + class_name + if base_class: + block += ' : public ' + base_class block += '\n' block += '{\n' @@ -102,16 +102,16 @@ class ClassWizard(QtWidgets.QWizard): block += 'public:\n' if self.field('qobjectCtor'): - block += ' ' + className + '(QObject *parent = 0);\n' + block += ' ' + class_name + '(QObject *parent = 0);\n' elif self.field('qwidgetCtor'): - block += ' ' + className + '(QWidget *parent = 0);\n' + block += ' ' + class_name + '(QWidget *parent = 0);\n' elif self.field('defaultCtor'): - block += ' ' + className + '();\n' + block += ' ' + class_name + '();\n' if self.field('copyCtor'): - block += ' ' + className + '(const ' + className + ' &other);\n' + block += ' ' + class_name + '(const ' + class_name + ' &other);\n' block += '\n' - block += ' ' + className + ' &operator=' + '(const ' + className + ' &other);\n' + block += ' ' + class_name + ' &operator=' + '(const ' + class_name + ' &other);\n' block += '};\n' @@ -119,16 +119,16 @@ class ClassWizard(QtWidgets.QWizard): block += '\n' block += '#endif\n' - headerFile = QtCore.QFile(outputDir + '/' + header) + header_file = QtCore.QFile(output_dir + '/' + header) - if not headerFile.open(QtCore.QFile.WriteOnly | QtCore.QFile.Text): - name = headerFile.fileName() - reason = headerFile.errorString() + if not header_file.open(QtCore.QFile.WriteOnly | QtCore.QFile.Text): + name = header_file.fileName() + reason = header_file.errorString() QtWidgets.QMessageBox.warning(None, "Class Wizard", f"Cannot write file {name}:\n{reason}") return - headerFile.write(QtCore.QByteArray(block.encode("utf-8"))) + header_file.write(QtCore.QByteArray(block.encode("utf-8"))) block = '' @@ -142,48 +142,48 @@ class ClassWizard(QtWidgets.QWizard): block += '\n' if self.field('qobjectCtor'): - block += className + '::' + className + '(QObject *parent)\n' - block += ' : ' + baseClass + '(parent)\n' + block += class_name + '::' + class_name + '(QObject *parent)\n' + block += ' : ' + base_class + '(parent)\n' block += '{\n' block += '}\n' elif self.field('qwidgetCtor'): - block += className + '::' + className + '(QWidget *parent)\n' - block += ' : ' + baseClass + '(parent)\n' + block += class_name + '::' + class_name + '(QWidget *parent)\n' + block += ' : ' + base_class + '(parent)\n' block += '{\n' block += '}\n' elif self.field('defaultCtor'): - block += className + '::' + className + '()\n' + block += class_name + '::' + class_name + '()\n' block += '{\n' block += ' // missing code\n' block += '}\n' if self.field('copyCtor'): block += '\n' - block += className + '::' + className + '(const ' + className + ' &other)\n' + block += class_name + '::' + class_name + '(const ' + class_name + ' &other)\n' block += '{\n' block += ' *this = other;\n' block += '}\n' block += '\n' - block += className + ' &' + className + '::operator=(const ' + className + ' &other)\n' + block += class_name + ' &' + class_name + '::operator=(const ' + class_name + ' &other)\n' block += '{\n' - if baseClass: - block += ' ' + baseClass + '::operator=(other);\n' + if base_class: + block += ' ' + base_class + '::operator=(other);\n' block += ' // missing code\n' block += ' return *this;\n' block += '}\n' - implementationFile = QtCore.QFile(outputDir + '/' + implementation) + implementation_file = QtCore.QFile(output_dir + '/' + implementation) - if not implementationFile.open(QtCore.QFile.WriteOnly | QtCore.QFile.Text): - name = implementationFile.fileName() - reason = implementationFile.errorString() + if not implementation_file.open(QtCore.QFile.WriteOnly | QtCore.QFile.Text): + name = implementation_file.fileName() + reason = implementation_file.errorString() QtWidgets.QMessageBox.warning(None, "Class Wizard", f"Cannot write file {name}:\n{reason}") return - implementationFile.write(QtCore.QByteArray(block.encode("utf-8"))) + implementation_file.write(QtCore.QByteArray(block.encode("utf-8"))) super(ClassWizard, self).accept() @@ -218,49 +218,49 @@ class ClassInfoPage(QtWidgets.QWizardPage): self.setPixmap(QtWidgets.QWizard.LogoPixmap, QtGui.QPixmap(':/images/logo1.png')) - classNameLabel = QtWidgets.QLabel("&Class name:") - classNameLineEdit = QtWidgets.QLineEdit() - classNameLabel.setBuddy(classNameLineEdit) + class_name_label = QtWidgets.QLabel("&Class name:") + class_name_line_edit = QtWidgets.QLineEdit() + class_name_label.setBuddy(class_name_line_edit) - baseClassLabel = QtWidgets.QLabel("B&ase class:") - baseClassLineEdit = QtWidgets.QLineEdit() - baseClassLabel.setBuddy(baseClassLineEdit) + base_class_label = QtWidgets.QLabel("B&ase class:") + base_class_line_edit = QtWidgets.QLineEdit() + base_class_label.setBuddy(base_class_line_edit) - qobjectMacroCheckBox = QtWidgets.QCheckBox("Generate Q_OBJECT ¯o") + qobject_macro_check_box = QtWidgets.QCheckBox("Generate Q_OBJECT ¯o") - groupBox = QtWidgets.QGroupBox("C&onstructor") + group_box = QtWidgets.QGroupBox("C&onstructor") - qobjectCtorRadioButton = QtWidgets.QRadioButton("&QObject-style constructor") - qwidgetCtorRadioButton = QtWidgets.QRadioButton("Q&Widget-style constructor") - defaultCtorRadioButton = QtWidgets.QRadioButton("&Default constructor") - copyCtorCheckBox = QtWidgets.QCheckBox("&Generate copy constructor and operator=") + qobject_ctor_radio_button = QtWidgets.QRadioButton("&QObject-style constructor") + qwidget_ctor_radio_button = QtWidgets.QRadioButton("Q&Widget-style constructor") + default_ctor_radio_button = QtWidgets.QRadioButton("&Default constructor") + copy_ctor_check_box = QtWidgets.QCheckBox("&Generate copy constructor and operator=") - defaultCtorRadioButton.setChecked(True) + default_ctor_radio_button.setChecked(True) - defaultCtorRadioButton.toggled.connect(copyCtorCheckBox.setEnabled) + default_ctor_radio_button.toggled.connect(copy_ctor_check_box.setEnabled) - self.registerField('className*', classNameLineEdit) - self.registerField('baseClass', baseClassLineEdit) - self.registerField('qobjectMacro', qobjectMacroCheckBox) - self.registerField('qobjectCtor', qobjectCtorRadioButton) - self.registerField('qwidgetCtor', qwidgetCtorRadioButton) - self.registerField('defaultCtor', defaultCtorRadioButton) - self.registerField('copyCtor', copyCtorCheckBox) + self.registerField('className*', class_name_line_edit) + self.registerField('baseClass', base_class_line_edit) + self.registerField('qobjectMacro', qobject_macro_check_box) + self.registerField('qobjectCtor', qobject_ctor_radio_button) + self.registerField('qwidgetCtor', qwidget_ctor_radio_button) + self.registerField('defaultCtor', default_ctor_radio_button) + self.registerField('copyCtor', copy_ctor_check_box) - groupBoxLayout = QtWidgets.QVBoxLayout() - groupBoxLayout.addWidget(qobjectCtorRadioButton) - groupBoxLayout.addWidget(qwidgetCtorRadioButton) - groupBoxLayout.addWidget(defaultCtorRadioButton) - groupBoxLayout.addWidget(copyCtorCheckBox) - groupBox.setLayout(groupBoxLayout) + group_box_layout = QtWidgets.QVBoxLayout() + group_box_layout.addWidget(qobject_ctor_radio_button) + group_box_layout.addWidget(qwidget_ctor_radio_button) + group_box_layout.addWidget(default_ctor_radio_button) + group_box_layout.addWidget(copy_ctor_check_box) + group_box.setLayout(group_box_layout) layout = QtWidgets.QGridLayout() - layout.addWidget(classNameLabel, 0, 0) - layout.addWidget(classNameLineEdit, 0, 1) - layout.addWidget(baseClassLabel, 1, 0) - layout.addWidget(baseClassLineEdit, 1, 1) - layout.addWidget(qobjectMacroCheckBox, 2, 0, 1, 2) - layout.addWidget(groupBox, 3, 0, 1, 2) + layout.addWidget(class_name_label, 0, 0) + layout.addWidget(class_name_line_edit, 0, 1) + layout.addWidget(base_class_label, 1, 0) + layout.addWidget(base_class_line_edit, 1, 1) + layout.addWidget(qobject_macro_check_box, 2, 0, 1, 2) + layout.addWidget(group_box, 3, 0, 1, 2) self.setLayout(layout) @@ -273,64 +273,64 @@ class CodeStylePage(QtWidgets.QWizardPage): self.setPixmap(QtWidgets.QWizard.LogoPixmap, QtGui.QPixmap(':/images/logo2.png')) - commentCheckBox = QtWidgets.QCheckBox("&Start generated files with a " + comment_check_box = QtWidgets.QCheckBox("&Start generated files with a " "comment") - commentCheckBox.setChecked(True) + comment_check_box.setChecked(True) - protectCheckBox = QtWidgets.QCheckBox("&Protect header file against " + protect_check_box = QtWidgets.QCheckBox("&Protect header file against " "multiple inclusions") - protectCheckBox.setChecked(True) + protect_check_box.setChecked(True) - macroNameLabel = QtWidgets.QLabel("&Macro name:") - self.macroNameLineEdit = QtWidgets.QLineEdit() - macroNameLabel.setBuddy(self.macroNameLineEdit) + macro_name_label = QtWidgets.QLabel("&Macro name:") + self._macro_name_line_edit = QtWidgets.QLineEdit() + macro_name_label.setBuddy(self._macro_name_line_edit) - self.includeBaseCheckBox = QtWidgets.QCheckBox("&Include base class " + self._include_base_check_box = QtWidgets.QCheckBox("&Include base class " "definition") - self.baseIncludeLabel = QtWidgets.QLabel("Base class include:") - self.baseIncludeLineEdit = QtWidgets.QLineEdit() - self.baseIncludeLabel.setBuddy(self.baseIncludeLineEdit) + self._base_include_label = QtWidgets.QLabel("Base class include:") + self._base_include_line_edit = QtWidgets.QLineEdit() + self._base_include_label.setBuddy(self._base_include_line_edit) - protectCheckBox.toggled.connect(macroNameLabel.setEnabled) - protectCheckBox.toggled.connect(self.macroNameLineEdit.setEnabled) - self.includeBaseCheckBox.toggled.connect(self.baseIncludeLabel.setEnabled) - self.includeBaseCheckBox.toggled.connect(self.baseIncludeLineEdit.setEnabled) + protect_check_box.toggled.connect(macro_name_label.setEnabled) + protect_check_box.toggled.connect(self._macro_name_line_edit.setEnabled) + self._include_base_check_box.toggled.connect(self._base_include_label.setEnabled) + self._include_base_check_box.toggled.connect(self._base_include_line_edit.setEnabled) - self.registerField('comment', commentCheckBox) - self.registerField('protect', protectCheckBox) - self.registerField('macroName', self.macroNameLineEdit) - self.registerField('includeBase', self.includeBaseCheckBox) - self.registerField('baseInclude', self.baseIncludeLineEdit) + self.registerField('comment', comment_check_box) + self.registerField('protect', protect_check_box) + self.registerField('macroName', self._macro_name_line_edit) + self.registerField('includeBase', self._include_base_check_box) + self.registerField('baseInclude', self._base_include_line_edit) layout = QtWidgets.QGridLayout() layout.setColumnMinimumWidth(0, 20) - layout.addWidget(commentCheckBox, 0, 0, 1, 3) - layout.addWidget(protectCheckBox, 1, 0, 1, 3) - layout.addWidget(macroNameLabel, 2, 1) - layout.addWidget(self.macroNameLineEdit, 2, 2) - layout.addWidget(self.includeBaseCheckBox, 3, 0, 1, 3) - layout.addWidget(self.baseIncludeLabel, 4, 1) - layout.addWidget(self.baseIncludeLineEdit, 4, 2) + layout.addWidget(comment_check_box, 0, 0, 1, 3) + layout.addWidget(protect_check_box, 1, 0, 1, 3) + layout.addWidget(macro_name_label, 2, 1) + layout.addWidget(self._macro_name_line_edit, 2, 2) + layout.addWidget(self._include_base_check_box, 3, 0, 1, 3) + layout.addWidget(self._base_include_label, 4, 1) + layout.addWidget(self._base_include_line_edit, 4, 2) self.setLayout(layout) def initializePage(self): - className = self.field('className') - self.macroNameLineEdit.setText(className.upper() + "_H") + class_name = self.field('className') + self._macro_name_line_edit.setText(class_name.upper() + "_H") - baseClass = self.field('baseClass') - is_baseClass = bool(baseClass) + base_class = self.field('baseClass') + is_baseClass = bool(base_class) - self.includeBaseCheckBox.setChecked(is_baseClass) - self.includeBaseCheckBox.setEnabled(is_baseClass) - self.baseIncludeLabel.setEnabled(is_baseClass) - self.baseIncludeLineEdit.setEnabled(is_baseClass) + self._include_base_check_box.setChecked(is_baseClass) + self._include_base_check_box.setEnabled(is_baseClass) + self._base_include_label.setEnabled(is_baseClass) + self._base_include_line_edit.setEnabled(is_baseClass) if not is_baseClass: - self.baseIncludeLineEdit.clear() - elif QtCore.QRegularExpression('^Q[A-Z].*$').match(baseClass).hasMatch(): - self.baseIncludeLineEdit.setText('<' + baseClass + '>') + self._base_include_line_edit.clear() + elif QtCore.QRegularExpression('^Q[A-Z].*$').match(base_class).hasMatch(): + self._base_include_line_edit.setText('<' + base_class + '>') else: - self.baseIncludeLineEdit.setText('"' + baseClass.lower() + '.h"') + self._base_include_line_edit.setText('"' + base_class.lower() + '.h"') class OutputFilesPage(QtWidgets.QWizardPage): @@ -343,36 +343,36 @@ class OutputFilesPage(QtWidgets.QWizardPage): self.setPixmap(QtWidgets.QWizard.LogoPixmap, QtGui.QPixmap(':/images/logo3.png')) - outputDirLabel = QtWidgets.QLabel("&Output directory:") - self.outputDirLineEdit = QtWidgets.QLineEdit() - outputDirLabel.setBuddy(self.outputDirLineEdit) + output_dir_label = QtWidgets.QLabel("&Output directory:") + self._output_dir_line_edit = QtWidgets.QLineEdit() + output_dir_label.setBuddy(self._output_dir_line_edit) - headerLabel = QtWidgets.QLabel("&Header file name:") - self.headerLineEdit = QtWidgets.QLineEdit() - headerLabel.setBuddy(self.headerLineEdit) + header_label = QtWidgets.QLabel("&Header file name:") + self._header_line_edit = QtWidgets.QLineEdit() + header_label.setBuddy(self._header_line_edit) - implementationLabel = QtWidgets.QLabel("&Implementation file name:") - self.implementationLineEdit = QtWidgets.QLineEdit() - implementationLabel.setBuddy(self.implementationLineEdit) + implementation_label = QtWidgets.QLabel("&Implementation file name:") + self._implementation_line_edit = QtWidgets.QLineEdit() + implementation_label.setBuddy(self._implementation_line_edit) - self.registerField('outputDir*', self.outputDirLineEdit) - self.registerField('header*', self.headerLineEdit) - self.registerField('implementation*', self.implementationLineEdit) + self.registerField('outputDir*', self._output_dir_line_edit) + self.registerField('header*', self._header_line_edit) + self.registerField('implementation*', self._implementation_line_edit) layout = QtWidgets.QGridLayout() - layout.addWidget(outputDirLabel, 0, 0) - layout.addWidget(self.outputDirLineEdit, 0, 1) - layout.addWidget(headerLabel, 1, 0) - layout.addWidget(self.headerLineEdit, 1, 1) - layout.addWidget(implementationLabel, 2, 0) - layout.addWidget(self.implementationLineEdit, 2, 1) + layout.addWidget(output_dir_label, 0, 0) + layout.addWidget(self._output_dir_line_edit, 0, 1) + layout.addWidget(header_label, 1, 0) + layout.addWidget(self._header_line_edit, 1, 1) + layout.addWidget(implementation_label, 2, 0) + layout.addWidget(self._implementation_line_edit, 2, 1) self.setLayout(layout) def initializePage(self): - className = self.field('className') - self.headerLineEdit.setText(className.lower() + '.h') - self.implementationLineEdit.setText(className.lower() + '.cpp') - self.outputDirLineEdit.setText(QtCore.QDir.toNativeSeparators(QtCore.QDir.tempPath())) + class_name = self.field('className') + self._header_line_edit.setText(class_name.lower() + '.h') + self._implementation_line_edit.setText(class_name.lower() + '.cpp') + self._output_dir_line_edit.setText(QtCore.QDir.toNativeSeparators(QtCore.QDir.tempPath())) class ConclusionPage(QtWidgets.QWizardPage): @@ -391,9 +391,9 @@ class ConclusionPage(QtWidgets.QWizardPage): self.setLayout(layout) def initializePage(self): - finishText = self.wizard().buttonText(QtWidgets.QWizard.FinishButton) - finishText.replace('&', '') - self.label.setText(f"Click {finishText} to generate the class skeleton.") + finish_text = self.wizard().buttonText(QtWidgets.QWizard.FinishButton) + finish_text.replace('&', '') + self.label.setText(f"Click {finish_text} to generate the class skeleton.") if __name__ == '__main__': diff --git a/examples/widgets/dialogs/extension/extension.py b/examples/widgets/dialogs/extension/extension.py index 891e55533..678a38168 100644 --- a/examples/widgets/dialogs/extension/extension.py +++ b/examples/widgets/dialogs/extension/extension.py @@ -50,55 +50,55 @@ class FindDialog(QtWidgets.QDialog): super(FindDialog, self).__init__(parent) label = QtWidgets.QLabel("Find &what:") - lineEdit = QtWidgets.QLineEdit() - label.setBuddy(lineEdit) + line_edit = QtWidgets.QLineEdit() + label.setBuddy(line_edit) - caseCheckBox = QtWidgets.QCheckBox("Match &case") - fromStartCheckBox = QtWidgets.QCheckBox("Search from &start") - fromStartCheckBox.setChecked(True) + case_check_box = QtWidgets.QCheckBox("Match &case") + from_start_check_box = QtWidgets.QCheckBox("Search from &start") + from_start_check_box.setChecked(True) - findButton = QtWidgets.QPushButton("&Find") - findButton.setDefault(True) + find_button = QtWidgets.QPushButton("&Find") + find_button.setDefault(True) - moreButton = QtWidgets.QPushButton("&More") - moreButton.setCheckable(True) - moreButton.setAutoDefault(False) + more_button = QtWidgets.QPushButton("&More") + more_button.setCheckable(True) + more_button.setAutoDefault(False) - buttonBox = QtWidgets.QDialogButtonBox(QtCore.Qt.Vertical) - buttonBox.addButton(findButton, QtWidgets.QDialogButtonBox.ActionRole) - buttonBox.addButton(moreButton, QtWidgets.QDialogButtonBox.ActionRole) + button_box = QtWidgets.QDialogButtonBox(QtCore.Qt.Vertical) + button_box.addButton(find_button, QtWidgets.QDialogButtonBox.ActionRole) + button_box.addButton(more_button, QtWidgets.QDialogButtonBox.ActionRole) extension = QtWidgets.QWidget() - wholeWordsCheckBox = QtWidgets.QCheckBox("&Whole words") - backwardCheckBox = QtWidgets.QCheckBox("Search &backward") - searchSelectionCheckBox = QtWidgets.QCheckBox("Search se&lection") - - moreButton.toggled.connect(extension.setVisible) - - extensionLayout = QtWidgets.QVBoxLayout() - extensionLayout.setContentsMargins(0, 0, 0, 0) - extensionLayout.addWidget(wholeWordsCheckBox) - extensionLayout.addWidget(backwardCheckBox) - extensionLayout.addWidget(searchSelectionCheckBox) - extension.setLayout(extensionLayout) - - topLeftLayout = QtWidgets.QHBoxLayout() - topLeftLayout.addWidget(label) - topLeftLayout.addWidget(lineEdit) - - leftLayout = QtWidgets.QVBoxLayout() - leftLayout.addLayout(topLeftLayout) - leftLayout.addWidget(caseCheckBox) - leftLayout.addWidget(fromStartCheckBox) - leftLayout.addStretch(1) - - mainLayout = QtWidgets.QGridLayout() - mainLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize) - mainLayout.addLayout(leftLayout, 0, 0) - mainLayout.addWidget(buttonBox, 0, 1) - mainLayout.addWidget(extension, 1, 0, 1, 2) - self.setLayout(mainLayout) + whole_words_check_box = QtWidgets.QCheckBox("&Whole words") + backward_check_box = QtWidgets.QCheckBox("Search &backward") + search_selection_check_box = QtWidgets.QCheckBox("Search se&lection") + + more_button.toggled.connect(extension.setVisible) + + extension_layout = QtWidgets.QVBoxLayout() + extension_layout.setContentsMargins(0, 0, 0, 0) + extension_layout.addWidget(whole_words_check_box) + extension_layout.addWidget(backward_check_box) + extension_layout.addWidget(search_selection_check_box) + extension.setLayout(extension_layout) + + top_left_layout = QtWidgets.QHBoxLayout() + top_left_layout.addWidget(label) + top_left_layout.addWidget(line_edit) + + left_layout = QtWidgets.QVBoxLayout() + left_layout.addLayout(top_left_layout) + left_layout.addWidget(case_check_box) + left_layout.addWidget(from_start_check_box) + left_layout.addStretch(1) + + main_layout = QtWidgets.QGridLayout() + main_layout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize) + main_layout.addLayout(left_layout, 0, 0) + main_layout.addWidget(button_box, 0, 1) + main_layout.addWidget(extension, 1, 0, 1, 2) + self.setLayout(main_layout) self.setWindowTitle("Extension") extension.hide() diff --git a/examples/widgets/dialogs/findfiles/findfiles.py b/examples/widgets/dialogs/findfiles/findfiles.py index 50432e7ed..365d75377 100644 --- a/examples/widgets/dialogs/findfiles/findfiles.py +++ b/examples/widgets/dialogs/findfiles/findfiles.py @@ -49,36 +49,36 @@ class Window(QtWidgets.QDialog): def __init__(self, parent=None): super(Window, self).__init__(parent) - self.browseButton = self.createButton("&Browse...", self.browse) - self.findButton = self.createButton("&Find", self.find) - - self.fileComboBox = self.createComboBox("*") - self.textComboBox = self.createComboBox() - self.directoryComboBox = self.createComboBox(QtCore.QDir.currentPath()) - - fileLabel = QtWidgets.QLabel("Named:") - textLabel = QtWidgets.QLabel("Containing text:") - directoryLabel = QtWidgets.QLabel("In directory:") - self.filesFoundLabel = QtWidgets.QLabel() - - self.createFilesTable() - - buttonsLayout = QtWidgets.QHBoxLayout() - buttonsLayout.addStretch() - buttonsLayout.addWidget(self.findButton) - - mainLayout = QtWidgets.QGridLayout() - mainLayout.addWidget(fileLabel, 0, 0) - mainLayout.addWidget(self.fileComboBox, 0, 1, 1, 2) - mainLayout.addWidget(textLabel, 1, 0) - mainLayout.addWidget(self.textComboBox, 1, 1, 1, 2) - mainLayout.addWidget(directoryLabel, 2, 0) - mainLayout.addWidget(self.directoryComboBox, 2, 1) - mainLayout.addWidget(self.browseButton, 2, 2) - mainLayout.addWidget(self.filesTable, 3, 0, 1, 3) - mainLayout.addWidget(self.filesFoundLabel, 4, 0) - mainLayout.addLayout(buttonsLayout, 5, 0, 1, 3) - self.setLayout(mainLayout) + self._browse_button = self.create_button("&Browse...", self.browse) + self._find_button = self.create_button("&Find", self.find) + + self._file_combo_box = self.create_combo_box("*") + self._text_combo_box = self.create_combo_box() + self._directory_combo_box = self.create_combo_box(QtCore.QDir.currentPath()) + + file_label = QtWidgets.QLabel("Named:") + text_label = QtWidgets.QLabel("Containing text:") + directory_label = QtWidgets.QLabel("In directory:") + self._files_found_label = QtWidgets.QLabel() + + self.create_files_table() + + buttons_layout = QtWidgets.QHBoxLayout() + buttons_layout.addStretch() + buttons_layout.addWidget(self._find_button) + + main_layout = QtWidgets.QGridLayout() + main_layout.addWidget(file_label, 0, 0) + main_layout.addWidget(self._file_combo_box, 0, 1, 1, 2) + main_layout.addWidget(text_label, 1, 0) + main_layout.addWidget(self._text_combo_box, 1, 1, 1, 2) + main_layout.addWidget(directory_label, 2, 0) + main_layout.addWidget(self._directory_combo_box, 2, 1) + main_layout.addWidget(self._browse_button, 2, 2) + main_layout.addWidget(self._files_table, 3, 0, 1, 3) + main_layout.addWidget(self._files_found_label, 4, 0) + main_layout.addLayout(buttons_layout, 5, 0, 1, 3) + self.setLayout(main_layout) self.setWindowTitle("Find Files") self.resize(500, 300) @@ -88,119 +88,119 @@ class Window(QtWidgets.QDialog): QtCore.QDir.currentPath()) if directory: - if self.directoryComboBox.findText(directory) == -1: - self.directoryComboBox.addItem(directory) + if self._directory_combo_box.findText(directory) == -1: + self._directory_combo_box.addItem(directory) - self.directoryComboBox.setCurrentIndex(self.directoryComboBox.findText(directory)) + self._directory_combo_box.setCurrentIndex(self._directory_combo_box.findText(directory)) @staticmethod - def updateComboBox(comboBox): + def update_combo_box(comboBox): if comboBox.findText(comboBox.currentText()) == -1: comboBox.addItem(comboBox.currentText()) def find(self): - self.filesTable.setRowCount(0) + self._files_table.setRowCount(0) - fileName = self.fileComboBox.currentText() - text = self.textComboBox.currentText() - path = self.directoryComboBox.currentText() + file_name = self._file_combo_box.currentText() + text = self._text_combo_box.currentText() + path = self._directory_combo_box.currentText() - self.updateComboBox(self.fileComboBox) - self.updateComboBox(self.textComboBox) - self.updateComboBox(self.directoryComboBox) + self.update_combo_box(self._file_combo_box) + self.update_combo_box(self._text_combo_box) + self.update_combo_box(self._directory_combo_box) - self.currentDir = QtCore.QDir(path) - if not fileName: - fileName = "*" - files = self.currentDir.entryList([fileName], + self._current_dir = QtCore.QDir(path) + if not file_name: + file_name = "*" + files = self._current_dir.entryList([file_name], QtCore.QDir.Files | QtCore.QDir.NoSymLinks) if text: - files = self.findFiles(files, text) - self.showFiles(files) + files = self.find_files(files, text) + self.show_files(files) - def findFiles(self, files, text): - progressDialog = QtWidgets.QProgressDialog(self) + def find_files(self, files, text): + progress_dialog = QtWidgets.QProgressDialog(self) - progressDialog.setCancelButtonText("&Cancel") - progressDialog.setRange(0, len(files)) - progressDialog.setWindowTitle("Find Files") + progress_dialog.setCancelButtonText("&Cancel") + progress_dialog.setRange(0, len(files)) + progress_dialog.setWindowTitle("Find Files") - foundFiles = [] + found_files = [] for i in range(len(files)): - progressDialog.setValue(i) + progress_dialog.setValue(i) n = len(files) - progressDialog.setLabelText(f"Searching file number {i} of {n}...") + progress_dialog.setLabelText(f"Searching file number {i} of {n}...") QtCore.QCoreApplication.processEvents() - if progressDialog.wasCanceled(): + if progress_dialog.wasCanceled(): break - inFile = QtCore.QFile(self.currentDir.absoluteFilePath(files[i])) + in_file = QtCore.QFile(self._current_dir.absoluteFilePath(files[i])) - if inFile.open(QtCore.QIODevice.ReadOnly): - stream = QtCore.QTextStream(inFile) + if in_file.open(QtCore.QIODevice.ReadOnly): + stream = QtCore.QTextStream(in_file) while not stream.atEnd(): - if progressDialog.wasCanceled(): + if progress_dialog.wasCanceled(): break line = stream.readLine() if text in line: - foundFiles.append(files[i]) + found_files.append(files[i]) break - progressDialog.close() + progress_dialog.close() - return foundFiles + return found_files - def showFiles(self, files): + def show_files(self, files): for fn in files: - file = QtCore.QFile(self.currentDir.absoluteFilePath(fn)) + file = QtCore.QFile(self._current_dir.absoluteFilePath(fn)) size = QtCore.QFileInfo(file).size() - fileNameItem = QtWidgets.QTableWidgetItem(fn) - fileNameItem.setFlags(fileNameItem.flags() ^ QtCore.Qt.ItemIsEditable) + file_name_item = QtWidgets.QTableWidgetItem(fn) + file_name_item.setFlags(file_name_item.flags() ^ QtCore.Qt.ItemIsEditable) size_kb = int((size + 1023) / 1024) - sizeItem = QtWidgets.QTableWidgetItem(f"{size_kb} KB") - sizeItem.setTextAlignment(QtCore.Qt.AlignVCenter | QtCore.Qt.AlignRight) - sizeItem.setFlags(sizeItem.flags() ^ QtCore.Qt.ItemIsEditable) + size_item = QtWidgets.QTableWidgetItem(f"{size_kb} KB") + size_item.setTextAlignment(QtCore.Qt.AlignVCenter | QtCore.Qt.AlignRight) + size_item.setFlags(size_item.flags() ^ QtCore.Qt.ItemIsEditable) - row = self.filesTable.rowCount() - self.filesTable.insertRow(row) - self.filesTable.setItem(row, 0, fileNameItem) - self.filesTable.setItem(row, 1, sizeItem) + row = self._files_table.rowCount() + self._files_table.insertRow(row) + self._files_table.setItem(row, 0, file_name_item) + self._files_table.setItem(row, 1, size_item) n = len(files) - self.filesFoundLabel.setText(f"{n} file(s) found (Double click on a file to open it)") + self._files_found_label.setText(f"{n} file(s) found (Double click on a file to open it)") - def createButton(self, text, member): + def create_button(self, text, member): button = QtWidgets.QPushButton(text) button.clicked.connect(member) return button - def createComboBox(self, text=""): - comboBox = QtWidgets.QComboBox() - comboBox.setEditable(True) - comboBox.addItem(text) - comboBox.setSizePolicy(QtWidgets.QSizePolicy.Expanding, + def create_combo_box(self, text=""): + combo_box = QtWidgets.QComboBox() + combo_box.setEditable(True) + combo_box.addItem(text) + combo_box.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred) - return comboBox + return combo_box - def createFilesTable(self): - self.filesTable = QtWidgets.QTableWidget(0, 2) - self.filesTable.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows) + def create_files_table(self): + self._files_table = QtWidgets.QTableWidget(0, 2) + self._files_table.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows) - self.filesTable.setHorizontalHeaderLabels(("File Name", "Size")) - self.filesTable.horizontalHeader().setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) - self.filesTable.verticalHeader().hide() - self.filesTable.setShowGrid(False) + self._files_table.setHorizontalHeaderLabels(("File Name", "Size")) + self._files_table.horizontalHeader().setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch) + self._files_table.verticalHeader().hide() + self._files_table.setShowGrid(False) - self.filesTable.cellActivated.connect(self.openFileOfItem) + self._files_table.cellActivated.connect(self.open_file_of_item) - def openFileOfItem(self, row, column): - item = self.filesTable.item(row, 0) + def open_file_of_item(self, row, column): + item = self._files_table.item(row, 0) - QtGui.QDesktopServices.openUrl(QtCore.QUrl(self.currentDir.absoluteFilePath(item.text()))) + QtGui.QDesktopServices.openUrl(QtCore.QUrl(self._current_dir.absoluteFilePath(item.text()))) if __name__ == '__main__': diff --git a/examples/widgets/dialogs/trivialwizard/trivialwizard.py b/examples/widgets/dialogs/trivialwizard/trivialwizard.py index 88b8e97b8..30b7f59b0 100644 --- a/examples/widgets/dialogs/trivialwizard/trivialwizard.py +++ b/examples/widgets/dialogs/trivialwizard/trivialwizard.py @@ -45,7 +45,7 @@ from PySide6 import QtWidgets -def createIntroPage(): +def create_intro_page(): page = QtWidgets.QWizardPage() page.setTitle("Introduction") @@ -60,28 +60,28 @@ def createIntroPage(): return page -def createRegistrationPage(): +def create_registration_page(): page = QtWidgets.QWizardPage() page.setTitle("Registration") page.setSubTitle("Please fill both fields.") - nameLabel = QtWidgets.QLabel("Name:") - nameLineEdit = QtWidgets.QLineEdit() + name_label = QtWidgets.QLabel("Name:") + name_line_edit = QtWidgets.QLineEdit() - emailLabel = QtWidgets.QLabel("Email address:") - emailLineEdit = QtWidgets.QLineEdit() + email_label = QtWidgets.QLabel("Email address:") + email_line_edit = QtWidgets.QLineEdit() layout = QtWidgets.QGridLayout() - layout.addWidget(nameLabel, 0, 0) - layout.addWidget(nameLineEdit, 0, 1) - layout.addWidget(emailLabel, 1, 0) - layout.addWidget(emailLineEdit, 1, 1) + layout.addWidget(name_label, 0, 0) + layout.addWidget(name_line_edit, 0, 1) + layout.addWidget(email_label, 1, 0) + layout.addWidget(email_line_edit, 1, 1) page.setLayout(layout) return page -def createConclusionPage(): +def create_conclusion_page(): page = QtWidgets.QWizardPage() page.setTitle("Conclusion") @@ -102,9 +102,9 @@ if __name__ == '__main__': app = QtWidgets.QApplication(sys.argv) wizard = QtWidgets.QWizard() - wizard.addPage(createIntroPage()) - wizard.addPage(createRegistrationPage()) - wizard.addPage(createConclusionPage()) + wizard.addPage(create_intro_page()) + wizard.addPage(create_registration_page()) + wizard.addPage(create_conclusion_page()) wizard.setWindowTitle("Trivial Wizard") wizard.show() diff --git a/examples/widgets/draganddrop/draggabletext/draggabletext.py b/examples/widgets/draganddrop/draggabletext/draggabletext.py index 16e02cb90..5da27c450 100644 --- a/examples/widgets/draganddrop/draggabletext/draggabletext.py +++ b/examples/widgets/draganddrop/draggabletext/draggabletext.py @@ -58,25 +58,25 @@ class DragLabel(QLabel): self.setFrameShadow(QFrame.Raised) def mousePressEvent(self, event): - hotSpot = event.position().toPoint() + hot_spot = event.position().toPoint() - mimeData = QMimeData() - mimeData.setText(self.text()) - hx = hotSpot.x() - hy = hotSpot.y() - mimeData.setData('application/x-hotspot', f'{hx} {hy}'.encode('utf-8')) + mime_data = QMimeData() + mime_data.setText(self.text()) + hx = hot_spot.x() + hy = hot_spot.y() + mime_data.setData('application/x-hotspot', f'{hx} {hy}'.encode('utf-8')) pixmap = QPixmap(self.size()) self.render(pixmap) drag = QDrag(self) - drag.setMimeData(mimeData) + drag.setMimeData(mime_data) drag.setPixmap(pixmap) - drag.setHotSpot(hotSpot) + drag.setHotSpot(hot_spot) - dropAction = drag.exec_(Qt.CopyAction | Qt.MoveAction, Qt.CopyAction) + drop_action = drag.exec_(Qt.CopyAction | Qt.MoveAction, Qt.CopyAction) - if dropAction == Qt.MoveAction: + if drop_action == Qt.MoveAction: self.close() self.update() @@ -85,24 +85,24 @@ class DragWidget(QWidget): def __init__(self, parent=None): super(DragWidget, self).__init__(parent) - dictionaryFile = QFile(':/dictionary/words.txt') - dictionaryFile.open(QIODevice.ReadOnly) + dictionary_file = QFile(':/dictionary/words.txt') + dictionary_file.open(QIODevice.ReadOnly) x = 5 y = 5 - for word in QTextStream(dictionaryFile).readAll().split(): - wordLabel = DragLabel(word, self) - wordLabel.move(x, y) - wordLabel.show() - x += wordLabel.width() + 2 + for word in QTextStream(dictionary_file).readAll().split(): + word_label = DragLabel(word, self) + word_label.move(x, y) + word_label.show() + x += word_label.width() + 2 if x >= 195: x = 5 - y += wordLabel.height() + 2 + y += word_label.height() + 2 - newPalette = self.palette() - newPalette.setColor(QPalette.Window, Qt.white) - self.setPalette(newPalette) + new_palette = self.palette() + new_palette.setColor(QPalette.Window, Qt.white) + self.setPalette(new_palette) self.setAcceptDrops(True) self.setMinimumSize(400, max(200, y)) @@ -123,19 +123,19 @@ class DragWidget(QWidget): mime = event.mimeData() pieces = mime.text().split() position = event.position().toPoint() - hotSpot = QPoint() + hot_spot = QPoint() - hotSpotPos = mime.data('application/x-hotspot').split(' ') - if len(hotSpotPos) == 2: - hotSpot.setX(hotSpotPos[0].toInt()[0]) - hotSpot.setY(hotSpotPos[1].toInt()[0]) + hot_spot_pos = mime.data('application/x-hotspot').split(' ') + if len(hot_spot_pos) == 2: + hot_spot.setX(hot_spot_pos[0].toInt()[0]) + hot_spot.setY(hot_spot_pos[1].toInt()[0]) for piece in pieces: - newLabel = DragLabel(piece, self) - newLabel.move(position - hotSpot) - newLabel.show() + new_label = DragLabel(piece, self) + new_label.move(position - hot_spot) + new_label.show() - position += QPoint(newLabel.width(), 0) + position += QPoint(new_label.width(), 0) if event.source() in self.children(): event.setDropAction(Qt.MoveAction) diff --git a/examples/widgets/effects/lighting.py b/examples/widgets/effects/lighting.py index 6e72754ca..cbaffb325 100644 --- a/examples/widgets/effects/lighting.py +++ b/examples/widgets/effects/lighting.py @@ -56,7 +56,7 @@ class Lighting(QtWidgets.QGraphicsView): self.setScene(self.m_scene) - self.setupScene() + self.setup_scene() timer = QtCore.QTimer(self) timer.timeout.connect(self.animate) @@ -66,26 +66,26 @@ class Lighting(QtWidgets.QGraphicsView): self.setRenderHint(QtGui.QPainter.Antialiasing) self.setFrameStyle(QtWidgets.QFrame.NoFrame) - def setupScene(self): + def setup_scene(self): self.m_scene.setSceneRect(-300, -200, 600, 460) - linearGrad = QtGui.QLinearGradient(QtCore.QPointF(-100, -100), + linear_grad = QtGui.QLinearGradient(QtCore.QPointF(-100, -100), QtCore.QPointF(100, 100)) - linearGrad.setColorAt(0, QtGui.QColor(255, 255, 255)) - linearGrad.setColorAt(1, QtGui.QColor(192, 192, 255)) - self.setBackgroundBrush(linearGrad) + linear_grad.setColorAt(0, QtGui.QColor(255, 255, 255)) + linear_grad.setColorAt(1, QtGui.QColor(192, 192, 255)) + self.setBackgroundBrush(linear_grad) - radialGrad = QtGui.QRadialGradient(30, 30, 30) - radialGrad.setColorAt(0, QtCore.Qt.yellow) - radialGrad.setColorAt(0.2, QtCore.Qt.yellow) - radialGrad.setColorAt(1, QtCore.Qt.transparent) + radial_grad = QtGui.QRadialGradient(30, 30, 30) + radial_grad.setColorAt(0, QtCore.Qt.yellow) + radial_grad.setColorAt(0.2, QtCore.Qt.yellow) + radial_grad.setColorAt(1, QtCore.Qt.transparent) pixmap = QtGui.QPixmap(60, 60) pixmap.fill(QtCore.Qt.transparent) painter = QtGui.QPainter(pixmap) painter.setPen(QtCore.Qt.NoPen) - painter.setBrush(radialGrad) + painter.setBrush(radial_grad) painter.drawEllipse(0, 0, 60, 60) painter.end() diff --git a/examples/widgets/gallery/widgetgallery.py b/examples/widgets/gallery/widgetgallery.py index fe70dba52..d46095386 100644 --- a/examples/widgets/gallery/widgetgallery.py +++ b/examples/widgets/gallery/widgetgallery.py @@ -281,16 +281,16 @@ class WidgetGallery(QDialog): checkbox.setTristate(True) checkbox.setCheckState(Qt.PartiallyChecked) - checkableLayout = QVBoxLayout() - checkableLayout.addWidget(radiobutton_1) - checkableLayout.addWidget(radiobutton_2) - checkableLayout.addWidget(radiobutton_3) - checkableLayout.addWidget(checkbox) - checkableLayout.addStretch(1) + checkable_layout = QVBoxLayout() + checkable_layout.addWidget(radiobutton_1) + checkable_layout.addWidget(radiobutton_2) + checkable_layout.addWidget(radiobutton_3) + checkable_layout.addWidget(checkbox) + checkable_layout.addStretch(1) main_layout = QHBoxLayout(result) main_layout.addLayout(button_layout) - main_layout.addLayout(checkableLayout) + main_layout.addLayout(checkable_layout) main_layout.addStretch() return result diff --git a/examples/widgets/graphicsview/anchorlayout/anchorlayout.py b/examples/widgets/graphicsview/anchorlayout/anchorlayout.py index 0b1ec0a03..f5579ec99 100644 --- a/examples/widgets/graphicsview/anchorlayout/anchorlayout.py +++ b/examples/widgets/graphicsview/anchorlayout/anchorlayout.py @@ -43,7 +43,7 @@ from PySide6 import QtCore, QtWidgets -def createItem(minimum, preferred, maximum, name): +def create_item(minimum, preferred, maximum, name): w = QtWidgets.QGraphicsProxyWidget() w.setWidget(QtWidgets.QPushButton(name)) @@ -64,17 +64,17 @@ if __name__ == '__main__': scene = QtWidgets.QGraphicsScene() scene.setSceneRect(0, 0, 800, 480) - minSize = QtCore.QSizeF(30, 100) - prefSize = QtCore.QSizeF(210, 100) - maxSize = QtCore.QSizeF(300, 100) - - a = createItem(minSize, prefSize, maxSize, "A") - b = createItem(minSize, prefSize, maxSize, "B") - c = createItem(minSize, prefSize, maxSize, "C") - d = createItem(minSize, prefSize, maxSize, "D") - e = createItem(minSize, prefSize, maxSize, "E") - f = createItem(QtCore.QSizeF(30, 50), QtCore.QSizeF(150, 50), maxSize, "F") - g = createItem(QtCore.QSizeF(30, 50), QtCore.QSizeF(30, 100), maxSize, "G") + min_size = QtCore.QSizeF(30, 100) + pref_size = QtCore.QSizeF(210, 100) + max_size = QtCore.QSizeF(300, 100) + + a = create_item(min_size, pref_size, max_size, "A") + b = create_item(min_size, pref_size, max_size, "B") + c = create_item(min_size, pref_size, max_size, "C") + d = create_item(min_size, pref_size, max_size, "D") + e = create_item(min_size, pref_size, max_size, "E") + f = create_item(QtCore.QSizeF(30, 50), QtCore.QSizeF(150, 50), max_size, "F") + g = create_item(QtCore.QSizeF(30, 50), QtCore.QSizeF(30, 100), max_size, "G") l = QtWidgets.QGraphicsAnchorLayout() l.setSpacing(0) diff --git a/examples/widgets/graphicsview/diagramscene/diagramscene.py b/examples/widgets/graphicsview/diagramscene/diagramscene.py index af50cd6b2..d2c7f3383 100644 --- a/examples/widgets/graphicsview/diagramscene/diagramscene.py +++ b/examples/widgets/graphicsview/diagramscene/diagramscene.py @@ -51,23 +51,23 @@ class Arrow(QtWidgets.QGraphicsLineItem): def __init__(self, startItem, endItem, parent=None, scene=None): super(Arrow, self).__init__(parent, scene) - self.arrowHead = QtGui.QPolygonF() + self._arrow_head = QtGui.QPolygonF() - self.myStartItem = startItem - self.myEndItem = endItem + self._my_start_item = startItem + self._my_end_item = endItem self.setFlag(QtWidgets.QGraphicsItem.ItemIsSelectable, True) - self.myColor = QtCore.Qt.black - self.setPen(QtGui.QPen(self.myColor, 2, QtCore.Qt.SolidLine, + self._my_color = QtCore.Qt.black + self.setPen(QtGui.QPen(self._my_color, 2, QtCore.Qt.SolidLine, QtCore.Qt.RoundCap, QtCore.Qt.RoundJoin)) - def setColor(self, color): - self.myColor = color + def set_color(self, color): + self._my_color = color - def startItem(self): - return self.myStartItem + def start_item(self): + return self._my_start_item - def endItem(self): - return self.myEndItem + def end_item(self): + return self._my_end_item def boundingRect(self): extra = (self.pen().width() + 20) / 2.0 @@ -77,70 +77,70 @@ class Arrow(QtWidgets.QGraphicsLineItem): def shape(self): path = super(Arrow, self).shape() - path.addPolygon(self.arrowHead) + path.addPolygon(self._arrow_head) return path - def updatePosition(self): - line = QtCore.QLineF(self.mapFromItem(self.myStartItem, 0, 0), self.mapFromItem(self.myEndItem, 0, 0)) + def update_position(self): + line = QtCore.QLineF(self.mapFromItem(self._my_start_item, 0, 0), self.mapFromItem(self._my_end_item, 0, 0)) self.setLine(line) def paint(self, painter, option, widget=None): - if (self.myStartItem.collidesWithItem(self.myEndItem)): + if (self._my_start_item.collidesWithItem(self._my_end_item)): return - myStartItem = self.myStartItem - myEndItem = self.myEndItem - myColor = self.myColor - myPen = self.pen() - myPen.setColor(self.myColor) - arrowSize = 20.0 - painter.setPen(myPen) - painter.setBrush(self.myColor) - - centerLine = QtCore.QLineF(myStartItem.pos(), myEndItem.pos()) - endPolygon = myEndItem.polygon() - p1 = endPolygon.at(0) + myEndItem.pos() - - intersectPoint = QtCore.QPointF() - for i in endPolygon: - p2 = i + myEndItem.pos() - polyLine = QtCore.QLineF(p1, p2) - intersectType, intersectPoint = polyLine.intersect(centerLine) + my_start_item = self._my_start_item + my_end_item = self._my_end_item + my_color = self._my_color + my_pen = self.pen() + my_pen.setColor(self._my_color) + arrow_size = 20.0 + painter.setPen(my_pen) + painter.setBrush(self._my_color) + + center_line = QtCore.QLineF(my_start_item.pos(), my_end_item.pos()) + end_polygon = my_end_item.polygon() + p1 = end_polygon.at(0) + my_end_item.pos() + + intersect_point = QtCore.QPointF() + for i in end_polygon: + p2 = i + my_end_item.pos() + poly_line = QtCore.QLineF(p1, p2) + intersectType, intersect_point = poly_line.intersect(center_line) if intersectType == QtCore.QLineF.BoundedIntersection: break p1 = p2 - self.setLine(QtCore.QLineF(intersectPoint, myStartItem.pos())) + self.setLine(QtCore.QLineF(intersect_point, my_start_item.pos())) line = self.line() angle = math.acos(line.dx() / line.length()) if line.dy() >= 0: angle = (math.pi * 2.0) - angle - arrowP1 = line.p1() + QtCore.QPointF(math.sin(angle + math.pi / 3.0) * arrowSize, - math.cos(angle + math.pi / 3) * arrowSize) - arrowP2 = line.p1() + QtCore.QPointF(math.sin(angle + math.pi - math.pi / 3.0) * arrowSize, - math.cos(angle + math.pi - math.pi / 3.0) * arrowSize) + arrow_p1 = line.p1() + QtCore.QPointF(math.sin(angle + math.pi / 3.0) * arrow_size, + math.cos(angle + math.pi / 3) * arrow_size) + arrow_p2 = line.p1() + QtCore.QPointF(math.sin(angle + math.pi - math.pi / 3.0) * arrow_size, + math.cos(angle + math.pi - math.pi / 3.0) * arrow_size) - self.arrowHead.clear() - for point in [line.p1(), arrowP1, arrowP2]: - self.arrowHead.append(point) + self._arrow_head.clear() + for point in [line.p1(), arrow_p1, arrow_p2]: + self._arrow_head.append(point) painter.drawLine(line) - painter.drawPolygon(self.arrowHead) + painter.drawPolygon(self._arrow_head) if self.isSelected(): - painter.setPen(QtGui.QPen(myColor, 1, QtCore.Qt.DashLine)) - myLine = QtCore.QLineF(line) - myLine.translate(0, 4.0) - painter.drawLine(myLine) - myLine.translate(0,-8.0) - painter.drawLine(myLine) + painter.setPen(QtGui.QPen(my_color, 1, QtCore.Qt.DashLine)) + my_line = QtCore.QLineF(line) + my_line.translate(0, 4.0) + painter.drawLine(my_line) + my_line.translate(0,-8.0) + painter.drawLine(my_line) class DiagramTextItem(QtWidgets.QGraphicsTextItem): - lostFocus = QtCore.Signal(QtWidgets.QGraphicsTextItem) + lost_focus = QtCore.Signal(QtWidgets.QGraphicsTextItem) - selectedChange = QtCore.Signal(QtWidgets.QGraphicsItem) + selected_change = QtCore.Signal(QtWidgets.QGraphicsItem) def __init__(self, parent=None, scene=None): super(DiagramTextItem, self).__init__(parent, scene) @@ -150,12 +150,12 @@ class DiagramTextItem(QtWidgets.QGraphicsTextItem): def itemChange(self, change, value): if change == QtWidgets.QGraphicsItem.ItemSelectedChange: - self.selectedChange.emit(self) + self.selected_change.emit(self) return value def focusOutEvent(self, event): self.setTextInteractionFlags(QtCore.Qt.NoTextInteraction) - self.lostFocus.emit(self) + self.lost_focus.emit(self) super(DiagramTextItem, self).focusOutEvent(event) def mouseDoubleClickEvent(self, event): @@ -167,56 +167,56 @@ class DiagramTextItem(QtWidgets.QGraphicsTextItem): class DiagramItem(QtWidgets.QGraphicsPolygonItem): Step, Conditional, StartEnd, Io = range(4) - def __init__(self, diagramType, contextMenu, parent=None, scene=None): + def __init__(self, diagram_type, contextMenu, parent=None, scene=None): super(DiagramItem, self).__init__(parent, scene) self.arrows = [] - self.diagramType = diagramType - self.myContextMenu = contextMenu + self.diagram_type = diagram_type + self._my_context_menu = contextMenu path = QtGui.QPainterPath() - if self.diagramType == self.StartEnd: + if self.diagram_type == self.StartEnd: path.moveTo(200, 50) path.arcTo(150, 0, 50, 50, 0, 90) path.arcTo(50, 0, 50, 50, 90, 90) path.arcTo(50, 50, 50, 50, 180, 90) path.arcTo(150, 50, 50, 50, 270, 90) path.lineTo(200, 25) - self.myPolygon = path.toFillPolygon() - elif self.diagramType == self.Conditional: - self.myPolygon = QtGui.QPolygonF([ + self._my_polygon = path.toFillPolygon() + elif self.diagram_type == self.Conditional: + self._my_polygon = QtGui.QPolygonF([ QtCore.QPointF(-100, 0), QtCore.QPointF(0, 100), QtCore.QPointF(100, 0), QtCore.QPointF(0, -100), QtCore.QPointF(-100, 0)]) - elif self.diagramType == self.Step: - self.myPolygon = QtGui.QPolygonF([ + elif self.diagram_type == self.Step: + self._my_polygon = QtGui.QPolygonF([ QtCore.QPointF(-100, -100), QtCore.QPointF(100, -100), QtCore.QPointF(100, 100), QtCore.QPointF(-100, 100), QtCore.QPointF(-100, -100)]) else: - self.myPolygon = QtGui.QPolygonF([ + self._my_polygon = QtGui.QPolygonF([ QtCore.QPointF(-120, -80), QtCore.QPointF(-70, 80), QtCore.QPointF(120, 80), QtCore.QPointF(70, -80), QtCore.QPointF(-120, -80)]) - self.setPolygon(self.myPolygon) + self.setPolygon(self._my_polygon) self.setFlag(QtWidgets.QGraphicsItem.ItemIsMovable, True) self.setFlag(QtWidgets.QGraphicsItem.ItemIsSelectable, True) - def removeArrow(self, arrow): + def remove_arrow(self, arrow): try: self.arrows.remove(arrow) except ValueError: pass - def removeArrows(self): + def remove_arrows(self): for arrow in self.arrows[:]: arrow.startItem().removeArrow(arrow) arrow.endItem().removeArrow(arrow) self.scene().removeItem(arrow) - def addArrow(self, arrow): + def add_arrow(self, arrow): self.arrows.append(arrow) def image(self): @@ -225,13 +225,13 @@ class DiagramItem(QtWidgets.QGraphicsPolygonItem): painter = QtGui.QPainter(pixmap) painter.setPen(QtGui.QPen(QtCore.Qt.black, 8)) painter.translate(125, 125) - painter.drawPolyline(self.myPolygon) + painter.drawPolyline(self._my_polygon) return pixmap def contextMenuEvent(self, event): self.scene().clearSelection() self.setSelected(True) - self.myContextMenu.exec_(event.screenPos()) + self._my_context_menu.exec_(event.screenPos()) def itemChange(self, change, value): if change == QtWidgets.QGraphicsItem.ItemPositionChange: @@ -244,57 +244,57 @@ class DiagramItem(QtWidgets.QGraphicsPolygonItem): class DiagramScene(QtWidgets.QGraphicsScene): InsertItem, InsertLine, InsertText, MoveItem = range(4) - itemInserted = QtCore.Signal(DiagramItem) + item_inserted = QtCore.Signal(DiagramItem) - textInserted = QtCore.Signal(QtWidgets.QGraphicsTextItem) + text_inserted = QtCore.Signal(QtWidgets.QGraphicsTextItem) - itemSelected = QtCore.Signal(QtWidgets.QGraphicsItem) + item_selected = QtCore.Signal(QtWidgets.QGraphicsItem) def __init__(self, itemMenu, parent=None): super(DiagramScene, self).__init__(parent) - self.myItemMenu = itemMenu - self.myMode = self.MoveItem - self.myItemType = DiagramItem.Step + self._my_item_menu = itemMenu + self._my_mode = self.MoveItem + self._my_item_type = DiagramItem.Step self.line = None - self.textItem = None - self.myItemColor = QtCore.Qt.white - self.myTextColor = QtCore.Qt.black - self.myLineColor = QtCore.Qt.black - self.myFont = QtGui.QFont() - - def setLineColor(self, color): - self.myLineColor = color - if self.isItemChange(Arrow): + self._text_item = None + self._my_item_color = QtCore.Qt.white + self._my_text_color = QtCore.Qt.black + self._my_line_color = QtCore.Qt.black + self._my_font = QtGui.QFont() + + def set_line_color(self, color): + self._my_line_color = color + if self.is_item_change(Arrow): item = self.selectedItems()[0] - item.setColor(self.myLineColor) + item.setColor(self._my_line_color) self.update() - def setTextColor(self, color): - self.myTextColor = color - if self.isItemChange(DiagramTextItem): + def set_text_color(self, color): + self._my_text_color = color + if self.is_item_change(DiagramTextItem): item = self.selectedItems()[0] - item.setDefaultTextColor(self.myTextColor) + item.setDefaultTextColor(self._my_text_color) - def setItemColor(self, color): - self.myItemColor = color - if self.isItemChange(DiagramItem): + def set_item_color(self, color): + self._my_item_color = color + if self.is_item_change(DiagramItem): item = self.selectedItems()[0] - item.setBrush(self.myItemColor) + item.setBrush(self._my_item_color) - def setFont(self, font): - self.myFont = font - if self.isItemChange(DiagramTextItem): + def set_font(self, font): + self._my_font = font + if self.is_item_change(DiagramTextItem): item = self.selectedItems()[0] - item.setFont(self.myFont) + item.setFont(self._my_font) - def setMode(self, mode): - self.myMode = mode + def set_mode(self, mode): + self._my_mode = mode - def setItemType(self, type): - self.myItemType = type + def set_item_type(self, type): + self._my_item_type = type - def editorLostFocus(self, item): + def editor_lost_focus(self, item): cursor = item.textCursor() cursor.clearSelection() item.setTextCursor(cursor) @@ -307,68 +307,68 @@ class DiagramScene(QtWidgets.QGraphicsScene): if (mouseEvent.button() != QtCore.Qt.LeftButton): return - if self.myMode == self.InsertItem: - item = DiagramItem(self.myItemType, self.myItemMenu) - item.setBrush(self.myItemColor) + if self._my_mode == self.InsertItem: + item = DiagramItem(self._my_item_type, self._my_item_menu) + item.setBrush(self._my_item_color) self.addItem(item) item.setPos(mouseEvent.scenePos()) - self.itemInserted.emit(item) - elif self.myMode == self.InsertLine: + self.item_inserted.emit(item) + elif self._my_mode == self.InsertLine: self.line = QtWidgets.QGraphicsLineItem(QtCore.QLineF(mouseEvent.scenePos(), mouseEvent.scenePos())) - self.line.setPen(QtGui.QPen(self.myLineColor, 2)) + self.line.setPen(QtGui.QPen(self._my_line_color, 2)) self.addItem(self.line) - elif self.myMode == self.InsertText: - textItem = DiagramTextItem() - textItem.setFont(self.myFont) - textItem.setTextInteractionFlags(QtCore.Qt.TextEditorInteraction) - textItem.setZValue(1000.0) - textItem.lostFocus.connect(self.editorLostFocus) - textItem.selectedChange.connect(self.itemSelected) - self.addItem(textItem) - textItem.setDefaultTextColor(self.myTextColor) - textItem.setPos(mouseEvent.scenePos()) - self.textInserted.emit(textItem) + elif self._my_mode == self.InsertText: + text_item = DiagramTextItem() + text_item.setFont(self._my_font) + text_item.setTextInteractionFlags(QtCore.Qt.TextEditorInteraction) + text_item.setZValue(1000.0) + text_item.lost_focus.connect(self.editor_lost_focus) + text_item.selected_change.connect(self.item_selected) + self.addItem(text_item) + text_item.setDefaultTextColor(self._my_text_color) + text_item.setPos(mouseEvent.scenePos()) + self.text_inserted.emit(text_item) super(DiagramScene, self).mousePressEvent(mouseEvent) def mouseMoveEvent(self, mouseEvent): - if self.myMode == self.InsertLine and self.line: - newLine = QtCore.QLineF(self.line.line().p1(), mouseEvent.scenePos()) - self.line.setLine(newLine) - elif self.myMode == self.MoveItem: + if self._my_mode == self.InsertLine and self.line: + new_line = QtCore.QLineF(self.line.line().p1(), mouseEvent.scenePos()) + self.line.setLine(new_line) + elif self._my_mode == self.MoveItem: super(DiagramScene, self).mouseMoveEvent(mouseEvent) def mouseReleaseEvent(self, mouseEvent): - if self.line and self.myMode == self.InsertLine: - startItems = self.items(self.line.line().p1()) - if len(startItems) and startItems[0] == self.line: - startItems.pop(0) - endItems = self.items(self.line.line().p2()) - if len(endItems) and endItems[0] == self.line: - endItems.pop(0) + if self.line and self._my_mode == self.InsertLine: + start_items = self.items(self.line.line().p1()) + if len(start_items) and start_items[0] == self.line: + start_items.pop(0) + end_items = self.items(self.line.line().p2()) + if len(end_items) and end_items[0] == self.line: + end_items.pop(0) self.removeItem(self.line) self.line = None - if len(startItems) and len(endItems) and \ - isinstance(startItems[0], DiagramItem) and \ - isinstance(endItems[0], DiagramItem) and \ - startItems[0] != endItems[0]: - startItem = startItems[0] - endItem = endItems[0] - arrow = Arrow(startItem, endItem) - arrow.setColor(self.myLineColor) - startItem.addArrow(arrow) - endItem.addArrow(arrow) + if len(start_items) and len(end_items) and \ + isinstance(start_items[0], DiagramItem) and \ + isinstance(end_items[0], DiagramItem) and \ + start_items[0] != end_items[0]: + start_item = start_items[0] + end_item = end_items[0] + arrow = Arrow(start_item, end_item) + arrow.set_color(self._my_line_color) + start_item.addArrow(arrow) + end_item.addArrow(arrow) arrow.setZValue(-1000.0) self.addItem(arrow) - arrow.updatePosition() + arrow.update_position() self.line = None super(DiagramScene, self).mouseReleaseEvent(mouseEvent) - def isItemChange(self, type): + def is_item_change(self, type): for item in self.selectedItems(): if isinstance(item, type): return True @@ -376,25 +376,25 @@ class DiagramScene(QtWidgets.QGraphicsScene): class MainWindow(QtWidgets.QMainWindow): - InsertTextButton = 10 + insert_text_button = 10 def __init__(self): super(MainWindow, self).__init__() - self.createActions() - self.createMenus() - self.createToolBox() + self.create_actions() + self.create_menus() + self.create_tool_box() - self.scene = DiagramScene(self.itemMenu) + self.scene = DiagramScene(self._item_menu) self.scene.setSceneRect(QtCore.QRectF(0, 0, 5000, 5000)) - self.scene.itemInserted.connect(self.itemInserted) - self.scene.textInserted.connect(self.textInserted) - self.scene.itemSelected.connect(self.itemSelected) + self.scene.item_inserted.connect(self.item_inserted) + self.scene.text_inserted.connect(self.text_inserted) + self.scene.item_selected.connect(self.item_selected) - self.createToolbars() + self.create_toolbars() layout = QtWidgets.QHBoxLayout() - layout.addWidget(self.toolBox) + layout.addWidget(self._tool_box) self.view = QtWidgets.QGraphicsView(self.scene) layout.addWidget(self.view) @@ -404,8 +404,8 @@ class MainWindow(QtWidgets.QMainWindow): self.setCentralWidget(self.widget) self.setWindowTitle("Diagramscene") - def backgroundButtonGroupClicked(self, button): - buttons = self.backgroundButtonGroup.buttons() + def background_button_group_clicked(self, button): + buttons = self._background_button_group.buttons() for myButton in buttons: if myButton != button: button.setChecked(False) @@ -423,328 +423,328 @@ class MainWindow(QtWidgets.QMainWindow): self.scene.update() self.view.update() - def buttonGroupClicked(self, id): - buttons = self.buttonGroup.buttons() + def button_group_clicked(self, id): + buttons = self._button_group.buttons() for button in buttons: - if self.buttonGroup.button(id) != button: + if self._button_group.button(id) != button: button.setChecked(False) - if id == self.InsertTextButton: - self.scene.setMode(DiagramScene.InsertText) + if id == self.insert_text_button: + self.scene.set_mode(DiagramScene.InsertText) else: - self.scene.setItemType(id) - self.scene.setMode(DiagramScene.InsertItem) + self.scene.set_item_type(id) + self.scene.set_mode(DiagramScene.InsertItem) - def deleteItem(self): + def delete_item(self): for item in self.scene.selectedItems(): if isinstance(item, DiagramItem): item.removeArrows() self.scene.removeItem(item) - def pointerGroupClicked(self, i): - self.scene.setMode(self.pointerTypeGroup.checkedId()) + def pointer_group_clicked(self, i): + self.scene.set_mode(self._pointer_type_group.checkedId()) - def bringToFront(self): + def bring_to_front(self): if not self.scene.selectedItems(): return - selectedItem = self.scene.selectedItems()[0] - overlapItems = selectedItem.collidingItems() + selected_item = self.scene.selectedItems()[0] + overlap_items = selected_item.collidingItems() - zValue = 0 - for item in overlapItems: - if (item.zValue() >= zValue and isinstance(item, DiagramItem)): - zValue = item.zValue() + 0.1 - selectedItem.setZValue(zValue) + z_value = 0 + for item in overlap_items: + if (item.zValue() >= z_value and isinstance(item, DiagramItem)): + z_value = item.zValue() + 0.1 + selected_item.setZValue(z_value) - def sendToBack(self): + def send_to_back(self): if not self.scene.selectedItems(): return - selectedItem = self.scene.selectedItems()[0] - overlapItems = selectedItem.collidingItems() + selected_item = self.scene.selectedItems()[0] + overlap_items = selected_item.collidingItems() - zValue = 0 - for item in overlapItems: - if (item.zValue() <= zValue and isinstance(item, DiagramItem)): - zValue = item.zValue() - 0.1 - selectedItem.setZValue(zValue) + z_value = 0 + for item in overlap_items: + if (item.zValue() <= z_value and isinstance(item, DiagramItem)): + z_value = item.zValue() - 0.1 + selected_item.setZValue(z_value) - def itemInserted(self, item): - self.pointerTypeGroup.button(DiagramScene.MoveItem).setChecked(True) - self.scene.setMode(self.pointerTypeGroup.checkedId()) - self.buttonGroup.button(item.diagramType).setChecked(False) + def item_inserted(self, item): + self._pointer_type_group.button(DiagramScene.MoveItem).setChecked(True) + self.scene.set_mode(self._pointer_type_group.checkedId()) + self._button_group.button(item.diagram_type).setChecked(False) - def textInserted(self, item): - self.buttonGroup.button(self.InsertTextButton).setChecked(False) - self.scene.setMode(self.pointerTypeGroup.checkedId()) + def text_inserted(self, item): + self._button_group.button(self.insert_text_button).setChecked(False) + self.scene.set_mode(self._pointer_type_group.checkedId()) - def currentFontChanged(self, font): - self.handleFontChange() + def current_font_changed(self, font): + self.handle_font_change() - def fontSizeChanged(self, font): - self.handleFontChange() + def font_size_changed(self, font): + self.handle_font_change() - def sceneScaleChanged(self, scale): - newScale = int(scale[:-1]) / 100.0 - oldMatrix = self.view.matrix() + def scene_scale_changed(self, scale): + new_scale = int(scale[:-1]) / 100.0 + old_matrix = self.view.matrix() self.view.resetMatrix() - self.view.translate(oldMatrix.dx(), oldMatrix.dy()) - self.view.scale(newScale, newScale) + self.view.translate(old_matrix.dx(), old_matrix.dy()) + self.view.scale(new_scale, new_scale) - def textColorChanged(self): - self.textAction = self.sender() - self.fontColorToolButton.setIcon(self.createColorToolButtonIcon( + def text_color_changed(self): + self._text_action = self.sender() + self._font_color_tool_button.setIcon(self.create_color_tool_button_icon( ':/images/textpointer.png', - QtGui.QColor(self.textAction.data()))) - self.textButtonTriggered() + QtGui.QColor(self._text_action.data()))) + self.text_button_triggered() - def itemColorChanged(self): - self.fillAction = self.sender() - self.fillColorToolButton.setIcon(self.createColorToolButtonIcon( + def item_color_changed(self): + self._fill_action = self.sender() + self._fill_color_tool_button.setIcon(self.create_color_tool_button_icon( ':/images/floodfill.png', - QtGui.QColor(self.fillAction.data()))) - self.fillButtonTriggered() + QtGui.QColor(self._fill_action.data()))) + self.fill_button_triggered() - def lineColorChanged(self): - self.lineAction = self.sender() - self.lineColorToolButton.setIcon(self.createColorToolButtonIcon( + def line_color_changed(self): + self._line_action = self.sender() + self._line_color_tool_button.setIcon(self.create_color_tool_button_icon( ':/images/linecolor.png', - QtGui.QColor(self.lineAction.data()))) - self.lineButtonTriggered() + QtGui.QColor(self._line_action.data()))) + self.line_button_triggered() - def textButtonTriggered(self): - self.scene.setTextColor(QtGui.QColor(self.textAction.data())) + def text_button_triggered(self): + self.scene.set_text_color(QtGui.QColor(self._text_action.data())) - def fillButtonTriggered(self): - self.scene.setItemColor(QtGui.QColor(self.fillAction.data())) + def fill_button_triggered(self): + self.scene.set_item_color(QtGui.QColor(self._fill_action.data())) - def lineButtonTriggered(self): - self.scene.setLineColor(QtGui.QColor(self.lineAction.data())) + def line_button_triggered(self): + self.scene.set_line_color(QtGui.QColor(self._line_action.data())) - def handleFontChange(self): - font = self.fontCombo.currentFont() - font.setPointSize(int(self.fontSizeCombo.currentText())) - if self.boldAction.isChecked(): + def handle_font_change(self): + font = self._font_combo.currentFont() + font.setPointSize(int(self._font_size_combo.currentText())) + if self._bold_action.isChecked(): font.setWeight(QtGui.QFont.Bold) else: font.setWeight(QtGui.QFont.Normal) - font.setItalic(self.italicAction.isChecked()) - font.setUnderline(self.underlineAction.isChecked()) + font.setItalic(self._italic_action.isChecked()) + font.setUnderline(self._underline_action.isChecked()) - self.scene.setFont(font) + self.scene.set_font(font) - def itemSelected(self, item): + def item_selected(self, item): font = item.font() color = item.defaultTextColor() - self.fontCombo.setCurrentFont(font) - self.fontSizeCombo.setEditText(str(font.pointSize())) - self.boldAction.setChecked(font.weight() == QtGui.QFont.Bold) - self.italicAction.setChecked(font.italic()) - self.underlineAction.setChecked(font.underline()) + self._font_combo.setCurrentFont(font) + self._font_size_combo.setEditText(str(font.pointSize())) + self._bold_action.setChecked(font.weight() == QtGui.QFont.Bold) + self._italic_action.setChecked(font.italic()) + self._underline_action.setChecked(font.underline()) def about(self): QtWidgets.QMessageBox.about(self, "About Diagram Scene", "The Diagram Scene example shows use of the graphics framework.") - def createToolBox(self): - self.buttonGroup = QtWidgets.QButtonGroup() - self.buttonGroup.setExclusive(False) - self.buttonGroup.idClicked.connect(self.buttonGroupClicked) + def create_tool_box(self): + self._button_group = QtWidgets.QButtonGroup() + self._button_group.setExclusive(False) + self._button_group.idClicked.connect(self.button_group_clicked) layout = QtWidgets.QGridLayout() - layout.addWidget(self.createCellWidget("Conditional", DiagramItem.Conditional), + layout.addWidget(self.create_cell_widget("Conditional", DiagramItem.Conditional), 0, 0) - layout.addWidget(self.createCellWidget("Process", DiagramItem.Step), 0, + layout.addWidget(self.create_cell_widget("Process", DiagramItem.Step), 0, 1) - layout.addWidget(self.createCellWidget("Input/Output", DiagramItem.Io), + layout.addWidget(self.create_cell_widget("Input/Output", DiagramItem.Io), 1, 0) - textButton = QtWidgets.QToolButton() - textButton.setCheckable(True) - self.buttonGroup.addButton(textButton, self.InsertTextButton) - textButton.setIcon(QtGui.QIcon(QtGui.QPixmap(':/images/textpointer.png') + text_button = QtWidgets.QToolButton() + text_button.setCheckable(True) + self._button_group.addButton(text_button, self.insert_text_button) + text_button.setIcon(QtGui.QIcon(QtGui.QPixmap(':/images/textpointer.png') .scaled(30, 30))) - textButton.setIconSize(QtCore.QSize(50, 50)) + text_button.setIconSize(QtCore.QSize(50, 50)) - textLayout = QtWidgets.QGridLayout() - textLayout.addWidget(textButton, 0, 0, QtCore.Qt.AlignHCenter) - textLayout.addWidget(QtWidgets.QLabel("Text"), 1, 0, + text_layout = QtWidgets.QGridLayout() + text_layout.addWidget(text_button, 0, 0, QtCore.Qt.AlignHCenter) + text_layout.addWidget(QtWidgets.QLabel("Text"), 1, 0, QtCore.Qt.AlignCenter) - textWidget = QtWidgets.QWidget() - textWidget.setLayout(textLayout) - layout.addWidget(textWidget, 1, 1) + text_widget = QtWidgets.QWidget() + text_widget.setLayout(text_layout) + layout.addWidget(text_widget, 1, 1) layout.setRowStretch(3, 10) layout.setColumnStretch(2, 10) - itemWidget = QtWidgets.QWidget() - itemWidget.setLayout(layout) + item_widget = QtWidgets.QWidget() + item_widget.setLayout(layout) - self.backgroundButtonGroup = QtWidgets.QButtonGroup() - self.backgroundButtonGroup.buttonClicked.connect(self.backgroundButtonGroupClicked) + self._background_button_group = QtWidgets.QButtonGroup() + self._background_button_group.buttonClicked.connect(self.background_button_group_clicked) - backgroundLayout = QtWidgets.QGridLayout() - backgroundLayout.addWidget(self.createBackgroundCellWidget("Blue Grid", + background_layout = QtWidgets.QGridLayout() + background_layout.addWidget(self.create_background_cell_widget("Blue Grid", ':/images/background1.png'), 0, 0) - backgroundLayout.addWidget(self.createBackgroundCellWidget("White Grid", + background_layout.addWidget(self.create_background_cell_widget("White Grid", ':/images/background2.png'), 0, 1) - backgroundLayout.addWidget(self.createBackgroundCellWidget("Gray Grid", + background_layout.addWidget(self.create_background_cell_widget("Gray Grid", ':/images/background3.png'), 1, 0) - backgroundLayout.addWidget(self.createBackgroundCellWidget("No Grid", + background_layout.addWidget(self.create_background_cell_widget("No Grid", ':/images/background4.png'), 1, 1) - backgroundLayout.setRowStretch(2, 10) - backgroundLayout.setColumnStretch(2, 10) + background_layout.setRowStretch(2, 10) + background_layout.setColumnStretch(2, 10) - backgroundWidget = QtWidgets.QWidget() - backgroundWidget.setLayout(backgroundLayout) + background_widget = QtWidgets.QWidget() + background_widget.setLayout(background_layout) - self.toolBox = QtWidgets.QToolBox() - self.toolBox.setSizePolicy(QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Ignored)) - self.toolBox.setMinimumWidth(itemWidget.sizeHint().width()) - self.toolBox.addItem(itemWidget, "Basic Flowchart Shapes") - self.toolBox.addItem(backgroundWidget, "Backgrounds") + self._tool_box = QtWidgets.QToolBox() + self._tool_box.setSizePolicy(QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Ignored)) + self._tool_box.setMinimumWidth(item_widget.sizeHint().width()) + self._tool_box.addItem(item_widget, "Basic Flowchart Shapes") + self._tool_box.addItem(background_widget, "Backgrounds") - def createActions(self): - self.toFrontAction = QtGui.QAction( + def create_actions(self): + self._to_front_action = QtGui.QAction( QtGui.QIcon(':/images/bringtofront.png'), "Bring to &Front", self, shortcut="Ctrl+F", statusTip="Bring item to front", - triggered=self.bringToFront) + triggered=self.bring_to_front) - self.sendBackAction = QtGui.QAction( + self._send_back_action = QtGui.QAction( QtGui.QIcon(':/images/sendtoback.png'), "Send to &Back", self, shortcut="Ctrl+B", statusTip="Send item to back", - triggered=self.sendToBack) + triggered=self.send_to_back) - self.deleteAction = QtGui.QAction(QtGui.QIcon(':/images/delete.png'), + self._delete_action = QtGui.QAction(QtGui.QIcon(':/images/delete.png'), "&Delete", self, shortcut="Delete", statusTip="Delete item from diagram", - triggered=self.deleteItem) + triggered=self.delete_item) - self.exitAction = QtGui.QAction("E&xit", self, shortcut="Ctrl+X", + self._exit_action = QtGui.QAction("E&xit", self, shortcut="Ctrl+X", statusTip="Quit Scenediagram example", triggered=self.close) - self.boldAction = QtGui.QAction(QtGui.QIcon(':/images/bold.png'), + self._bold_action = QtGui.QAction(QtGui.QIcon(':/images/bold.png'), "Bold", self, checkable=True, shortcut="Ctrl+B", - triggered=self.handleFontChange) + triggered=self.handle_font_change) - self.italicAction = QtGui.QAction(QtGui.QIcon(':/images/italic.png'), + self._italic_action = QtGui.QAction(QtGui.QIcon(':/images/italic.png'), "Italic", self, checkable=True, shortcut="Ctrl+I", - triggered=self.handleFontChange) + triggered=self.handle_font_change) - self.underlineAction = QtGui.QAction( + self._underline_action = QtGui.QAction( QtGui.QIcon(':/images/underline.png'), "Underline", self, checkable=True, shortcut="Ctrl+U", - triggered=self.handleFontChange) + triggered=self.handle_font_change) - self.aboutAction = QtGui.QAction("A&bout", self, shortcut="Ctrl+B", + self._about_action = QtGui.QAction("A&bout", self, shortcut="Ctrl+B", triggered=self.about) - def createMenus(self): - self.fileMenu = self.menuBar().addMenu("&File") - self.fileMenu.addAction(self.exitAction) + def create_menus(self): + self._file_menu = self.menuBar().addMenu("&File") + self._file_menu.addAction(self._exit_action) - self.itemMenu = self.menuBar().addMenu("&Item") - self.itemMenu.addAction(self.deleteAction) - self.itemMenu.addSeparator() - self.itemMenu.addAction(self.toFrontAction) - self.itemMenu.addAction(self.sendBackAction) + self._item_menu = self.menuBar().addMenu("&Item") + self._item_menu.addAction(self._delete_action) + self._item_menu.addSeparator() + self._item_menu.addAction(self._to_front_action) + self._item_menu.addAction(self._send_back_action) - self.aboutMenu = self.menuBar().addMenu("&Help") - self.aboutMenu.addAction(self.aboutAction) + self._about_menu = self.menuBar().addMenu("&Help") + self._about_menu.addAction(self._about_action) - def createToolbars(self): - self.editToolBar = self.addToolBar("Edit") - self.editToolBar.addAction(self.deleteAction) - self.editToolBar.addAction(self.toFrontAction) - self.editToolBar.addAction(self.sendBackAction) + def create_toolbars(self): + self._edit_tool_bar = self.addToolBar("Edit") + self._edit_tool_bar.addAction(self._delete_action) + self._edit_tool_bar.addAction(self._to_front_action) + self._edit_tool_bar.addAction(self._send_back_action) - self.fontCombo = QtWidgets.QFontComboBox() - self.fontCombo.currentFontChanged.connect(self.currentFontChanged) + self._font_combo = QtWidgets.QFontComboBox() + self._font_combo.currentFontChanged.connect(self.current_font_changed) - self.fontSizeCombo = QtWidgets.QComboBox() - self.fontSizeCombo.setEditable(True) + self._font_size_combo = QtWidgets.QComboBox() + self._font_size_combo.setEditable(True) for i in range(8, 30, 2): - self.fontSizeCombo.addItem(str(i)) + self._font_size_combo.addItem(str(i)) validator = QtGui.QIntValidator(2, 64, self) - self.fontSizeCombo.setValidator(validator) - self.fontSizeCombo.currentIndexChanged.connect(self.fontSizeChanged) - - self.fontColorToolButton = QtWidgets.QToolButton() - self.fontColorToolButton.setPopupMode(QtWidgets.QToolButton.MenuButtonPopup) - self.fontColorToolButton.setMenu( - self.createColorMenu(self.textColorChanged, QtCore.Qt.black)) - self.textAction = self.fontColorToolButton.menu().defaultAction() - self.fontColorToolButton.setIcon( - self.createColorToolButtonIcon(':/images/textpointer.png', + self._font_size_combo.setValidator(validator) + self._font_size_combo.currentIndexChanged.connect(self.font_size_changed) + + self._font_color_tool_button = QtWidgets.QToolButton() + self._font_color_tool_button.setPopupMode(QtWidgets.QToolButton.MenuButtonPopup) + self._font_color_tool_button.setMenu( + self.create_color_menu(self.text_color_changed, QtCore.Qt.black)) + self._text_action = self._font_color_tool_button.menu().defaultAction() + self._font_color_tool_button.setIcon( + self.create_color_tool_button_icon(':/images/textpointer.png', QtCore.Qt.black)) - self.fontColorToolButton.setAutoFillBackground(True) - self.fontColorToolButton.clicked.connect(self.textButtonTriggered) - - self.fillColorToolButton = QtWidgets.QToolButton() - self.fillColorToolButton.setPopupMode(QtWidgets.QToolButton.MenuButtonPopup) - self.fillColorToolButton.setMenu( - self.createColorMenu(self.itemColorChanged, QtCore.Qt.white)) - self.fillAction = self.fillColorToolButton.menu().defaultAction() - self.fillColorToolButton.setIcon( - self.createColorToolButtonIcon(':/images/floodfill.png', + self._font_color_tool_button.setAutoFillBackground(True) + self._font_color_tool_button.clicked.connect(self.text_button_triggered) + + self._fill_color_tool_button = QtWidgets.QToolButton() + self._fill_color_tool_button.setPopupMode(QtWidgets.QToolButton.MenuButtonPopup) + self._fill_color_tool_button.setMenu( + self.create_color_menu(self.item_color_changed, QtCore.Qt.white)) + self._fill_action = self._fill_color_tool_button.menu().defaultAction() + self._fill_color_tool_button.setIcon( + self.create_color_tool_button_icon(':/images/floodfill.png', QtCore.Qt.white)) - self.fillColorToolButton.clicked.connect(self.fillButtonTriggered) - - self.lineColorToolButton = QtWidgets.QToolButton() - self.lineColorToolButton.setPopupMode(QtWidgets.QToolButton.MenuButtonPopup) - self.lineColorToolButton.setMenu( - self.createColorMenu(self.lineColorChanged, QtCore.Qt.black)) - self.lineAction = self.lineColorToolButton.menu().defaultAction() - self.lineColorToolButton.setIcon( - self.createColorToolButtonIcon(':/images/linecolor.png', + self._fill_color_tool_button.clicked.connect(self.fill_button_triggered) + + self._line_color_tool_button = QtWidgets.QToolButton() + self._line_color_tool_button.setPopupMode(QtWidgets.QToolButton.MenuButtonPopup) + self._line_color_tool_button.setMenu( + self.create_color_menu(self.line_color_changed, QtCore.Qt.black)) + self._line_action = self._line_color_tool_button.menu().defaultAction() + self._line_color_tool_button.setIcon( + self.create_color_tool_button_icon(':/images/linecolor.png', QtCore.Qt.black)) - self.lineColorToolButton.clicked.connect(self.lineButtonTriggered) - - self.textToolBar = self.addToolBar("Font") - self.textToolBar.addWidget(self.fontCombo) - self.textToolBar.addWidget(self.fontSizeCombo) - self.textToolBar.addAction(self.boldAction) - self.textToolBar.addAction(self.italicAction) - self.textToolBar.addAction(self.underlineAction) - - self.colorToolBar = self.addToolBar("Color") - self.colorToolBar.addWidget(self.fontColorToolButton) - self.colorToolBar.addWidget(self.fillColorToolButton) - self.colorToolBar.addWidget(self.lineColorToolButton) - - pointerButton = QtWidgets.QToolButton() - pointerButton.setCheckable(True) - pointerButton.setChecked(True) - pointerButton.setIcon(QtGui.QIcon(':/images/pointer.png')) - linePointerButton = QtWidgets.QToolButton() - linePointerButton.setCheckable(True) - linePointerButton.setIcon(QtGui.QIcon(':/images/linepointer.png')) - - self.pointerTypeGroup = QtWidgets.QButtonGroup() - self.pointerTypeGroup.addButton(pointerButton, DiagramScene.MoveItem) - self.pointerTypeGroup.addButton(linePointerButton, + self._line_color_tool_button.clicked.connect(self.line_button_triggered) + + self._text_tool_bar = self.addToolBar("Font") + self._text_tool_bar.addWidget(self._font_combo) + self._text_tool_bar.addWidget(self._font_size_combo) + self._text_tool_bar.addAction(self._bold_action) + self._text_tool_bar.addAction(self._italic_action) + self._text_tool_bar.addAction(self._underline_action) + + self._color_tool_bar = self.addToolBar("Color") + self._color_tool_bar.addWidget(self._font_color_tool_button) + self._color_tool_bar.addWidget(self._fill_color_tool_button) + self._color_tool_bar.addWidget(self._line_color_tool_button) + + pointer_button = QtWidgets.QToolButton() + pointer_button.setCheckable(True) + pointer_button.setChecked(True) + pointer_button.setIcon(QtGui.QIcon(':/images/pointer.png')) + line_pointer_button = QtWidgets.QToolButton() + line_pointer_button.setCheckable(True) + line_pointer_button.setIcon(QtGui.QIcon(':/images/linepointer.png')) + + self._pointer_type_group = QtWidgets.QButtonGroup() + self._pointer_type_group.addButton(pointer_button, DiagramScene.MoveItem) + self._pointer_type_group.addButton(line_pointer_button, DiagramScene.InsertLine) - self.pointerTypeGroup.idClicked.connect(self.pointerGroupClicked) + self._pointer_type_group.idClicked.connect(self.pointer_group_clicked) - self.sceneScaleCombo = QtWidgets.QComboBox() - self.sceneScaleCombo.addItems(["50%", "75%", "100%", "125%", "150%"]) - self.sceneScaleCombo.setCurrentIndex(2) - self.sceneScaleCombo.currentTextChanged.connect(self.sceneScaleChanged) + self._scene_scale_combo = QtWidgets.QComboBox() + self._scene_scale_combo.addItems(["50%", "75%", "100%", "125%", "150%"]) + self._scene_scale_combo.setCurrentIndex(2) + self._scene_scale_combo.currentTextChanged.connect(self.scene_scale_changed) - self.pointerToolbar = self.addToolBar("Pointer type") - self.pointerToolbar.addWidget(pointerButton) - self.pointerToolbar.addWidget(linePointerButton) - self.pointerToolbar.addWidget(self.sceneScaleCombo) + self._pointer_toolbar = self.addToolBar("Pointer type") + self._pointer_toolbar.addWidget(pointer_button) + self._pointer_toolbar.addWidget(line_pointer_button) + self._pointer_toolbar.addWidget(self._scene_scale_combo) - def createBackgroundCellWidget(self, text, image): + def create_background_cell_widget(self, text, image): button = QtWidgets.QToolButton() button.setText(text) button.setIcon(QtGui.QIcon(image)) button.setIconSize(QtCore.QSize(50, 50)) button.setCheckable(True) - self.backgroundButtonGroup.addButton(button) + self._background_button_group.addButton(button) layout = QtWidgets.QGridLayout() layout.addWidget(button, 0, 0, QtCore.Qt.AlignHCenter) @@ -755,15 +755,15 @@ class MainWindow(QtWidgets.QMainWindow): return widget - def createCellWidget(self, text, diagramType): - item = DiagramItem(diagramType, self.itemMenu) + def create_cell_widget(self, text, diagram_type): + item = DiagramItem(diagram_type, self._item_menu) icon = QtGui.QIcon(item.image()) button = QtWidgets.QToolButton() button.setIcon(icon) button.setIconSize(QtCore.QSize(50, 50)) button.setCheckable(True) - self.buttonGroup.addButton(button, diagramType) + self._button_group.addButton(button, diagram_type) layout = QtWidgets.QGridLayout() layout.addWidget(button, 0, 0, QtCore.Qt.AlignHCenter) @@ -774,21 +774,21 @@ class MainWindow(QtWidgets.QMainWindow): return widget - def createColorMenu(self, slot, defaultColor): + def create_color_menu(self, slot, defaultColor): colors = [QtCore.Qt.black, QtCore.Qt.white, QtCore.Qt.red, QtCore.Qt.blue, QtCore.Qt.yellow] names = ["black", "white", "red", "blue", "yellow"] - colorMenu = QtWidgets.QMenu(self) + color_menu = QtWidgets.QMenu(self) for color, name in zip(colors, names): - action = QtGui.QAction(self.createColorIcon(color), name, self, + action = QtGui.QAction(self.create_color_icon(color), name, self, triggered=slot) action.setData(QtGui.QColor(color)) - colorMenu.addAction(action) + color_menu.addAction(action) if color == defaultColor: - colorMenu.setDefaultAction(action) - return colorMenu + color_menu.setDefaultAction(action) + return color_menu - def createColorToolButtonIcon(self, imageFile, color): + def create_color_tool_button_icon(self, imageFile, color): pixmap = QtGui.QPixmap(50, 80) pixmap.fill(QtCore.Qt.transparent) painter = QtGui.QPainter(pixmap) @@ -801,7 +801,7 @@ class MainWindow(QtWidgets.QMainWindow): return QtGui.QIcon(pixmap) - def createColorIcon(self, color): + def create_color_icon(self, color): pixmap = QtGui.QPixmap(20, 20) painter = QtGui.QPainter(pixmap) painter.setPen(QtCore.Qt.NoPen) @@ -817,8 +817,8 @@ if __name__ == '__main__': app = QtWidgets.QApplication(sys.argv) - mainWindow = MainWindow() - mainWindow.setGeometry(100, 100, 800, 500) - mainWindow.show() + main_window = MainWindow() + main_window.setGeometry(100, 100, 800, 500) + main_window.show() sys.exit(app.exec_()) diff --git a/examples/widgets/graphicsview/dragdroprobot/dragdroprobot.py b/examples/widgets/graphicsview/dragdroprobot/dragdroprobot.py index 95134c313..b5114bad1 100644 --- a/examples/widgets/graphicsview/dragdroprobot/dragdroprobot.py +++ b/examples/widgets/graphicsview/dragdroprobot/dragdroprobot.py @@ -125,7 +125,7 @@ class RobotPart(QtWidgets.QGraphicsItem): self.color = QtGui.QColor(QtCore.Qt.lightGray) self.pixmap = None - self.dragOver = False + self._drag_over = False self.setAcceptDrops(True) @@ -133,17 +133,17 @@ class RobotPart(QtWidgets.QGraphicsItem): if event.mimeData().hasColor() or \ (isinstance(self, RobotHead) and event.mimeData().hasImage()): event.setAccepted(True) - self.dragOver = True + self._drag_over = True self.update() else: event.setAccepted(False) def dragLeaveEvent(self, event): - self.dragOver = False + self._drag_over = False self.update() def dropEvent(self, event): - self.dragOver = False + self._drag_over = False if event.mimeData().hasColor(): self.color = QtGui.QColor(event.mimeData().colorData()) elif event.mimeData().hasImage(): @@ -158,7 +158,7 @@ class RobotHead(RobotPart): def paint(self, painter, option, widget=None): if not self.pixmap: - painter.setBrush(self.dragOver and self.color.lighter(130) + painter.setBrush(self._drag_over and self.color.lighter(130) or self.color) painter.drawRoundedRect(-10, -30, 20, 30, 25, 25, QtCore.Qt.RelativeSize) @@ -181,7 +181,7 @@ class RobotTorso(RobotPart): return QtCore.QRectF(-30, -20, 60, 60) def paint(self, painter, option, widget=None): - painter.setBrush(self.dragOver and self.color.lighter(130) + painter.setBrush(self._drag_over and self.color.lighter(130) or self.color) painter.drawRoundedRect(-20, -20, 40, 60, 25, 25, QtCore.Qt.RelativeSize) @@ -196,7 +196,7 @@ class RobotLimb(RobotPart): return QtCore.QRectF(-5, -5, 40, 10) def paint(self, painter, option, widget=None): - painter.setBrush(self.dragOver and self.color.lighter(130) or self.color) + painter.setBrush(self._drag_over and self.color.lighter(130) or self.color) painter.drawRoundedRect(self.boundingRect(), 50, 50, QtCore.Qt.RelativeSize) painter.drawEllipse(-5, -5, 10, 10) @@ -210,10 +210,10 @@ class Robot(RobotPart): self.headItem = RobotHead(self.torsoItem) self.upperLeftArmItem = RobotLimb(self.torsoItem) self.lowerLeftArmItem = RobotLimb(self.upperLeftArmItem) - self.upperRightArmItem = RobotLimb(self.torsoItem) - self.lowerRightArmItem = RobotLimb(self.upperRightArmItem) - self.upperRightLegItem = RobotLimb(self.torsoItem) - self.lowerRightLegItem = RobotLimb(self.upperRightLegItem) + self._upper_right_arm_item = RobotLimb(self.torsoItem) + self._lower_right_arm_item = RobotLimb(self._upper_right_arm_item) + self._upper_right_leg_item = RobotLimb(self.torsoItem) + self._lower_right_leg_item = RobotLimb(self._upper_right_leg_item) self.upperLeftLegItem = RobotLimb(self.torsoItem) self.lowerLeftLegItem = RobotLimb(self.upperLeftLegItem) @@ -224,10 +224,10 @@ class Robot(RobotPart): ( self.headItem, 0, -18, 20, -20 ), ( self.upperLeftArmItem, -15, -10, 190, 180 ), ( self.lowerLeftArmItem, 30, 0, 50, 10 ), - ( self.upperRightArmItem, 15, -10, 300, 310 ), - ( self.lowerRightArmItem, 30, 0, 0, -70 ), - ( self.upperRightLegItem, 10, 32, 40, 120 ), - ( self.lowerRightLegItem, 30, 0, 10, 50 ), + ( self._upper_right_arm_item, 15, -10, 300, 310 ), + ( self._lower_right_arm_item, 30, 0, 0, -70 ), + ( self._upper_right_leg_item, 10, 32, 40, 120 ), + ( self._lower_right_leg_item, 30, 0, 10, 50 ), ( self.upperLeftLegItem, -10, 32, 150, 80 ), ( self.lowerLeftLegItem, 30, 0, 70, 10 ), ( self.torsoItem, 0, 0, 5, -20 ) diff --git a/examples/widgets/graphicsview/elasticnodes/elasticnodes.py b/examples/widgets/graphicsview/elasticnodes/elasticnodes.py index 1eefdc0bb..297cbe545 100644 --- a/examples/widgets/graphicsview/elasticnodes/elasticnodes.py +++ b/examples/widgets/graphicsview/elasticnodes/elasticnodes.py @@ -52,37 +52,37 @@ def random(boundary): class Edge(QtWidgets.QGraphicsItem): Pi = math.pi - TwoPi = 2.0 * Pi + two_pi = 2.0 * Pi - Type = QtWidgets.QGraphicsItem.UserType + 2 + type = QtWidgets.QGraphicsItem.UserType + 2 def __init__(self, sourceNode, destNode): QtWidgets.QGraphicsItem.__init__(self) - self.arrowSize = 10.0 - self.sourcePoint = QtCore.QPointF() - self.destPoint = QtCore.QPointF() + self._arrow_size = 10.0 + self._source_point = QtCore.QPointF() + self._dest_point = QtCore.QPointF() self.setAcceptedMouseButtons(QtCore.Qt.NoButton) self.source = weakref.ref(sourceNode) self.dest = weakref.ref(destNode) - self.source().addEdge(self) - self.dest().addEdge(self) + self.source().add_edge(self) + self.dest().add_edge(self) self.adjust() def type(self): - return Edge.Type + return Edge.type - def sourceNode(self): + def source_node(self): return self.source() - def setSourceNode(self, node): + def set_source_node(self, node): self.source = weakref.ref(node) self.adjust() - def destNode(self): + def dest_node(self): return self.dest() - def setDestNode(self, node): + def set_dest_node(self, node): self.dest = weakref.ref(node) self.adjust() @@ -96,29 +96,29 @@ class Edge(QtWidgets.QGraphicsItem): if length == 0.0: return - edgeOffset = QtCore.QPointF((line.dx() * 10) / length, (line.dy() * 10) / length) + edge_offset = QtCore.QPointF((line.dx() * 10) / length, (line.dy() * 10) / length) self.prepareGeometryChange() - self.sourcePoint = line.p1() + edgeOffset - self.destPoint = line.p2() - edgeOffset + self._source_point = line.p1() + edge_offset + self._dest_point = line.p2() - edge_offset def boundingRect(self): if not self.source() or not self.dest(): return QtCore.QRectF() - penWidth = 1 - extra = (penWidth + self.arrowSize) / 2.0 + pen_width = 1 + extra = (pen_width + self._arrow_size) / 2.0 - return QtCore.QRectF(self.sourcePoint, - QtCore.QSizeF(self.destPoint.x() - self.sourcePoint.x(), - self.destPoint.y() - self.sourcePoint.y())).normalized().adjusted(-extra, -extra, extra, extra) + return QtCore.QRectF(self._source_point, + QtCore.QSizeF(self._dest_point.x() - self._source_point.x(), + self._dest_point.y() - self._source_point.y())).normalized().adjusted(-extra, -extra, extra, extra) def paint(self, painter, option, widget): if not self.source() or not self.dest(): return # Draw the line itself. - line = QtCore.QLineF(self.sourcePoint, self.destPoint) + line = QtCore.QLineF(self._source_point, self._dest_point) if line.length() == 0.0: return @@ -129,49 +129,49 @@ class Edge(QtWidgets.QGraphicsItem): # Draw the arrows if there's enough room. angle = math.acos(line.dx() / line.length()) if line.dy() >= 0: - angle = Edge.TwoPi - angle + angle = Edge.two_pi - angle - sourceArrowP1 = self.sourcePoint + QtCore.QPointF(math.sin(angle + Edge.Pi / 3) * self.arrowSize, - math.cos(angle + Edge.Pi / 3) * self.arrowSize) - sourceArrowP2 = self.sourcePoint + QtCore.QPointF(math.sin(angle + Edge.Pi - Edge.Pi / 3) * self.arrowSize, - math.cos(angle + Edge.Pi - Edge.Pi / 3) * self.arrowSize) - destArrowP1 = self.destPoint + QtCore.QPointF(math.sin(angle - Edge.Pi / 3) * self.arrowSize, - math.cos(angle - Edge.Pi / 3) * self.arrowSize) - destArrowP2 = self.destPoint + QtCore.QPointF(math.sin(angle - Edge.Pi + Edge.Pi / 3) * self.arrowSize, - math.cos(angle - Edge.Pi + Edge.Pi / 3) * self.arrowSize) + source_arrow_p1 = self._source_point + QtCore.QPointF(math.sin(angle + Edge.Pi / 3) * self._arrow_size, + math.cos(angle + Edge.Pi / 3) * self._arrow_size) + source_arrow_p2 = self._source_point + QtCore.QPointF(math.sin(angle + Edge.Pi - Edge.Pi / 3) * self._arrow_size, + math.cos(angle + Edge.Pi - Edge.Pi / 3) * self._arrow_size) + dest_arrow_p1 = self._dest_point + QtCore.QPointF(math.sin(angle - Edge.Pi / 3) * self._arrow_size, + math.cos(angle - Edge.Pi / 3) * self._arrow_size) + dest_arrow_p2 = self._dest_point + QtCore.QPointF(math.sin(angle - Edge.Pi + Edge.Pi / 3) * self._arrow_size, + math.cos(angle - Edge.Pi + Edge.Pi / 3) * self._arrow_size) painter.setBrush(QtCore.Qt.black) - painter.drawPolygon(QtGui.QPolygonF([line.p1(), sourceArrowP1, sourceArrowP2])) - painter.drawPolygon(QtGui.QPolygonF([line.p2(), destArrowP1, destArrowP2])) + painter.drawPolygon(QtGui.QPolygonF([line.p1(), source_arrow_p1, source_arrow_p2])) + painter.drawPolygon(QtGui.QPolygonF([line.p2(), dest_arrow_p1, dest_arrow_p2])) class Node(QtWidgets.QGraphicsItem): - Type = QtWidgets.QGraphicsItem.UserType + 1 + type = QtWidgets.QGraphicsItem.UserType + 1 def __init__(self, graphWidget): QtWidgets.QGraphicsItem.__init__(self) self.graph = weakref.ref(graphWidget) - self.edgeList = [] - self.newPos = QtCore.QPointF() + self._edge_list = [] + self._new_pos = QtCore.QPointF() self.setFlag(QtWidgets.QGraphicsItem.ItemIsMovable) self.setFlag(QtWidgets.QGraphicsItem.ItemSendsGeometryChanges) self.setCacheMode(self.DeviceCoordinateCache) self.setZValue(-1) def type(self): - return Node.Type + return Node.type - def addEdge(self, edge): - self.edgeList.append(weakref.ref(edge)) + def add_edge(self, edge): + self._edge_list.append(weakref.ref(edge)) edge.adjust() def edges(self): - return self.edgeList + return self._edge_list - def calculateForces(self): + def calculate_forces(self): if not self.scene() or self.scene().mouseGrabberItem() is self: - self.newPos = self.pos() + self._new_pos = self.pos() return # Sum up all forces pushing this item away. @@ -190,28 +190,28 @@ class Node(QtWidgets.QGraphicsItem): yvel += (dy * 150.0) / l # Now subtract all forces pulling items together. - weight = (len(self.edgeList) + 1) * 10.0 - for edge in self.edgeList: - if edge().sourceNode() is self: - pos = self.mapFromItem(edge().destNode(), 0, 0) + weight = (len(self._edge_list) + 1) * 10.0 + for edge in self._edge_list: + if edge().source_node() is self: + pos = self.mapFromItem(edge().dest_node(), 0, 0) else: - pos = self.mapFromItem(edge().sourceNode(), 0, 0) + pos = self.mapFromItem(edge().source_node(), 0, 0) xvel += pos.x() / weight yvel += pos.y() / weight if QtCore.qAbs(xvel) < 0.1 and QtCore.qAbs(yvel) < 0.1: xvel = yvel = 0.0 - sceneRect = self.scene().sceneRect() - self.newPos = self.pos() + QtCore.QPointF(xvel, yvel) - self.newPos.setX(min(max(self.newPos.x(), sceneRect.left() + 10), sceneRect.right() - 10)) - self.newPos.setY(min(max(self.newPos.y(), sceneRect.top() + 10), sceneRect.bottom() - 10)) + scene_rect = self.scene().sceneRect() + self._new_pos = self.pos() + QtCore.QPointF(xvel, yvel) + self._new_pos.setX(min(max(self._new_pos.x(), scene_rect.left() + 10), scene_rect.right() - 10)) + self._new_pos.setY(min(max(self._new_pos.y(), scene_rect.top() + 10), scene_rect.bottom() - 10)) def advance(self): - if self.newPos == self.pos(): + if self._new_pos == self.pos(): return False - self.setPos(self.newPos) + self.setPos(self._new_pos) return True def boundingRect(self): @@ -245,9 +245,9 @@ class Node(QtWidgets.QGraphicsItem): def itemChange(self, change, value): if change == QtWidgets.QGraphicsItem.ItemPositionChange: - for edge in self.edgeList: + for edge in self._edge_list: edge().adjust() - self.graph().itemMoved() + self.graph().item_moved() return QtWidgets.QGraphicsItem.itemChange(self, change, value) @@ -264,7 +264,7 @@ class GraphWidget(QtWidgets.QGraphicsView): def __init__(self): QtWidgets.QGraphicsView.__init__(self) - self.timerId = 0 + self._timer_id = 0 scene = QtWidgets.QGraphicsScene(self) scene.setItemIndexMethod(QtWidgets.QGraphicsScene.NoIndex) @@ -279,7 +279,7 @@ class GraphWidget(QtWidgets.QGraphicsView): node2 = Node(self) node3 = Node(self) node4 = Node(self) - self.centerNode = Node(self) + self._center_node = Node(self) node6 = Node(self) node7 = Node(self) node8 = Node(self) @@ -288,19 +288,19 @@ class GraphWidget(QtWidgets.QGraphicsView): scene.addItem(node2) scene.addItem(node3) scene.addItem(node4) - scene.addItem(self.centerNode) + scene.addItem(self._center_node) scene.addItem(node6) scene.addItem(node7) scene.addItem(node8) scene.addItem(node9) scene.addItem(Edge(node1, node2)) scene.addItem(Edge(node2, node3)) - scene.addItem(Edge(node2, self.centerNode)) + scene.addItem(Edge(node2, self._center_node)) scene.addItem(Edge(node3, node6)) scene.addItem(Edge(node4, node1)) - scene.addItem(Edge(node4, self.centerNode)) - scene.addItem(Edge(self.centerNode, node6)) - scene.addItem(Edge(self.centerNode, node8)) + scene.addItem(Edge(node4, self._center_node)) + scene.addItem(Edge(self._center_node, node6)) + scene.addItem(Edge(self._center_node, node8)) scene.addItem(Edge(node6, node9)) scene.addItem(Edge(node7, node4)) scene.addItem(Edge(node8, node7)) @@ -310,7 +310,7 @@ class GraphWidget(QtWidgets.QGraphicsView): node2.setPos(0, -50) node3.setPos(50, -50) node4.setPos(-50, 0) - self.centerNode.setPos(0, 0) + self._center_node.setPos(0, 0) node6.setPos(50, 0) node7.setPos(-50, 50) node8.setPos(0, 50) @@ -320,25 +320,25 @@ class GraphWidget(QtWidgets.QGraphicsView): self.setMinimumSize(400, 400) self.setWindowTitle(self.tr("Elastic Nodes")) - def itemMoved(self): - if not self.timerId: - self.timerId = self.startTimer(1000 / 25) + def item_moved(self): + if not self._timer_id: + self._timer_id = self.startTimer(1000 / 25) def keyPressEvent(self, event): key = event.key() if key == QtCore.Qt.Key_Up: - self.centerNode.moveBy(0, -20) + self._center_node.moveBy(0, -20) elif key == QtCore.Qt.Key_Down: - self.centerNode.moveBy(0, 20) + self._center_node.moveBy(0, 20) elif key == QtCore.Qt.Key_Left: - self.centerNode.moveBy(-20, 0) + self._center_node.moveBy(-20, 0) elif key == QtCore.Qt.Key_Right: - self.centerNode.moveBy(20, 0) + self._center_node.moveBy(20, 0) elif key == QtCore.Qt.Key_Plus: - self.scaleView(1.2) + self.scale_view(1.2) elif key == QtCore.Qt.Key_Minus: - self.scaleView(1 / 1.2) + self.scale_view(1 / 1.2) elif key == QtCore.Qt.Key_Space or key == QtCore.Qt.Key_Enter: for item in self.scene().items(): if isinstance(item, Node): @@ -351,41 +351,41 @@ class GraphWidget(QtWidgets.QGraphicsView): nodes = [item for item in self.scene().items() if isinstance(item, Node)] for node in nodes: - node.calculateForces() + node.calculate_forces() - itemsMoved = False + items_moved = False for node in nodes: if node.advance(): - itemsMoved = True + items_moved = True - if not itemsMoved: - self.killTimer(self.timerId) - self.timerId = 0 + if not items_moved: + self.killTimer(self._timer_id) + self._timer_id = 0 def wheelEvent(self, event): - self.scaleView(math.pow(2.0, -event.delta() / 240.0)) + self.scale_view(math.pow(2.0, -event.delta() / 240.0)) - def drawBackground(self, painter, rect): + def draw_background(self, painter, rect): # Shadow. - sceneRect = self.sceneRect() - rightShadow = QtCore.QRectF(sceneRect.right(), sceneRect.top() + 5, 5, sceneRect.height()) - bottomShadow = QtCore.QRectF(sceneRect.left() + 5, sceneRect.bottom(), sceneRect.width(), 5) - if rightShadow.intersects(rect) or rightShadow.contains(rect): - painter.fillRect(rightShadow, QtCore.Qt.darkGray) - if bottomShadow.intersects(rect) or bottomShadow.contains(rect): - painter.fillRect(bottomShadow, QtCore.Qt.darkGray) + scene_rect = self.sceneRect() + right_shadow = QtCore.QRectF(scene_rect.right(), scene_rect.top() + 5, 5, scene_rect.height()) + bottom_shadow = QtCore.QRectF(scene_rect.left() + 5, scene_rect.bottom(), scene_rect.width(), 5) + if right_shadow.intersects(rect) or right_shadow.contains(rect): + painter.fillRect(right_shadow, QtCore.Qt.darkGray) + if bottom_shadow.intersects(rect) or bottom_shadow.contains(rect): + painter.fillRect(bottom_shadow, QtCore.Qt.darkGray) # Fill. - gradient = QtGui.QLinearGradient(sceneRect.topLeft(), sceneRect.bottomRight()) + gradient = QtGui.QLinearGradient(scene_rect.topLeft(), scene_rect.bottomRight()) gradient.setColorAt(0, QtCore.Qt.white) gradient.setColorAt(1, QtCore.Qt.lightGray) - painter.fillRect(rect.intersected(sceneRect), QtGui.QBrush(gradient)) + painter.fillRect(rect.intersected(scene_rect), QtGui.QBrush(gradient)) painter.setBrush(QtCore.Qt.NoBrush) - painter.drawRect(sceneRect) + painter.drawRect(scene_rect) # Text. - textRect = QtCore.QRectF(sceneRect.left() + 4, sceneRect.top() + 4, - sceneRect.width() - 4, sceneRect.height() - 4) + text_rect = QtCore.QRectF(scene_rect.left() + 4, scene_rect.top() + 4, + scene_rect.width() - 4, scene_rect.height() - 4) message = self.tr("Click and drag the nodes around, and zoom with the " "mouse wheel or the '+' and '-' keys") @@ -394,11 +394,11 @@ class GraphWidget(QtWidgets.QGraphicsView): font.setPointSize(14) painter.setFont(font) painter.setPen(QtCore.Qt.lightGray) - painter.drawText(textRect.translated(2, 2), message) + painter.drawText(text_rect.translated(2, 2), message) painter.setPen(QtCore.Qt.black) - painter.drawText(textRect, message) + painter.drawText(text_rect, message) - def scaleView(self, scaleFactor): + def scale_view(self, scaleFactor): factor = self.matrix().scale(scaleFactor, scaleFactor).mapRect(QtCore.QRectF(0, 0, 1, 1)).width() if factor < 0.07 or factor > 100: diff --git a/examples/widgets/itemviews/addressbook/adddialogwidget.py b/examples/widgets/itemviews/addressbook/adddialogwidget.py index aed3d34a9..017bb9650 100644 --- a/examples/widgets/itemviews/addressbook/adddialogwidget.py +++ b/examples/widgets/itemviews/addressbook/adddialogwidget.py @@ -50,42 +50,42 @@ class AddDialogWidget(QDialog): def __init__(self, parent=None): super(AddDialogWidget, self).__init__(parent) - nameLabel = QLabel("Name") - addressLabel = QLabel("Address") - buttonBox = QDialogButtonBox(QDialogButtonBox.Ok | + name_label = QLabel("Name") + address_label = QLabel("Address") + button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) - self.nameText = QLineEdit() - self.addressText = QTextEdit() + self._name_text = QLineEdit() + self._address_text = QTextEdit() grid = QGridLayout() grid.setColumnStretch(1, 2) - grid.addWidget(nameLabel, 0, 0) - grid.addWidget(self.nameText, 0, 1) - grid.addWidget(addressLabel, 1, 0, Qt.AlignLeft | Qt.AlignTop) - grid.addWidget(self.addressText, 1, 1, Qt.AlignLeft) + grid.addWidget(name_label, 0, 0) + grid.addWidget(self._name_text, 0, 1) + grid.addWidget(address_label, 1, 0, Qt.AlignLeft | Qt.AlignTop) + grid.addWidget(self._address_text, 1, 1, Qt.AlignLeft) layout = QVBoxLayout() layout.addLayout(grid) - layout.addWidget(buttonBox) + layout.addWidget(button_box) self.setLayout(layout) self.setWindowTitle("Add a Contact") - buttonBox.accepted.connect(self.accept) - buttonBox.rejected.connect(self.reject) + button_box.accepted.connect(self.accept) + button_box.rejected.connect(self.reject) # These properties make using this dialog a little cleaner. It's much # nicer to type "addDialog.address" to retrieve the address as compared # to "addDialog.addressText.toPlainText()" @property def name(self): - return self.nameText.text() + return self._name_text.text() @property def address(self): - return self.addressText.toPlainText() + return self._address_text.toPlainText() if __name__ == "__main__": diff --git a/examples/widgets/itemviews/addressbook/addressbook.py b/examples/widgets/itemviews/addressbook/addressbook.py index 35dbcc860..c105a9542 100644 --- a/examples/widgets/itemviews/addressbook/addressbook.py +++ b/examples/widgets/itemviews/addressbook/addressbook.py @@ -51,37 +51,37 @@ class MainWindow(QMainWindow): def __init__(self, parent=None): super(MainWindow, self).__init__(parent) - self.addressWidget = AddressWidget() - self.setCentralWidget(self.addressWidget) - self.createMenus() + self._address_widget = AddressWidget() + self.setCentralWidget(self._address_widget) + self.create_menus() self.setWindowTitle("Address Book") - def createMenus(self): + def create_menus(self): # Create the main menuBar menu items - fileMenu = self.menuBar().addMenu("&File") - toolMenu = self.menuBar().addMenu("&Tools") + file_menu = self.menuBar().addMenu("&File") + tool_menu = self.menuBar().addMenu("&Tools") # Populate the File menu - openAction = self.createAction("&Open...", fileMenu, self.openFile) - saveAction = self.createAction("&Save As...", fileMenu, self.saveFile) - fileMenu.addSeparator() - exitAction = self.createAction("E&xit", fileMenu, self.close) + open_action = self.create_action("&Open...", file_menu, self.open_file) + save_action = self.create_action("&Save As...", file_menu, self.save_file) + file_menu.addSeparator() + exit_action = self.create_action("E&xit", file_menu, self.close) # Populate the Tools menu - addAction = self.createAction("&Add Entry...", toolMenu, self.addressWidget.addEntry) - self.editAction = self.createAction("&Edit Entry...", toolMenu, self.addressWidget.editEntry) - toolMenu.addSeparator() - self.removeAction = self.createAction("&Remove Entry", toolMenu, self.addressWidget.removeEntry) + add_action = self.create_action("&Add Entry...", tool_menu, self._address_widget.add_entry) + self._edit_action = self.create_action("&Edit Entry...", tool_menu, self._address_widget.edit_entry) + tool_menu.addSeparator() + self._remove_action = self.create_action("&Remove Entry", tool_menu, self._address_widget.remove_entry) # Disable the edit and remove menu items initially, as there are # no items yet. - self.editAction.setEnabled(False) - self.removeAction.setEnabled(False) + self._edit_action.setEnabled(False) + self._remove_action.setEnabled(False) # Wire up the updateActions slot - self.addressWidget.selectionChanged.connect(self.updateActions) + self._address_widget.selection_changed.connect(self.update_actions) - def createAction(self, text, menu, slot): + def create_action(self, text, menu, slot): """ Helper function to save typing when populating menus with action. """ @@ -98,28 +98,28 @@ class MainWindow(QMainWindow): # # In PySide6, these functions return a tuple: (filename, filter) - def openFile(self): + def open_file(self): filename, _ = QFileDialog.getOpenFileName(self) if filename: - self.addressWidget.readFromFile(filename) + self._address_widget.read_from_file(filename) - def saveFile(self): + def save_file(self): filename, _ = QFileDialog.getSaveFileName(self) if filename: - self.addressWidget.writeToFile(filename) + self._address_widget.write_to_file(filename) - def updateActions(self, selection): + def update_actions(self, selection): """ Only allow the user to remove or edit an item if an item is actually selected. """ indexes = selection.indexes() if len(indexes) > 0: - self.removeAction.setEnabled(True) - self.editAction.setEnabled(True) + self._remove_action.setEnabled(True) + self._edit_action.setEnabled(True) else: - self.removeAction.setEnabled(False) - self.editAction.setEnabled(False) + self._remove_action.setEnabled(False) + self._edit_action.setEnabled(False) if __name__ == "__main__": diff --git a/examples/widgets/itemviews/addressbook/addresswidget.py b/examples/widgets/itemviews/addressbook/addresswidget.py index b90ba31ac..07fc53234 100644 --- a/examples/widgets/itemviews/addressbook/addresswidget.py +++ b/examples/widgets/itemviews/addressbook/addresswidget.py @@ -59,31 +59,31 @@ class AddressWidget(QTabWidget): functionality is contained in this class. """ - selectionChanged = Signal(QItemSelection) + selection_changed = Signal(QItemSelection) def __init__(self, parent=None): """ Initialize the AddressWidget. """ super(AddressWidget, self).__init__(parent) - self.tableModel = TableModel() - self.newAddressTab = NewAddressTab() - self.newAddressTab.sendDetails.connect(self.addEntry) + self._table_model = TableModel() + self._new_address_tab = NewAddressTab() + self._new_address_tab.send_details.connect(self.add_entry) - self.addTab(self.newAddressTab, "Address Book") + self.addTab(self._new_address_tab, "Address Book") - self.setupTabs() + self.setup_tabs() - def addEntry(self, name=None, address=None): + def add_entry(self, name=None, address=None): """ Add an entry to the addressbook. """ if name is None and address is None: - addDialog = AddDialogWidget() + add_dialog = AddDialogWidget() - if addDialog.exec_(): - name = addDialog.name - address = addDialog.address + if add_dialog.exec_(): + name = add_dialog.name + address = add_dialog.address address = {"name": name, "address": address} - addresses = self.tableModel.addresses[:] + addresses = self._table_model.addresses[:] # The QT docs for this example state that what we're doing here # is checking if the entered name already exists. What they @@ -99,95 +99,95 @@ class AddressWidget(QTabWidget): # The address didn't already exist, so let's add it to the model. # Step 1: create the row - self.tableModel.insertRows(0) + self._table_model.insertRows(0) # Step 2: get the index of the newly created row and use it. # to set the name - ix = self.tableModel.index(0, 0, QModelIndex()) - self.tableModel.setData(ix, address["name"], Qt.EditRole) + ix = self._table_model.index(0, 0, QModelIndex()) + self._table_model.setData(ix, address["name"], Qt.EditRole) # Step 3: lather, rinse, repeat for the address. - ix = self.tableModel.index(0, 1, QModelIndex()) - self.tableModel.setData(ix, address["address"], Qt.EditRole) + ix = self._table_model.index(0, 1, QModelIndex()) + self._table_model.setData(ix, address["address"], Qt.EditRole) # Remove the newAddressTab, as we now have at least one # address in the model. - self.removeTab(self.indexOf(self.newAddressTab)) + self.removeTab(self.indexOf(self._new_address_tab)) # The screenshot for the QT example shows nicely formatted # multiline cells, but the actual application doesn't behave # quite so nicely, at least on Ubuntu. Here we resize the newly # created row so that multiline addresses look reasonable. - tableView = self.currentWidget() - tableView.resizeRowToContents(ix.row()) + table_view = self.currentWidget() + table_view.resizeRowToContents(ix.row()) - def editEntry(self): + def edit_entry(self): """ Edit an entry in the addressbook. """ - tableView = self.currentWidget() - proxyModel = tableView.model() - selectionModel = tableView.selectionModel() + table_view = self.currentWidget() + proxy_model = table_view.model() + selection_model = table_view.selectionModel() # Get the name and address of the currently selected row. - indexes = selectionModel.selectedRows() + indexes = selection_model.selectedRows() if len(indexes) != 1: return - row = proxyModel.mapToSource(indexes[0]).row() - ix = self.tableModel.index(row, 0, QModelIndex()) - name = self.tableModel.data(ix, Qt.DisplayRole) - ix = self.tableModel.index(row, 1, QModelIndex()) - address = self.tableModel.data(ix, Qt.DisplayRole) + row = proxy_model.mapToSource(indexes[0]).row() + ix = self._table_model.index(row, 0, QModelIndex()) + name = self._table_model.data(ix, Qt.DisplayRole) + ix = self._table_model.index(row, 1, QModelIndex()) + address = self._table_model.data(ix, Qt.DisplayRole) # Open an addDialogWidget, and only allow the user to edit the address. - addDialog = AddDialogWidget() - addDialog.setWindowTitle("Edit a Contact") + add_dialog = AddDialogWidget() + add_dialog.setWindowTitle("Edit a Contact") - addDialog.nameText.setReadOnly(True) - addDialog.nameText.setText(name) - addDialog.addressText.setText(address) + add_dialog._name_text.setReadOnly(True) + add_dialog._name_text.setText(name) + add_dialog._address_text.setText(address) # If the address is different, add it to the model. - if addDialog.exec_(): - newAddress = addDialog.address - if newAddress != address: - ix = self.tableModel.index(row, 1, QModelIndex()) - self.tableModel.setData(ix, newAddress, Qt.EditRole) + if add_dialog.exec_(): + new_address = add_dialog.address + if new_address != address: + ix = self._table_model.index(row, 1, QModelIndex()) + self._table_model.setData(ix, new_address, Qt.EditRole) - def removeEntry(self): + def remove_entry(self): """ Remove an entry from the addressbook. """ - tableView = self.currentWidget() - proxyModel = tableView.model() - selectionModel = tableView.selectionModel() + table_view = self.currentWidget() + proxy_model = table_view.model() + selection_model = table_view.selectionModel() # Just like editEntry, but this time remove the selected row. - indexes = selectionModel.selectedRows() + indexes = selection_model.selectedRows() for index in indexes: - row = proxyModel.mapToSource(index).row() - self.tableModel.removeRows(row) + row = proxy_model.mapToSource(index).row() + self._table_model.removeRows(row) # If we've removed the last address in the model, display the # newAddressTab - if self.tableModel.rowCount() == 0: - self.insertTab(0, self.newAddressTab, "Address Book") + if self._table_model.rowCount() == 0: + self.insertTab(0, self._new_address_tab, "Address Book") - def setupTabs(self): + def setup_tabs(self): """ Setup the various tabs in the AddressWidget. """ groups = ["ABC", "DEF", "GHI", "JKL", "MNO", "PQR", "STU", "VW", "XYZ"] for group in groups: - proxyModel = QSortFilterProxyModel(self) - proxyModel.setSourceModel(self.tableModel) - proxyModel.setDynamicSortFilter(True) - - tableView = QTableView() - tableView.setModel(proxyModel) - tableView.setSortingEnabled(True) - tableView.setSelectionBehavior(QAbstractItemView.SelectRows) - tableView.horizontalHeader().setStretchLastSection(True) - tableView.verticalHeader().hide() - tableView.setEditTriggers(QAbstractItemView.NoEditTriggers) - tableView.setSelectionMode(QAbstractItemView.SingleSelection) + proxy_model = QSortFilterProxyModel(self) + proxy_model.setSourceModel(self._table_model) + proxy_model.setDynamicSortFilter(True) + + table_view = QTableView() + table_view.setModel(proxy_model) + table_view.setSortingEnabled(True) + table_view.setSelectionBehavior(QAbstractItemView.SelectRows) + table_view.horizontalHeader().setStretchLastSection(True) + table_view.verticalHeader().hide() + table_view.setEditTriggers(QAbstractItemView.NoEditTriggers) + table_view.setSelectionMode(QAbstractItemView.SingleSelection) # This here be the magic: we use the group name (e.g. "ABC") to # build the regex for the QSortFilterProxyModel for the group's @@ -197,21 +197,21 @@ class AddressWidget(QTabWidget): re = QRegularExpression(f"^[{group}].*") assert re.isValid() re.setPatternOptions(QRegularExpression.CaseInsensitiveOption) - proxyModel.setFilterRegularExpression(re) - proxyModel.setFilterKeyColumn(0) # Filter on the "name" column - proxyModel.sort(0, Qt.AscendingOrder) + proxy_model.setFilterRegularExpression(re) + proxy_model.setFilterKeyColumn(0) # Filter on the "name" column + proxy_model.sort(0, Qt.AscendingOrder) # This prevents an application crash (see: http://www.qtcentre.org/threads/58874-QListView-SelectionModel-selectionChanged-Crash) - viewselectionmodel = tableView.selectionModel() - tableView.selectionModel().selectionChanged.connect(self.selectionChanged) + viewselectionmodel = table_view.selectionModel() + table_view.selectionModel().selectionChanged.connect(self.selection_changed) - self.addTab(tableView, group) + self.addTab(table_view, group) # Note: the QT example uses a QDataStream for the saving and loading. # Here we're using a python dictionary to store the addresses, which # can't be streamed using QDataStream, so we just use cpickle for this # example. - def readFromFile(self, filename): + def read_from_file(self, filename): """ Read contacts in from a file. """ try: f = open(filename, "rb") @@ -225,13 +225,13 @@ class AddressWidget(QTabWidget): QMessageBox.information(self, f"No contacts in file: {filename}") else: for address in addresses: - self.addEntry(address["name"], address["address"]) + self.add_entry(address["name"], address["address"]) - def writeToFile(self, filename): + def write_to_file(self, filename): """ Save all contacts in the model to a file. """ try: f = open(filename, "wb") - pickle.dump(self.tableModel.addresses, f) + pickle.dump(self._table_model.addresses, f) except IOError: QMessageBox.information(self, f"Unable to open file: {filename}") @@ -244,6 +244,6 @@ if __name__ == "__main__": from PySide6.QtWidgets import QApplication app = QApplication(sys.argv) - addressWidget = AddressWidget() - addressWidget.show() + address_widget = AddressWidget() + address_widget.show() sys.exit(app.exec_()) diff --git a/examples/widgets/itemviews/addressbook/newaddresstab.py b/examples/widgets/itemviews/addressbook/newaddresstab.py index 32ed515a0..6833eaf4a 100644 --- a/examples/widgets/itemviews/addressbook/newaddresstab.py +++ b/examples/widgets/itemviews/addressbook/newaddresstab.py @@ -50,36 +50,36 @@ class NewAddressTab(QWidget): To be displayed only when there are no contacts in the model. """ - sendDetails = Signal(str, str) + send_details = Signal(str, str) def __init__(self, parent=None): super(NewAddressTab, self).__init__(parent) - descriptionLabel = QLabel("There are no contacts in your address book." + description_label = QLabel("There are no contacts in your address book." "\nClick Add to add new contacts.") - addButton = QPushButton("Add") + add_button = QPushButton("Add") layout = QVBoxLayout() - layout.addWidget(descriptionLabel) - layout.addWidget(addButton, 0, Qt.AlignCenter) + layout.addWidget(description_label) + layout.addWidget(add_button, 0, Qt.AlignCenter) self.setLayout(layout) - addButton.clicked.connect(self.addEntry) + add_button.clicked.connect(self.add_entry) - def addEntry(self): - addDialog = AddDialogWidget() + def add_entry(self): + add_dialog = AddDialogWidget() - if addDialog.exec_(): - name = addDialog.name - address = addDialog.address - self.sendDetails.emit(name, address) + if add_dialog.exec_(): + name = add_dialog.name + address = add_dialog.address + self.send_details.emit(name, address) if __name__ == "__main__": - def printAddress(name, address): + def print_address(name, address): print("Name:" + name) print("Address:" + address) @@ -87,7 +87,7 @@ if __name__ == "__main__": from PySide6.QtWidgets import QApplication app = QApplication(sys.argv) - newAddressTab = NewAddressTab() - newAddressTab.sendDetails.connect(printAddress) - newAddressTab.show() + new_address_tab = NewAddressTab() + new_address_tab.send_details.connect(print_address) + new_address_tab.show() sys.exit(app.exec_()) diff --git a/examples/widgets/itemviews/basicfiltermodel/basicsortfiltermodel.py b/examples/widgets/itemviews/basicfiltermodel/basicsortfiltermodel.py index 845755cb9..3e1e3f9ed 100644 --- a/examples/widgets/itemviews/basicfiltermodel/basicsortfiltermodel.py +++ b/examples/widgets/itemviews/basicfiltermodel/basicsortfiltermodel.py @@ -58,148 +58,148 @@ class Window(QWidget): def __init__(self): super(Window, self).__init__() - self.proxyModel = QSortFilterProxyModel() - self.proxyModel.setDynamicSortFilter(True) + self._proxy_model = QSortFilterProxyModel() + self._proxy_model.setDynamicSortFilter(True) - self.sourceGroupBox = QGroupBox("Original Model") - self.proxyGroupBox = QGroupBox("Sorted/Filtered Model") + self._source_group_box = QGroupBox("Original Model") + self._proxy_group_box = QGroupBox("Sorted/Filtered Model") - self.sourceView = QTreeView() - self.sourceView.setRootIsDecorated(False) - self.sourceView.setAlternatingRowColors(True) + self._source_view = QTreeView() + self._source_view.setRootIsDecorated(False) + self._source_view.setAlternatingRowColors(True) - self.proxyView = QTreeView() - self.proxyView.setRootIsDecorated(False) - self.proxyView.setAlternatingRowColors(True) - self.proxyView.setModel(self.proxyModel) - self.proxyView.setSortingEnabled(True) + self._proxy_view = QTreeView() + self._proxy_view.setRootIsDecorated(False) + self._proxy_view.setAlternatingRowColors(True) + self._proxy_view.setModel(self._proxy_model) + self._proxy_view.setSortingEnabled(True) - self.sortCaseSensitivityCheckBox = QCheckBox("Case sensitive sorting") - self.filterCaseSensitivityCheckBox = QCheckBox("Case sensitive filter") + self._sort_case_sensitivity_check_box = QCheckBox("Case sensitive sorting") + self._filter_case_sensitivity_check_box = QCheckBox("Case sensitive filter") - self.filterPatternLineEdit = QLineEdit() - self.filterPatternLineEdit.setClearButtonEnabled(True) - self.filterPatternLabel = QLabel("&Filter pattern:") - self.filterPatternLabel.setBuddy(self.filterPatternLineEdit) + self._filter_pattern_line_edit = QLineEdit() + self._filter_pattern_line_edit.setClearButtonEnabled(True) + self._filter_pattern_label = QLabel("&Filter pattern:") + self._filter_pattern_label.setBuddy(self._filter_pattern_line_edit) - self.filterSyntaxComboBox = QComboBox() - self.filterSyntaxComboBox.addItem("Regular expression", + self._filter_syntax_combo_box = QComboBox() + self._filter_syntax_combo_box.addItem("Regular expression", REGULAR_EXPRESSION) - self.filterSyntaxComboBox.addItem("Wildcard", + self._filter_syntax_combo_box.addItem("Wildcard", WILDCARD) - self.filterSyntaxComboBox.addItem("Fixed string", + self._filter_syntax_combo_box.addItem("Fixed string", FIXED_STRING) - self.filterSyntaxLabel = QLabel("Filter &syntax:") - self.filterSyntaxLabel.setBuddy(self.filterSyntaxComboBox) - - self.filterColumnComboBox = QComboBox() - self.filterColumnComboBox.addItem("Subject") - self.filterColumnComboBox.addItem("Sender") - self.filterColumnComboBox.addItem("Date") - self.filterColumnLabel = QLabel("Filter &column:") - self.filterColumnLabel.setBuddy(self.filterColumnComboBox) - - self.filterPatternLineEdit.textChanged.connect(self.filterRegExpChanged) - self.filterSyntaxComboBox.currentIndexChanged.connect(self.filterRegExpChanged) - self.filterColumnComboBox.currentIndexChanged.connect(self.filterColumnChanged) - self.filterCaseSensitivityCheckBox.toggled.connect(self.filterRegExpChanged) - self.sortCaseSensitivityCheckBox.toggled.connect(self.sortChanged) - - sourceLayout = QHBoxLayout() - sourceLayout.addWidget(self.sourceView) - self.sourceGroupBox.setLayout(sourceLayout) - - proxyLayout = QGridLayout() - proxyLayout.addWidget(self.proxyView, 0, 0, 1, 3) - proxyLayout.addWidget(self.filterPatternLabel, 1, 0) - proxyLayout.addWidget(self.filterPatternLineEdit, 1, 1, 1, 2) - proxyLayout.addWidget(self.filterSyntaxLabel, 2, 0) - proxyLayout.addWidget(self.filterSyntaxComboBox, 2, 1, 1, 2) - proxyLayout.addWidget(self.filterColumnLabel, 3, 0) - proxyLayout.addWidget(self.filterColumnComboBox, 3, 1, 1, 2) - proxyLayout.addWidget(self.filterCaseSensitivityCheckBox, 4, 0, 1, 2) - proxyLayout.addWidget(self.sortCaseSensitivityCheckBox, 4, 2) - self.proxyGroupBox.setLayout(proxyLayout) - - mainLayout = QVBoxLayout() - mainLayout.addWidget(self.sourceGroupBox) - mainLayout.addWidget(self.proxyGroupBox) - self.setLayout(mainLayout) + self._filter_syntax_label = QLabel("Filter &syntax:") + self._filter_syntax_label.setBuddy(self._filter_syntax_combo_box) + + self._filter_column_combo_box = QComboBox() + self._filter_column_combo_box.addItem("Subject") + self._filter_column_combo_box.addItem("Sender") + self._filter_column_combo_box.addItem("Date") + self._filter_column_label = QLabel("Filter &column:") + self._filter_column_label.setBuddy(self._filter_column_combo_box) + + self._filter_pattern_line_edit.textChanged.connect(self.filter_reg_exp_changed) + self._filter_syntax_combo_box.currentIndexChanged.connect(self.filter_reg_exp_changed) + self._filter_column_combo_box.currentIndexChanged.connect(self.filter_column_changed) + self._filter_case_sensitivity_check_box.toggled.connect(self.filter_reg_exp_changed) + self._sort_case_sensitivity_check_box.toggled.connect(self.sort_changed) + + source_layout = QHBoxLayout() + source_layout.addWidget(self._source_view) + self._source_group_box.setLayout(source_layout) + + proxy_layout = QGridLayout() + proxy_layout.addWidget(self._proxy_view, 0, 0, 1, 3) + proxy_layout.addWidget(self._filter_pattern_label, 1, 0) + proxy_layout.addWidget(self._filter_pattern_line_edit, 1, 1, 1, 2) + proxy_layout.addWidget(self._filter_syntax_label, 2, 0) + proxy_layout.addWidget(self._filter_syntax_combo_box, 2, 1, 1, 2) + proxy_layout.addWidget(self._filter_column_label, 3, 0) + proxy_layout.addWidget(self._filter_column_combo_box, 3, 1, 1, 2) + proxy_layout.addWidget(self._filter_case_sensitivity_check_box, 4, 0, 1, 2) + proxy_layout.addWidget(self._sort_case_sensitivity_check_box, 4, 2) + self._proxy_group_box.setLayout(proxy_layout) + + main_layout = QVBoxLayout() + main_layout.addWidget(self._source_group_box) + main_layout.addWidget(self._proxy_group_box) + self.setLayout(main_layout) self.setWindowTitle("Basic Sort/Filter Model") self.resize(500, 450) - self.proxyView.sortByColumn(1, Qt.AscendingOrder) - self.filterColumnComboBox.setCurrentIndex(1) + self._proxy_view.sortByColumn(1, Qt.AscendingOrder) + self._filter_column_combo_box.setCurrentIndex(1) - self.filterPatternLineEdit.setText("Andy|Grace") - self.filterCaseSensitivityCheckBox.setChecked(True) - self.sortCaseSensitivityCheckBox.setChecked(True) + self._filter_pattern_line_edit.setText("Andy|Grace") + self._filter_case_sensitivity_check_box.setChecked(True) + self._sort_case_sensitivity_check_box.setChecked(True) - def setSourceModel(self, model): - self.proxyModel.setSourceModel(model) - self.sourceView.setModel(model) + def set_source_model(self, model): + self._proxy_model.setSourceModel(model) + self._source_view.setModel(model) - def filterRegExpChanged(self): - syntax_nr = self.filterSyntaxComboBox.currentData() - pattern = self.filterPatternLineEdit.text() + def filter_reg_exp_changed(self): + syntax_nr = self._filter_syntax_combo_box.currentData() + pattern = self._filter_pattern_line_edit.text() if syntax_nr == WILDCARD: pattern = QRegularExpression.wildcardToRegularExpression(pattern) elif syntax_nr == FIXED_STRING: pattern = QRegularExpression.escape(pattern) - regExp = QRegularExpression(pattern) - if not self.filterCaseSensitivityCheckBox.isChecked(): - options = regExp.patternOptions() + reg_exp = QRegularExpression(pattern) + if not self._filter_case_sensitivity_check_box.isChecked(): + options = reg_exp.patternOptions() options |= QRegularExpression.CaseInsensitiveOption - regExp.setPatternOptions(options) - self.proxyModel.setFilterRegularExpression(regExp) + reg_exp.setPatternOptions(options) + self._proxy_model.setFilterRegularExpression(reg_exp) - def filterColumnChanged(self): - self.proxyModel.setFilterKeyColumn(self.filterColumnComboBox.currentIndex()) + def filter_column_changed(self): + self._proxy_model.setFilterKeyColumn(self._filter_column_combo_box.currentIndex()) - def sortChanged(self): - if self.sortCaseSensitivityCheckBox.isChecked(): - caseSensitivity = Qt.CaseSensitive + def sort_changed(self): + if self._sort_case_sensitivity_check_box.isChecked(): + case_sensitivity = Qt.CaseSensitive else: - caseSensitivity = Qt.CaseInsensitive + case_sensitivity = Qt.CaseInsensitive - self.proxyModel.setSortCaseSensitivity(caseSensitivity) + self._proxy_model.setSortCaseSensitivity(case_sensitivity) -def addMail(model, subject, sender, date): +def add_mail(model, subject, sender, date): model.insertRow(0) model.setData(model.index(0, 0), subject) model.setData(model.index(0, 1), sender) model.setData(model.index(0, 2), date) -def createMailModel(parent): +def create_mail_model(parent): model = QStandardItemModel(0, 3, parent) model.setHeaderData(0, Qt.Horizontal, "Subject") model.setHeaderData(1, Qt.Horizontal, "Sender") model.setHeaderData(2, Qt.Horizontal, "Date") - addMail(model, "Happy New Year!", "Grace K. ", + add_mail(model, "Happy New Year!", "Grace K. ", QDateTime(QDate(2006, 12, 31), QTime(17, 3))) - addMail(model, "Radically new concept", "Grace K. ", + add_mail(model, "Radically new concept", "Grace K. ", QDateTime(QDate(2006, 12, 22), QTime(9, 44))) - addMail(model, "Accounts", "pascale@nospam.com", + add_mail(model, "Accounts", "pascale@nospam.com", QDateTime(QDate(2006, 12, 31), QTime(12, 50))) - addMail(model, "Expenses", "Joe Bloggs ", + add_mail(model, "Expenses", "Joe Bloggs ", QDateTime(QDate(2006, 12, 25), QTime(11, 39))) - addMail(model, "Re: Expenses", "Andy ", + add_mail(model, "Re: Expenses", "Andy ", QDateTime(QDate(2007, 1, 2), QTime(16, 5))) - addMail(model, "Re: Accounts", "Joe Bloggs ", + add_mail(model, "Re: Accounts", "Joe Bloggs ", QDateTime(QDate(2007, 1, 3), QTime(14, 18))) - addMail(model, "Re: Accounts", "Andy ", + add_mail(model, "Re: Accounts", "Andy ", QDateTime(QDate(2007, 1, 3), QTime(14, 26))) - addMail(model, "Sports", "Linda Smith ", + add_mail(model, "Sports", "Linda Smith ", QDateTime(QDate(2007, 1, 5), QTime(11, 33))) - addMail(model, "AW: Sports", "Rolf Newschweinstein ", + add_mail(model, "AW: Sports", "Rolf Newschweinstein ", QDateTime(QDate(2007, 1, 5), QTime(12, 0))) - addMail(model, "RE: Sports", "Petra Schmidt ", + add_mail(model, "RE: Sports", "Petra Schmidt ", QDateTime(QDate(2007, 1, 5), QTime(12, 1))) return model @@ -208,6 +208,6 @@ def createMailModel(parent): if __name__ == '__main__': app = QApplication(sys.argv) window = Window() - window.setSourceModel(createMailModel(window)) + window.set_source_model(create_mail_model(window)) window.show() sys.exit(app.exec_()) diff --git a/examples/widgets/itemviews/fetchmore/fetchmore.py b/examples/widgets/itemviews/fetchmore/fetchmore.py index 281cc166b..562a588f9 100644 --- a/examples/widgets/itemviews/fetchmore/fetchmore.py +++ b/examples/widgets/itemviews/fetchmore/fetchmore.py @@ -45,26 +45,26 @@ from PySide6 import QtCore, QtWidgets class FileListModel(QtCore.QAbstractListModel): - numberPopulated = QtCore.Signal(int) + number_populated = QtCore.Signal(int) def __init__(self, parent=None): super(FileListModel, self).__init__(parent) - self.fileCount = 0 - self.fileList = [] + self._file_count = 0 + self._file_list = [] def rowCount(self, parent=QtCore.QModelIndex()): - return self.fileCount + return self._file_count def data(self, index, role=QtCore.Qt.DisplayRole): if not index.isValid(): return None - if index.row() >= len(self.fileList) or index.row() < 0: + if index.row() >= len(self._file_list) or index.row() < 0: return None if role == QtCore.Qt.DisplayRole: - return self.fileList[index.row()] + return self._file_list[index.row()] if role == QtCore.Qt.BackgroundRole: batch = (index.row() // 100) % 2 @@ -77,27 +77,27 @@ class FileListModel(QtCore.QAbstractListModel): return None def canFetchMore(self, index): - return self.fileCount < len(self.fileList) + return self._file_count < len(self._file_list) def fetchMore(self, index): - remainder = len(self.fileList) - self.fileCount - itemsToFetch = min(100, remainder) + remainder = len(self._file_list) - self._file_count + items_to_fetch = min(100, remainder) - self.beginInsertRows(QtCore.QModelIndex(), self.fileCount, - self.fileCount + itemsToFetch) + self.beginInsertRows(QtCore.QModelIndex(), self._file_count, + self._file_count + items_to_fetch) - self.fileCount += itemsToFetch + self._file_count += items_to_fetch self.endInsertRows() - self.numberPopulated.emit(itemsToFetch) + self.number_populated.emit(items_to_fetch) - def setDirPath(self, path): + def set_dir_path(self, path): dir = QtCore.QDir(path) self.beginResetModel() - self.fileList = list(dir.entryList()) - self.fileCount = 0 + self._file_list = list(dir.entryList()) + self._file_count = 0 self.endResetModel() @@ -106,33 +106,33 @@ class Window(QtWidgets.QWidget): super(Window, self).__init__(parent) model = FileListModel(self) - model.setDirPath(QtCore.QLibraryInfo.location(QtCore.QLibraryInfo.PrefixPath)) + model.set_dir_path(QtCore.QLibraryInfo.location(QtCore.QLibraryInfo.PrefixPath)) label = QtWidgets.QLabel("Directory") - lineEdit = QtWidgets.QLineEdit() - label.setBuddy(lineEdit) + line_edit = QtWidgets.QLineEdit() + label.setBuddy(line_edit) view = QtWidgets.QListView() view.setModel(model) - self.logViewer = QtWidgets.QTextBrowser() - self.logViewer.setSizePolicy(QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)) + self._log_viewer = QtWidgets.QTextBrowser() + self._log_viewer.setSizePolicy(QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)) - lineEdit.textChanged.connect(model.setDirPath) - lineEdit.textChanged.connect(self.logViewer.clear) - model.numberPopulated.connect(self.updateLog) + line_edit.textChanged.connect(model.set_dir_path) + line_edit.textChanged.connect(self._log_viewer.clear) + model.number_populated.connect(self.update_log) layout = QtWidgets.QGridLayout() layout.addWidget(label, 0, 0) - layout.addWidget(lineEdit, 0, 1) + layout.addWidget(line_edit, 0, 1) layout.addWidget(view, 1, 0, 1, 2) - layout.addWidget(self.logViewer, 2, 0, 1, 2) + layout.addWidget(self._log_viewer, 2, 0, 1, 2) self.setLayout(layout) self.setWindowTitle("Fetch More Example") - def updateLog(self, number): - self.logViewer.append(f"{number} items added.") + def update_log(self, number): + self._log_viewer.append(f"{number} items added.") if __name__ == '__main__': diff --git a/examples/widgets/itemviews/stardelegate/stardelegate.py b/examples/widgets/itemviews/stardelegate/stardelegate.py index 425a06be5..847727267 100644 --- a/examples/widgets/itemviews/stardelegate/stardelegate.py +++ b/examples/widgets/itemviews/stardelegate/stardelegate.py @@ -66,7 +66,7 @@ class StarDelegate(QStyledItemDelegate): it works for the purposes of this example. """ if index.column() == 3: - starRating = StarRating(index.data()) + star_rating = StarRating(index.data()) # If the row is currently selected, we need to make sure we # paint the background accordingly. @@ -85,15 +85,15 @@ class StarDelegate(QStyledItemDelegate): # Now that we've painted the background, call starRating.paint() # to paint the stars. - starRating.paint(painter, option.rect, option.palette) + star_rating.paint(painter, option.rect, option.palette) else: QStyledItemDelegate.paint(self, painter, option, index) def sizeHint(self, option, index): """ Returns the size needed to display the item in a QSize object. """ if index.column() == 3: - starRating = StarRating(index.data()) - return starRating.sizeHint() + star_rating = StarRating(index.data()) + return star_rating.sizeHint() else: return QStyledItemDelegate.sizeHint(self, option, index) @@ -107,7 +107,7 @@ class StarDelegate(QStyledItemDelegate): """ if index.column() == 3: editor = StarEditor(parent) - editor.editingFinished.connect(self.commitAndCloseEditor) + editor.editing_finished.connect(self.commit_and_close_editor) return editor else: return QStyledItemDelegate.createEditor(self, parent, option, index) @@ -115,7 +115,7 @@ class StarDelegate(QStyledItemDelegate): def setEditorData(self, editor, index): """ Sets the data to be displayed and edited by our custom editor. """ if index.column() == 3: - editor.starRating = StarRating(index.data()) + editor.star_rating = StarRating(index.data()) else: QStyledItemDelegate.setEditorData(self, editor, index) @@ -123,11 +123,11 @@ class StarDelegate(QStyledItemDelegate): """ Get the data from our custom editor and stuffs it into the model. """ if index.column() == 3: - model.setData(index, editor.starRating.starCount) + model.setData(index, editor.star_rating.star_count) else: QStyledItemDelegate.setModelData(self, editor, model, index) - def commitAndCloseEditor(self): + def commit_and_close_editor(self): """ Erm... commits the data and closes the editor. :) """ editor = self.sender() @@ -146,12 +146,12 @@ if __name__ == "__main__": app = QApplication(sys.argv) # Create and populate the tableWidget - tableWidget = QTableWidget(4, 4) - tableWidget.setItemDelegate(StarDelegate()) - tableWidget.setEditTriggers(QAbstractItemView.DoubleClicked | + table_widget = QTableWidget(4, 4) + table_widget.setItemDelegate(StarDelegate()) + table_widget.setEditTriggers(QAbstractItemView.DoubleClicked | QAbstractItemView.SelectedClicked) - tableWidget.setSelectionBehavior(QAbstractItemView.SelectRows) - tableWidget.setHorizontalHeaderLabels(["Title", "Genre", "Artist", "Rating"]) + table_widget.setSelectionBehavior(QAbstractItemView.SelectRows) + table_widget.setHorizontalHeaderLabels(["Title", "Genre", "Artist", "Rating"]) data = [ ["Mass in B-Minor", "Baroque", "J.S. Bach", 5], ["Three More Foxes", "Jazz", "Maynard Ferguson", 4], @@ -159,15 +159,15 @@ if __name__ == "__main__": ["Barbie Girl", "Pop", "Aqua", 5] ] for r in range(len(data)): - tableWidget.setItem(r, 0, QTableWidgetItem(data[r][0])) - tableWidget.setItem(r, 1, QTableWidgetItem(data[r][1])) - tableWidget.setItem(r, 2, QTableWidgetItem(data[r][2])) + table_widget.setItem(r, 0, QTableWidgetItem(data[r][0])) + table_widget.setItem(r, 1, QTableWidgetItem(data[r][1])) + table_widget.setItem(r, 2, QTableWidgetItem(data[r][2])) item = QTableWidgetItem() - item.setData(0, StarRating(data[r][3]).starCount) - tableWidget.setItem(r, 3, item) + item.setData(0, StarRating(data[r][3]).star_count) + table_widget.setItem(r, 3, item) - tableWidget.resizeColumnsToContents() - tableWidget.resize(500, 300) - tableWidget.show() + table_widget.resizeColumnsToContents() + table_widget.resize(500, 300) + table_widget.show() sys.exit(app.exec_()) diff --git a/examples/widgets/itemviews/stardelegate/stareditor.py b/examples/widgets/itemviews/stardelegate/stareditor.py index f99ab9ca6..ef6235247 100644 --- a/examples/widgets/itemviews/stardelegate/stareditor.py +++ b/examples/widgets/itemviews/stardelegate/stareditor.py @@ -51,7 +51,7 @@ class StarEditor(QWidget): """ The custom editor for editing StarRatings. """ # A signal to tell the delegate when we've finished editing. - editingFinished = Signal() + editing_finished = Signal() def __init__(self, parent=None): """ Initialize the editor object, making sure we can watch mouse @@ -61,40 +61,40 @@ class StarEditor(QWidget): self.setMouseTracking(True) self.setAutoFillBackground(True) - self.starRating = StarRating() + self.star_rating = StarRating() def sizeHint(self): """ Tell the caller how big we are. """ - return self.starRating.sizeHint() + return self.star_rating.sizeHint() def paintEvent(self, event): """ Paint the editor, offloading the work to the StarRating class. """ painter = QPainter(self) - self.starRating.paint(painter, self.rect(), self.palette(), isEditable=True) + self.star_rating.paint(painter, self.rect(), self.palette(), isEditable=True) def mouseMoveEvent(self, event): """ As the mouse moves inside the editor, track the position and update the editor to display as many stars as necessary. """ - star = self.starAtPosition(event.x()) + star = self.star_at_position(event.x()) - if (star != self.starRating.starCount) and (star != -1): - self.starRating.starCount = star + if (star != self.star_rating.star_count) and (star != -1): + self.star_rating.star_count = star self.update() def mouseReleaseEvent(self, event): """ Once the user has clicked his/her chosen star rating, tell the delegate we're done editing. """ - self.editingFinished.emit() + self.editing_finished.emit() - def starAtPosition(self, x): + def star_at_position(self, x): """ Calculate which star the user's mouse cursor is currently hovering over. """ - star = (x / (self.starRating.sizeHint().width() / - self.starRating.maxStarCount)) + 1 - if (star <= 0) or (star > self.starRating.maxStarCount): + star = (x / (self.star_rating.sizeHint().width() / + self.star_rating.MAX_STAR_COUNT)) + 1 + if (star <= 0) or (star > self.star_rating.MAX_STAR_COUNT): return -1 return star diff --git a/examples/widgets/itemviews/stardelegate/starrating.py b/examples/widgets/itemviews/stardelegate/starrating.py index 7e87389c9..7865e1686 100644 --- a/examples/widgets/itemviews/stardelegate/starrating.py +++ b/examples/widgets/itemviews/stardelegate/starrating.py @@ -53,26 +53,26 @@ class StarRating(object): """ Handle the actual painting of the stars themselves. """ def __init__(self, starCount=1, maxStarCount=5): - self.starCount = starCount - self.maxStarCount = maxStarCount + self.star_count = starCount + self.MAX_STAR_COUNT = maxStarCount # Create the star shape we'll be drawing. - self.starPolygon = QPolygonF() - self.starPolygon.append(QPointF(1.0, 0.5)) + self._star_polygon = QPolygonF() + self._star_polygon.append(QPointF(1.0, 0.5)) for i in range(1, 5): - self.starPolygon.append(QPointF(0.5 + 0.5 * cos(0.8 * i * pi), + self._star_polygon.append(QPointF(0.5 + 0.5 * cos(0.8 * i * pi), 0.5 + 0.5 * sin(0.8 * i * pi))) # Create the diamond shape we'll show in the editor - self.diamondPolygon = QPolygonF() - diamondPoints = [QPointF(0.4, 0.5), QPointF(0.5, 0.4), + self._diamond_polygon = QPolygonF() + diamond_points = [QPointF(0.4, 0.5), QPointF(0.5, 0.4), QPointF(0.6, 0.5), QPointF(0.5, 0.6), QPointF(0.4, 0.5)] - self.diamondPolygon.append(diamondPoints) + self._diamond_polygon.append(diamond_points) def sizeHint(self): """ Tell the caller how big we are. """ - return PAINTING_SCALE_FACTOR * QSize(self.maxStarCount, 1) + return PAINTING_SCALE_FACTOR * QSize(self.MAX_STAR_COUNT, 1) def paint(self, painter, rect, palette, isEditable=False): """ Paint the stars (and/or diamonds if we're in editing mode). """ @@ -86,15 +86,15 @@ class StarRating(object): else: painter.setBrush(palette.windowText()) - yOffset = (rect.height() - PAINTING_SCALE_FACTOR) / 2 - painter.translate(rect.x(), rect.y() + yOffset) + y_offset = (rect.height() - PAINTING_SCALE_FACTOR) / 2 + painter.translate(rect.x(), rect.y() + y_offset) painter.scale(PAINTING_SCALE_FACTOR, PAINTING_SCALE_FACTOR) - for i in range(self.maxStarCount): - if i < self.starCount: - painter.drawPolygon(self.starPolygon, Qt.WindingFill) + for i in range(self.MAX_STAR_COUNT): + if i < self.star_count: + painter.drawPolygon(self._star_polygon, Qt.WindingFill) elif isEditable: - painter.drawPolygon(self.diamondPolygon, Qt.WindingFill) + painter.drawPolygon(self._diamond_polygon, Qt.WindingFill) painter.translate(1.0, 0.0) painter.restore() diff --git a/examples/widgets/layouts/basiclayouts/basiclayouts.py b/examples/widgets/layouts/basiclayouts/basiclayouts.py index ea46ad1e9..64d53213e 100644 --- a/examples/widgets/layouts/basiclayouts/basiclayouts.py +++ b/examples/widgets/layouts/basiclayouts/basiclayouts.py @@ -46,83 +46,83 @@ from PySide6 import QtWidgets class Dialog(QtWidgets.QDialog): - NumGridRows = 3 - NumButtons = 4 + num_grid_rows = 3 + num_buttons = 4 def __init__(self): super(Dialog, self).__init__() - self.createMenu() - self.createHorizontalGroupBox() - self.createGridGroupBox() - self.createFormGroupBox() + self.create_menu() + self.create_horizontal_group_box() + self.create_grid_group_box() + self.create_form_group_box() - bigEditor = QtWidgets.QTextEdit() - bigEditor.setPlainText("This widget takes up all the remaining space " + big_editor = QtWidgets.QTextEdit() + big_editor.setPlainText("This widget takes up all the remaining space " "in the top-level layout.") - buttonBox = QtWidgets.QDialogButtonBox(QtWidgets.QDialogButtonBox.Ok | QtWidgets.QDialogButtonBox.Cancel) + button_box = QtWidgets.QDialogButtonBox(QtWidgets.QDialogButtonBox.Ok | QtWidgets.QDialogButtonBox.Cancel) - buttonBox.accepted.connect(self.accept) - buttonBox.rejected.connect(self.reject) + button_box.accepted.connect(self.accept) + button_box.rejected.connect(self.reject) - mainLayout = QtWidgets.QVBoxLayout() - mainLayout.setMenuBar(self.menuBar) - mainLayout.addWidget(self.horizontalGroupBox) - mainLayout.addWidget(self.gridGroupBox) - mainLayout.addWidget(self.formGroupBox) - mainLayout.addWidget(bigEditor) - mainLayout.addWidget(buttonBox) - self.setLayout(mainLayout) + main_layout = QtWidgets.QVBoxLayout() + main_layout.setMenuBar(self._menu_bar) + main_layout.addWidget(self._horizontal_group_box) + main_layout.addWidget(self._grid_group_box) + main_layout.addWidget(self._form_group_box) + main_layout.addWidget(big_editor) + main_layout.addWidget(button_box) + self.setLayout(main_layout) self.setWindowTitle("Basic Layouts") - def createMenu(self): - self.menuBar = QtWidgets.QMenuBar() + def create_menu(self): + self._menu_bar = QtWidgets.QMenuBar() - self.fileMenu = QtWidgets.QMenu("&File", self) - self.exitAction = self.fileMenu.addAction("E&xit") - self.menuBar.addMenu(self.fileMenu) + self._file_menu = QtWidgets.QMenu("&File", self) + self._exit_action = self._file_menu.addAction("E&xit") + self._menu_bar.addMenu(self._file_menu) - self.exitAction.triggered.connect(self.accept) + self._exit_action.triggered.connect(self.accept) - def createHorizontalGroupBox(self): - self.horizontalGroupBox = QtWidgets.QGroupBox("Horizontal layout") + def create_horizontal_group_box(self): + self._horizontal_group_box = QtWidgets.QGroupBox("Horizontal layout") layout = QtWidgets.QHBoxLayout() - for i in range(Dialog.NumButtons): + for i in range(Dialog.num_buttons): button = QtWidgets.QPushButton(f"Button {i + 1}") layout.addWidget(button) - self.horizontalGroupBox.setLayout(layout) + self._horizontal_group_box.setLayout(layout) - def createGridGroupBox(self): - self.gridGroupBox = QtWidgets.QGroupBox("Grid layout") + def create_grid_group_box(self): + self._grid_group_box = QtWidgets.QGroupBox("Grid layout") layout = QtWidgets.QGridLayout() - for i in range(Dialog.NumGridRows): + for i in range(Dialog.num_grid_rows): label = QtWidgets.QLabel(f"Line {i + 1}:") - lineEdit = QtWidgets.QLineEdit() + line_edit = QtWidgets.QLineEdit() layout.addWidget(label, i + 1, 0) - layout.addWidget(lineEdit, i + 1, 1) + layout.addWidget(line_edit, i + 1, 1) - self.smallEditor = QtWidgets.QTextEdit() - self.smallEditor.setPlainText("This widget takes up about two thirds " + self._small_editor = QtWidgets.QTextEdit() + self._small_editor.setPlainText("This widget takes up about two thirds " "of the grid layout.") - layout.addWidget(self.smallEditor, 0, 2, 4, 1) + layout.addWidget(self._small_editor, 0, 2, 4, 1) layout.setColumnStretch(1, 10) layout.setColumnStretch(2, 20) - self.gridGroupBox.setLayout(layout) + self._grid_group_box.setLayout(layout) - def createFormGroupBox(self): - self.formGroupBox = QtWidgets.QGroupBox("Form layout") + def create_form_group_box(self): + self._form_group_box = QtWidgets.QGroupBox("Form layout") layout = QtWidgets.QFormLayout() layout.addRow(QtWidgets.QLabel("Line 1:"), QtWidgets.QLineEdit()) layout.addRow(QtWidgets.QLabel("Line 2, long text:"), QtWidgets.QComboBox()) layout.addRow(QtWidgets.QLabel("Line 3:"), QtWidgets.QSpinBox()) - self.formGroupBox.setLayout(layout) + self._form_group_box.setLayout(layout) if __name__ == '__main__': diff --git a/examples/widgets/layouts/dynamiclayouts/dynamiclayouts.py b/examples/widgets/layouts/dynamiclayouts/dynamiclayouts.py index 5d2f2babe..88f118dc2 100644 --- a/examples/widgets/layouts/dynamiclayouts/dynamiclayouts.py +++ b/examples/widgets/layouts/dynamiclayouts/dynamiclayouts.py @@ -52,114 +52,114 @@ class Dialog(QDialog): def __init__(self): super(Dialog, self).__init__() - self.rotableWidgets = [] + self._rotable_widgets = [] - self.createRotableGroupBox() - self.createOptionsGroupBox() - self.createButtonBox() + self.create_rotable_group_box() + self.create_options_group_box() + self.create_button_box() - mainLayout = QGridLayout() - mainLayout.addWidget(self.rotableGroupBox, 0, 0) - mainLayout.addWidget(self.optionsGroupBox, 1, 0) - mainLayout.addWidget(self.buttonBox, 2, 0) - mainLayout.setSizeConstraint(QLayout.SetMinimumSize) + main_layout = QGridLayout() + main_layout.addWidget(self._rotable_group_box, 0, 0) + main_layout.addWidget(self._options_group_box, 1, 0) + main_layout.addWidget(self._button_box, 2, 0) + main_layout.setSizeConstraint(QLayout.SetMinimumSize) - self.mainLayout = mainLayout - self.setLayout(self.mainLayout) + self._main_layout = main_layout + self.setLayout(self._main_layout) self.setWindowTitle("Dynamic Layouts") - def rotateWidgets(self): - count = len(self.rotableWidgets) + def rotate_widgets(self): + count = len(self._rotable_widgets) if count % 2 == 1: raise AssertionError("Number of widgets must be even") - for widget in self.rotableWidgets: - self.rotableLayout.removeWidget(widget) + for widget in self._rotable_widgets: + self._rotable_layout.removeWidget(widget) - self.rotableWidgets.append(self.rotableWidgets.pop(0)) + self._rotable_widgets.append(self._rotable_widgets.pop(0)) for i in range(count//2): - self.rotableLayout.addWidget(self.rotableWidgets[count - i - 1], 0, i) - self.rotableLayout.addWidget(self.rotableWidgets[i], 1, i) + self._rotable_layout.addWidget(self._rotable_widgets[count - i - 1], 0, i) + self._rotable_layout.addWidget(self._rotable_widgets[i], 1, i) - def buttonsOrientationChanged(self, index): - self.mainLayout.setSizeConstraint(QLayout.SetNoConstraint) + def buttons_orientation_changed(self, index): + self._main_layout.setSizeConstraint(QLayout.SetNoConstraint) self.setMinimumSize(0, 0) - orientation = Qt.Orientation(int(self.buttonsOrientationComboBox.itemData(index))) + orientation = Qt.Orientation(int(self._buttons_orientation_combo_box.itemData(index))) - if orientation == self.buttonBox.orientation(): + if orientation == self._button_box.orientation(): return - self.mainLayout.removeWidget(self.buttonBox) + self._main_layout.removeWidget(self._button_box) - spacing = self.mainLayout.spacing() + spacing = self._main_layout.spacing() - oldSizeHint = self.buttonBox.sizeHint() + QSize(spacing, spacing) - self.buttonBox.setOrientation(orientation) - newSizeHint = self.buttonBox.sizeHint() + QSize(spacing, spacing) + old_size_hint = self._button_box.sizeHint() + QSize(spacing, spacing) + self._button_box.setOrientation(orientation) + new_size_hint = self._button_box.sizeHint() + QSize(spacing, spacing) if orientation == Qt.Horizontal: - self.mainLayout.addWidget(self.buttonBox, 2, 0) - self.resize(self.size() + QSize(-oldSizeHint.width(), newSizeHint.height())) + self._main_layout.addWidget(self._button_box, 2, 0) + self.resize(self.size() + QSize(-old_size_hint.width(), new_size_hint.height())) else: - self.mainLayout.addWidget(self.buttonBox, 0, 3, 2, 1) - self.resize(self.size() + QSize(newSizeHint.width(), -oldSizeHint.height())) + self._main_layout.addWidget(self._button_box, 0, 3, 2, 1) + self.resize(self.size() + QSize(new_size_hint.width(), -old_size_hint.height())) - self.mainLayout.setSizeConstraint(QLayout.SetDefaultConstraint) + self._main_layout.setSizeConstraint(QLayout.SetDefaultConstraint) def show_help(self): QMessageBox.information(self, "Dynamic Layouts Help", "This example shows how to change layouts " "dynamically.") - def createRotableGroupBox(self): - self.rotableGroupBox = QGroupBox("Rotable Widgets") + def create_rotable_group_box(self): + self._rotable_group_box = QGroupBox("Rotable Widgets") - self.rotableWidgets.append(QSpinBox()) - self.rotableWidgets.append(QSlider()) - self.rotableWidgets.append(QDial()) - self.rotableWidgets.append(QProgressBar()) - count = len(self.rotableWidgets) + self._rotable_widgets.append(QSpinBox()) + self._rotable_widgets.append(QSlider()) + self._rotable_widgets.append(QDial()) + self._rotable_widgets.append(QProgressBar()) + count = len(self._rotable_widgets) for i in range(count): - self.rotableWidgets[i].valueChanged[int].\ - connect(self.rotableWidgets[(i+1) % count].setValue) + self._rotable_widgets[i].valueChanged[int].\ + connect(self._rotable_widgets[(i+1) % count].setValue) - self.rotableLayout = QGridLayout() - self.rotableGroupBox.setLayout(self.rotableLayout) + self._rotable_layout = QGridLayout() + self._rotable_group_box.setLayout(self._rotable_layout) - self.rotateWidgets() + self.rotate_widgets() - def createOptionsGroupBox(self): - self.optionsGroupBox = QGroupBox("Options") + def create_options_group_box(self): + self._options_group_box = QGroupBox("Options") - buttonsOrientationLabel = QLabel("Orientation of buttons:") + buttons_orientation_label = QLabel("Orientation of buttons:") - buttonsOrientationComboBox = QComboBox() - buttonsOrientationComboBox.addItem("Horizontal", Qt.Horizontal) - buttonsOrientationComboBox.addItem("Vertical", Qt.Vertical) - buttonsOrientationComboBox.currentIndexChanged[int].connect(self.buttonsOrientationChanged) + buttons_orientation_combo_box = QComboBox() + buttons_orientation_combo_box.addItem("Horizontal", Qt.Horizontal) + buttons_orientation_combo_box.addItem("Vertical", Qt.Vertical) + buttons_orientation_combo_box.currentIndexChanged[int].connect(self.buttons_orientation_changed) - self.buttonsOrientationComboBox = buttonsOrientationComboBox + self._buttons_orientation_combo_box = buttons_orientation_combo_box - optionsLayout = QGridLayout() - optionsLayout.addWidget(buttonsOrientationLabel, 0, 0) - optionsLayout.addWidget(self.buttonsOrientationComboBox, 0, 1) - optionsLayout.setColumnStretch(2, 1) - self.optionsGroupBox.setLayout(optionsLayout) + options_layout = QGridLayout() + options_layout.addWidget(buttons_orientation_label, 0, 0) + options_layout.addWidget(self._buttons_orientation_combo_box, 0, 1) + options_layout.setColumnStretch(2, 1) + self._options_group_box.setLayout(options_layout) - def createButtonBox(self): - self.buttonBox = QDialogButtonBox() + def create_button_box(self): + self._button_box = QDialogButtonBox() - closeButton = self.buttonBox.addButton(QDialogButtonBox.Close) - helpButton = self.buttonBox.addButton(QDialogButtonBox.Help) - rotateWidgetsButton = self.buttonBox.addButton("Rotate &Widgets", QDialogButtonBox.ActionRole) + close_button = self._button_box.addButton(QDialogButtonBox.Close) + help_button = self._button_box.addButton(QDialogButtonBox.Help) + rotate_widgets_button = self._button_box.addButton("Rotate &Widgets", QDialogButtonBox.ActionRole) - rotateWidgetsButton.clicked.connect(self.rotateWidgets) - closeButton.clicked.connect(self.close) - helpButton.clicked.connect(self.show_help) + rotate_widgets_button.clicked.connect(self.rotate_widgets) + close_button.clicked.connect(self.close) + help_button.clicked.connect(self.show_help) if __name__ == '__main__': diff --git a/examples/widgets/layouts/flowlayout/flowlayout.py b/examples/widgets/layouts/flowlayout/flowlayout.py index 8f4d41480..1eae372a1 100644 --- a/examples/widgets/layouts/flowlayout/flowlayout.py +++ b/examples/widgets/layouts/flowlayout/flowlayout.py @@ -52,12 +52,12 @@ class Window(QWidget): def __init__(self): super(Window, self).__init__() - flowLayout = FlowLayout(self) - flowLayout.addWidget(QPushButton("Short")) - flowLayout.addWidget(QPushButton("Longer")) - flowLayout.addWidget(QPushButton("Different text")) - flowLayout.addWidget(QPushButton("More text")) - flowLayout.addWidget(QPushButton("Even longer button text")) + flow_layout = FlowLayout(self) + flow_layout.addWidget(QPushButton("Short")) + flow_layout.addWidget(QPushButton("Longer")) + flow_layout.addWidget(QPushButton("Different text")) + flow_layout.addWidget(QPushButton("More text")) + flow_layout.addWidget(QPushButton("Even longer button text")) self.setWindowTitle("Flow Layout") @@ -72,9 +72,9 @@ class FlowLayout(QLayout): self._item_list = [] def __del__(self): - item = self.takeAt(0) + item = self.take_at(0) while item: - item = self.takeAt(0) + item = self.take_at(0) def addItem(self, item): self._item_list.append(item) @@ -155,6 +155,6 @@ class FlowLayout(QLayout): if __name__ == '__main__': app = QApplication(sys.argv) - mainWin = Window() - mainWin.show() + main_win = Window() + main_win.show() sys.exit(app.exec_()) diff --git a/examples/widgets/painting/basicdrawing/basicdrawing.py b/examples/widgets/painting/basicdrawing/basicdrawing.py index 07e90ae22..724b43ad9 100644 --- a/examples/widgets/painting/basicdrawing/basicdrawing.py +++ b/examples/widgets/painting/basicdrawing/basicdrawing.py @@ -83,23 +83,23 @@ class RenderArea(QWidget): def sizeHint(self): return QSize(400, 200) - def setShape(self, shape): + def set_shape(self, shape): self.shape = shape self.update() - def setPen(self, pen): + def set_pen(self, pen): self.pen = pen self.update() - def setBrush(self, brush): + def set_brush(self, brush): self.brush = brush self.update() - def setAntialiased(self, antialiased): + def set_antialiased(self, antialiased): self.antialiased = antialiased self.update() - def setTransformed(self, transformed): + def set_transformed(self, transformed): self.transformed = transformed self.update() @@ -111,8 +111,8 @@ class RenderArea(QWidget): path.lineTo(20, 30) path.cubicTo(80, 0, 50, 50, 80, 80) - startAngle = 30 * 16 - arcLength = 120 * 16 + start_angle = 30 * 16 + arc_length = 120 * 16 painter = QPainter(self) painter.setPen(self.pen) @@ -145,11 +145,11 @@ class RenderArea(QWidget): elif self.shape == RenderArea.Ellipse: painter.drawEllipse(rect) elif self.shape == RenderArea.Arc: - painter.drawArc(rect, startAngle, arcLength) + painter.drawArc(rect, start_angle, arc_length) elif self.shape == RenderArea.Chord: - painter.drawChord(rect, startAngle, arcLength) + painter.drawChord(rect, start_angle, arc_length) elif self.shape == RenderArea.Pie: - painter.drawPie(rect, startAngle, arcLength) + painter.drawPie(rect, start_angle, arc_length) elif self.shape == RenderArea.Path: painter.drawPath(path) elif self.shape == RenderArea.Text: @@ -166,178 +166,178 @@ class RenderArea(QWidget): painter.drawRect(QRect(0, 0, self.width() - 1, self.height() - 1)) -IdRole = Qt.UserRole +id_role = Qt.UserRole class Window(QWidget): def __init__(self): super(Window, self).__init__() - self.renderArea = RenderArea() - - self.shapeComboBox = QComboBox() - self.shapeComboBox.addItem("Polygon", RenderArea.Polygon) - self.shapeComboBox.addItem("Rectangle", RenderArea.Rect) - self.shapeComboBox.addItem("Rounded Rectangle", RenderArea.RoundedRect) - self.shapeComboBox.addItem("Ellipse", RenderArea.Ellipse) - self.shapeComboBox.addItem("Pie", RenderArea.Pie) - self.shapeComboBox.addItem("Chord", RenderArea.Chord) - self.shapeComboBox.addItem("Path", RenderArea.Path) - self.shapeComboBox.addItem("Line", RenderArea.Line) - self.shapeComboBox.addItem("Polyline", RenderArea.Polyline) - self.shapeComboBox.addItem("Arc", RenderArea.Arc) - self.shapeComboBox.addItem("Points", RenderArea.Points) - self.shapeComboBox.addItem("Text", RenderArea.Text) - self.shapeComboBox.addItem("Pixmap", RenderArea.Pixmap) - - shapeLabel = QLabel("&Shape:") - shapeLabel.setBuddy(self.shapeComboBox) - - self.penWidthSpinBox = QSpinBox() - self.penWidthSpinBox.setRange(0, 20) - self.penWidthSpinBox.setSpecialValueText("0 (cosmetic pen)") - - penWidthLabel = QLabel("Pen &Width:") - penWidthLabel.setBuddy(self.penWidthSpinBox) - - self.penStyleComboBox = QComboBox() - self.penStyleComboBox.addItem("Solid", Qt.SolidLine) - self.penStyleComboBox.addItem("Dash", Qt.DashLine) - self.penStyleComboBox.addItem("Dot", Qt.DotLine) - self.penStyleComboBox.addItem("Dash Dot", Qt.DashDotLine) - self.penStyleComboBox.addItem("Dash Dot Dot", Qt.DashDotDotLine) - self.penStyleComboBox.addItem("None", Qt.NoPen) - - penStyleLabel = QLabel("&Pen Style:") - penStyleLabel.setBuddy(self.penStyleComboBox) - - self.penCapComboBox = QComboBox() - self.penCapComboBox.addItem("Flat", Qt.FlatCap) - self.penCapComboBox.addItem("Square", Qt.SquareCap) - self.penCapComboBox.addItem("Round", Qt.RoundCap) - - penCapLabel = QLabel("Pen &Cap:") - penCapLabel.setBuddy(self.penCapComboBox) - - self.penJoinComboBox = QComboBox() - self.penJoinComboBox.addItem("Miter", Qt.MiterJoin) - self.penJoinComboBox.addItem("Bevel", Qt.BevelJoin) - self.penJoinComboBox.addItem("Round", Qt.RoundJoin) - - penJoinLabel = QLabel("Pen &Join:") - penJoinLabel.setBuddy(self.penJoinComboBox) - - self.brushStyleComboBox = QComboBox() - self.brushStyleComboBox.addItem("Linear Gradient", + self._render_area = RenderArea() + + self._shape_combo_box = QComboBox() + self._shape_combo_box.addItem("Polygon", RenderArea.Polygon) + self._shape_combo_box.addItem("Rectangle", RenderArea.Rect) + self._shape_combo_box.addItem("Rounded Rectangle", RenderArea.RoundedRect) + self._shape_combo_box.addItem("Ellipse", RenderArea.Ellipse) + self._shape_combo_box.addItem("Pie", RenderArea.Pie) + self._shape_combo_box.addItem("Chord", RenderArea.Chord) + self._shape_combo_box.addItem("Path", RenderArea.Path) + self._shape_combo_box.addItem("Line", RenderArea.Line) + self._shape_combo_box.addItem("Polyline", RenderArea.Polyline) + self._shape_combo_box.addItem("Arc", RenderArea.Arc) + self._shape_combo_box.addItem("Points", RenderArea.Points) + self._shape_combo_box.addItem("Text", RenderArea.Text) + self._shape_combo_box.addItem("Pixmap", RenderArea.Pixmap) + + shape_label = QLabel("&Shape:") + shape_label.setBuddy(self._shape_combo_box) + + self._pen_width_spin_box = QSpinBox() + self._pen_width_spin_box.setRange(0, 20) + self._pen_width_spin_box.setSpecialValueText("0 (cosmetic pen)") + + pen_width_label = QLabel("Pen &Width:") + pen_width_label.setBuddy(self._pen_width_spin_box) + + self._pen_style_combo_box = QComboBox() + self._pen_style_combo_box.addItem("Solid", Qt.SolidLine) + self._pen_style_combo_box.addItem("Dash", Qt.DashLine) + self._pen_style_combo_box.addItem("Dot", Qt.DotLine) + self._pen_style_combo_box.addItem("Dash Dot", Qt.DashDotLine) + self._pen_style_combo_box.addItem("Dash Dot Dot", Qt.DashDotDotLine) + self._pen_style_combo_box.addItem("None", Qt.NoPen) + + pen_style_label = QLabel("&Pen Style:") + pen_style_label.setBuddy(self._pen_style_combo_box) + + self._pen_cap_combo_box = QComboBox() + self._pen_cap_combo_box.addItem("Flat", Qt.FlatCap) + self._pen_cap_combo_box.addItem("Square", Qt.SquareCap) + self._pen_cap_combo_box.addItem("Round", Qt.RoundCap) + + pen_cap_label = QLabel("Pen &Cap:") + pen_cap_label.setBuddy(self._pen_cap_combo_box) + + self._pen_join_combo_box = QComboBox() + self._pen_join_combo_box.addItem("Miter", Qt.MiterJoin) + self._pen_join_combo_box.addItem("Bevel", Qt.BevelJoin) + self._pen_join_combo_box.addItem("Round", Qt.RoundJoin) + + pen_join_label = QLabel("Pen &Join:") + pen_join_label.setBuddy(self._pen_join_combo_box) + + self._brush_style_combo_box = QComboBox() + self._brush_style_combo_box.addItem("Linear Gradient", Qt.LinearGradientPattern) - self.brushStyleComboBox.addItem("Radial Gradient", + self._brush_style_combo_box.addItem("Radial Gradient", Qt.RadialGradientPattern) - self.brushStyleComboBox.addItem("Conical Gradient", + self._brush_style_combo_box.addItem("Conical Gradient", Qt.ConicalGradientPattern) - self.brushStyleComboBox.addItem("Texture", Qt.TexturePattern) - self.brushStyleComboBox.addItem("Solid", Qt.SolidPattern) - self.brushStyleComboBox.addItem("Horizontal", Qt.HorPattern) - self.brushStyleComboBox.addItem("Vertical", Qt.VerPattern) - self.brushStyleComboBox.addItem("Cross", Qt.CrossPattern) - self.brushStyleComboBox.addItem("Backward Diagonal", Qt.BDiagPattern) - self.brushStyleComboBox.addItem("Forward Diagonal", Qt.FDiagPattern) - self.brushStyleComboBox.addItem("Diagonal Cross", Qt.DiagCrossPattern) - self.brushStyleComboBox.addItem("Dense 1", Qt.Dense1Pattern) - self.brushStyleComboBox.addItem("Dense 2", Qt.Dense2Pattern) - self.brushStyleComboBox.addItem("Dense 3", Qt.Dense3Pattern) - self.brushStyleComboBox.addItem("Dense 4", Qt.Dense4Pattern) - self.brushStyleComboBox.addItem("Dense 5", Qt.Dense5Pattern) - self.brushStyleComboBox.addItem("Dense 6", Qt.Dense6Pattern) - self.brushStyleComboBox.addItem("Dense 7", Qt.Dense7Pattern) - self.brushStyleComboBox.addItem("None", Qt.NoBrush) - - brushStyleLabel = QLabel("&Brush Style:") - brushStyleLabel.setBuddy(self.brushStyleComboBox) - - otherOptionsLabel = QLabel("Other Options:") - self.antialiasingCheckBox = QCheckBox("&Antialiasing") - self.transformationsCheckBox = QCheckBox("&Transformations") - - self.shapeComboBox.activated.connect(self.shapeChanged) - self.penWidthSpinBox.valueChanged.connect(self.penChanged) - self.penStyleComboBox.activated.connect(self.penChanged) - self.penCapComboBox.activated.connect(self.penChanged) - self.penJoinComboBox.activated.connect(self.penChanged) - self.brushStyleComboBox.activated.connect(self.brushChanged) - self.antialiasingCheckBox.toggled.connect(self.renderArea.setAntialiased) - self.transformationsCheckBox.toggled.connect(self.renderArea.setTransformed) - - mainLayout = QGridLayout() - mainLayout.setColumnStretch(0, 1) - mainLayout.setColumnStretch(3, 1) - mainLayout.addWidget(self.renderArea, 0, 0, 1, 4) - mainLayout.setRowMinimumHeight(1, 6) - mainLayout.addWidget(shapeLabel, 2, 1, Qt.AlignRight) - mainLayout.addWidget(self.shapeComboBox, 2, 2) - mainLayout.addWidget(penWidthLabel, 3, 1, Qt.AlignRight) - mainLayout.addWidget(self.penWidthSpinBox, 3, 2) - mainLayout.addWidget(penStyleLabel, 4, 1, Qt.AlignRight) - mainLayout.addWidget(self.penStyleComboBox, 4, 2) - mainLayout.addWidget(penCapLabel, 5, 1, Qt.AlignRight) - mainLayout.addWidget(self.penCapComboBox, 5, 2) - mainLayout.addWidget(penJoinLabel, 6, 1, Qt.AlignRight) - mainLayout.addWidget(self.penJoinComboBox, 6, 2) - mainLayout.addWidget(brushStyleLabel, 7, 1, Qt.AlignRight) - mainLayout.addWidget(self.brushStyleComboBox, 7, 2) - mainLayout.setRowMinimumHeight(8, 6) - mainLayout.addWidget(otherOptionsLabel, 9, 1, Qt.AlignRight) - mainLayout.addWidget(self.antialiasingCheckBox, 9, 2) - mainLayout.addWidget(self.transformationsCheckBox, 10, 2) - self.setLayout(mainLayout) - - self.shapeChanged() - self.penChanged() - self.brushChanged() - self.antialiasingCheckBox.setChecked(True) + self._brush_style_combo_box.addItem("Texture", Qt.TexturePattern) + self._brush_style_combo_box.addItem("Solid", Qt.SolidPattern) + self._brush_style_combo_box.addItem("Horizontal", Qt.HorPattern) + self._brush_style_combo_box.addItem("Vertical", Qt.VerPattern) + self._brush_style_combo_box.addItem("Cross", Qt.CrossPattern) + self._brush_style_combo_box.addItem("Backward Diagonal", Qt.BDiagPattern) + self._brush_style_combo_box.addItem("Forward Diagonal", Qt.FDiagPattern) + self._brush_style_combo_box.addItem("Diagonal Cross", Qt.DiagCrossPattern) + self._brush_style_combo_box.addItem("Dense 1", Qt.Dense1Pattern) + self._brush_style_combo_box.addItem("Dense 2", Qt.Dense2Pattern) + self._brush_style_combo_box.addItem("Dense 3", Qt.Dense3Pattern) + self._brush_style_combo_box.addItem("Dense 4", Qt.Dense4Pattern) + self._brush_style_combo_box.addItem("Dense 5", Qt.Dense5Pattern) + self._brush_style_combo_box.addItem("Dense 6", Qt.Dense6Pattern) + self._brush_style_combo_box.addItem("Dense 7", Qt.Dense7Pattern) + self._brush_style_combo_box.addItem("None", Qt.NoBrush) + + brush_style_label = QLabel("&Brush Style:") + brush_style_label.setBuddy(self._brush_style_combo_box) + + other_options_label = QLabel("Other Options:") + self._antialiasing_check_box = QCheckBox("&Antialiasing") + self._transformations_check_box = QCheckBox("&Transformations") + + self._shape_combo_box.activated.connect(self.shape_changed) + self._pen_width_spin_box.valueChanged.connect(self.pen_changed) + self._pen_style_combo_box.activated.connect(self.pen_changed) + self._pen_cap_combo_box.activated.connect(self.pen_changed) + self._pen_join_combo_box.activated.connect(self.pen_changed) + self._brush_style_combo_box.activated.connect(self.brush_changed) + self._antialiasing_check_box.toggled.connect(self._render_area.set_antialiased) + self._transformations_check_box.toggled.connect(self._render_area.set_transformed) + + main_layout = QGridLayout() + main_layout.setColumnStretch(0, 1) + main_layout.setColumnStretch(3, 1) + main_layout.addWidget(self._render_area, 0, 0, 1, 4) + main_layout.setRowMinimumHeight(1, 6) + main_layout.addWidget(shape_label, 2, 1, Qt.AlignRight) + main_layout.addWidget(self._shape_combo_box, 2, 2) + main_layout.addWidget(pen_width_label, 3, 1, Qt.AlignRight) + main_layout.addWidget(self._pen_width_spin_box, 3, 2) + main_layout.addWidget(pen_style_label, 4, 1, Qt.AlignRight) + main_layout.addWidget(self._pen_style_combo_box, 4, 2) + main_layout.addWidget(pen_cap_label, 5, 1, Qt.AlignRight) + main_layout.addWidget(self._pen_cap_combo_box, 5, 2) + main_layout.addWidget(pen_join_label, 6, 1, Qt.AlignRight) + main_layout.addWidget(self._pen_join_combo_box, 6, 2) + main_layout.addWidget(brush_style_label, 7, 1, Qt.AlignRight) + main_layout.addWidget(self._brush_style_combo_box, 7, 2) + main_layout.setRowMinimumHeight(8, 6) + main_layout.addWidget(other_options_label, 9, 1, Qt.AlignRight) + main_layout.addWidget(self._antialiasing_check_box, 9, 2) + main_layout.addWidget(self._transformations_check_box, 10, 2) + self.setLayout(main_layout) + + self.shape_changed() + self.pen_changed() + self.brush_changed() + self._antialiasing_check_box.setChecked(True) self.setWindowTitle("Basic Drawing") - def shapeChanged(self): - shape = self.shapeComboBox.itemData(self.shapeComboBox.currentIndex(), - IdRole) - self.renderArea.setShape(shape) + def shape_changed(self): + shape = self._shape_combo_box.itemData(self._shape_combo_box.currentIndex(), + id_role) + self._render_area.set_shape(shape) - def penChanged(self): - width = self.penWidthSpinBox.value() - style = Qt.PenStyle(self.penStyleComboBox.itemData( - self.penStyleComboBox.currentIndex(), IdRole)) - cap = Qt.PenCapStyle(self.penCapComboBox.itemData( - self.penCapComboBox.currentIndex(), IdRole)) - join = Qt.PenJoinStyle(self.penJoinComboBox.itemData( - self.penJoinComboBox.currentIndex(), IdRole)) + def pen_changed(self): + width = self._pen_width_spin_box.value() + style = Qt.PenStyle(self._pen_style_combo_box.itemData( + self._pen_style_combo_box.currentIndex(), id_role)) + cap = Qt.PenCapStyle(self._pen_cap_combo_box.itemData( + self._pen_cap_combo_box.currentIndex(), id_role)) + join = Qt.PenJoinStyle(self._pen_join_combo_box.itemData( + self._pen_join_combo_box.currentIndex(), id_role)) - self.renderArea.setPen(QPen(Qt.blue, width, style, cap, join)) + self._render_area.set_pen(QPen(Qt.blue, width, style, cap, join)) - def brushChanged(self): - style = Qt.BrushStyle(self.brushStyleComboBox.itemData( - self.brushStyleComboBox.currentIndex(), IdRole)) + def brush_changed(self): + style = Qt.BrushStyle(self._brush_style_combo_box.itemData( + self._brush_style_combo_box.currentIndex(), id_role)) if style == Qt.LinearGradientPattern: - linearGradient = QLinearGradient(0, 0, 100, 100) - linearGradient.setColorAt(0.0, Qt.white) - linearGradient.setColorAt(0.2, Qt.green) - linearGradient.setColorAt(1.0, Qt.black) - self.renderArea.setBrush(QBrush(linearGradient)) + linear_gradient = QLinearGradient(0, 0, 100, 100) + linear_gradient.setColorAt(0.0, Qt.white) + linear_gradient.setColorAt(0.2, Qt.green) + linear_gradient.setColorAt(1.0, Qt.black) + self._render_area.set_brush(QBrush(linear_gradient)) elif style == Qt.RadialGradientPattern: - radialGradient = QRadialGradient(50, 50, 50, 70, 70) - radialGradient.setColorAt(0.0, Qt.white) - radialGradient.setColorAt(0.2, Qt.green) - radialGradient.setColorAt(1.0, Qt.black) - self.renderArea.setBrush(QBrush(radialGradient)) + radial_gradient = QRadialGradient(50, 50, 50, 70, 70) + radial_gradient.setColorAt(0.0, Qt.white) + radial_gradient.setColorAt(0.2, Qt.green) + radial_gradient.setColorAt(1.0, Qt.black) + self._render_area.set_brush(QBrush(radial_gradient)) elif style == Qt.ConicalGradientPattern: - conicalGradient = QConicalGradient(50, 50, 150) - conicalGradient.setColorAt(0.0, Qt.white) - conicalGradient.setColorAt(0.2, Qt.green) - conicalGradient.setColorAt(1.0, Qt.black) - self.renderArea.setBrush(QBrush(conicalGradient)) + conical_gradient = QConicalGradient(50, 50, 150) + conical_gradient.setColorAt(0.0, Qt.white) + conical_gradient.setColorAt(0.2, Qt.green) + conical_gradient.setColorAt(1.0, Qt.black) + self._render_area.set_brush(QBrush(conical_gradient)) elif style == Qt.TexturePattern: - self.renderArea.setBrush(QBrush(QPixmap(':/images/brick.png'))) + self._render_area.set_brush(QBrush(QPixmap(':/images/brick.png'))) else: - self.renderArea.setBrush(QBrush(Qt.green, style)) + self._render_area.set_brush(QBrush(Qt.green, style)) if __name__ == '__main__': diff --git a/examples/widgets/painting/concentriccircles/concentriccircles.py b/examples/widgets/painting/concentriccircles/concentriccircles.py index 08520b063..0596a32e2 100644 --- a/examples/widgets/painting/concentriccircles/concentriccircles.py +++ b/examples/widgets/painting/concentriccircles/concentriccircles.py @@ -52,18 +52,18 @@ class CircleWidget(QWidget): def __init__(self, parent=None): super(CircleWidget, self).__init__(parent) - self.floatBased = False + self._float_based = False self.antialiased = False - self.frameNo = 0 + self._frame_no = 0 self.setBackgroundRole(QPalette.Base) self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) - def setFloatBased(self, floatBased): - self.floatBased = floatBased + def set_float_based(self, floatBased): + self._float_based = floatBased self.update() - def setAntialiased(self, antialiased): + def set_antialiased(self, antialiased): self.antialiased = antialiased self.update() @@ -73,8 +73,8 @@ class CircleWidget(QWidget): def sizeHint(self): return QSize(180, 180) - def nextAnimationFrame(self): - self.frameNo += 1 + def next_animation_frame(self): + self._frame_no += 1 self.update() def paintEvent(self, event): @@ -83,12 +83,12 @@ class CircleWidget(QWidget): painter.translate(self.width() / 2, self.height() / 2) for diameter in range(0, 256, 9): - delta = abs((self.frameNo % 128) - diameter / 2) + delta = abs((self._frame_no % 128) - diameter / 2) alpha = 255 - (delta * delta) / 4 - diameter if alpha > 0: painter.setPen(QPen(QColor(0, diameter / 2, 127, alpha), 3)) - if self.floatBased: + if self._float_based: painter.drawEllipse(QRectF(-diameter / 2.0, -diameter / 2.0, diameter, diameter)) else: @@ -100,26 +100,26 @@ class Window(QWidget): def __init__(self): super(Window, self).__init__() - aliasedLabel = self.createLabel("Aliased") - antialiasedLabel = self.createLabel("Antialiased") - intLabel = self.createLabel("Int") - floatLabel = self.createLabel("Float") + aliased_label = self.create_label("Aliased") + antialiased_label = self.create_label("Antialiased") + int_label = self.create_label("Int") + float_label = self.create_label("Float") layout = QGridLayout() - layout.addWidget(aliasedLabel, 0, 1) - layout.addWidget(antialiasedLabel, 0, 2) - layout.addWidget(intLabel, 1, 0) - layout.addWidget(floatLabel, 2, 0) + layout.addWidget(aliased_label, 0, 1) + layout.addWidget(antialiased_label, 0, 2) + layout.addWidget(int_label, 1, 0) + layout.addWidget(float_label, 2, 0) timer = QTimer(self) for i in range(2): for j in range(2): w = CircleWidget() - w.setAntialiased(j != 0) - w.setFloatBased(i != 0) + w.set_antialiased(j != 0) + w.set_float_based(i != 0) - timer.timeout.connect(w.nextAnimationFrame) + timer.timeout.connect(w.next_animation_frame) layout.addWidget(w, i + 1, j + 1) @@ -128,7 +128,7 @@ class Window(QWidget): self.setWindowTitle("Concentric Circles") - def createLabel(self, text): + def create_label(self, text): label = QLabel(text) label.setAlignment(Qt.AlignCenter) label.setMargin(2) diff --git a/examples/widgets/richtext/orderform/orderform.py b/examples/widgets/richtext/orderform/orderform.py index 3135e82e6..2d69a0aa6 100644 --- a/examples/widgets/richtext/orderform/orderform.py +++ b/examples/widgets/richtext/orderform/orderform.py @@ -49,48 +49,48 @@ class MainWindow(QtWidgets.QMainWindow): def __init__(self): super(MainWindow, self).__init__() - fileMenu = QtWidgets.QMenu("&File", self) - newAction = fileMenu.addAction("&New...") - newAction.setShortcut("Ctrl+N") - self.printAction = fileMenu.addAction("&Print...", self.printFile) - self.printAction.setShortcut("Ctrl+P") - self.printAction.setEnabled(False) - quitAction = fileMenu.addAction("E&xit") - quitAction.setShortcut("Ctrl+Q") - self.menuBar().addMenu(fileMenu) + file_menu = QtWidgets.QMenu("&File", self) + new_action = file_menu.addAction("&New...") + new_action.setShortcut("Ctrl+N") + self._print_action = file_menu.addAction("&Print...", self.print_file) + self._print_action.setShortcut("Ctrl+P") + self._print_action.setEnabled(False) + quit_action = file_menu.addAction("E&xit") + quit_action.setShortcut("Ctrl+Q") + self.menuBar().addMenu(file_menu) self.letters = QtWidgets.QTabWidget() - newAction.triggered.connect(self.openDialog) - quitAction.triggered.connect(self.close) + new_action.triggered.connect(self.open_dialog) + quit_action.triggered.connect(self.close) self.setCentralWidget(self.letters) self.setWindowTitle("Order Form") - def createLetter(self, name, address, orderItems, sendOffers): + def create_letter(self, name, address, orderItems, sendOffers): editor = QtWidgets.QTextEdit() - tabIndex = self.letters.addTab(editor, name) - self.letters.setCurrentIndex(tabIndex) + tab_index = self.letters.addTab(editor, name) + self.letters.setCurrentIndex(tab_index) cursor = editor.textCursor() cursor.movePosition(QtGui.QTextCursor.Start) - topFrame = cursor.currentFrame() - topFrameFormat = topFrame.frameFormat() - topFrameFormat.setPadding(16) - topFrame.setFrameFormat(topFrameFormat) - - textFormat = QtGui.QTextCharFormat() - boldFormat = QtGui.QTextCharFormat() - boldFormat.setFontWeight(QtGui.QFont.Bold) - - referenceFrameFormat = QtGui.QTextFrameFormat() - referenceFrameFormat.setBorder(1) - referenceFrameFormat.setPadding(8) - referenceFrameFormat.setPosition(QtGui.QTextFrameFormat.FloatRight) - referenceFrameFormat.setWidth(QtGui.QTextLength(QtGui.QTextLength.PercentageLength, 40)) - cursor.insertFrame(referenceFrameFormat) - - cursor.insertText("A company", boldFormat) + top_frame = cursor.currentFrame() + top_frame_format = top_frame.frameFormat() + top_frame_format.setPadding(16) + top_frame.setFrameFormat(top_frame_format) + + text_format = QtGui.QTextCharFormat() + bold_format = QtGui.QTextCharFormat() + bold_format.setFontWeight(QtGui.QFont.Bold) + + reference_frame_format = QtGui.QTextFrameFormat() + reference_frame_format.setBorder(1) + reference_frame_format.setPadding(8) + reference_frame_format.setPosition(QtGui.QTextFrameFormat.FloatRight) + reference_frame_format.setWidth(QtGui.QTextLength(QtGui.QTextLength.PercentageLength, 40)) + cursor.insertFrame(reference_frame_format) + + cursor.insertText("A company", bold_format) cursor.insertBlock() cursor.insertText("321 City Street") cursor.insertBlock() @@ -98,9 +98,9 @@ class MainWindow(QtWidgets.QMainWindow): cursor.insertBlock() cursor.insertText("Another country") - cursor.setPosition(topFrame.lastPosition()) + cursor.setPosition(top_frame.lastPosition()) - cursor.insertText(name, textFormat) + cursor.insertText(name, text_format) for line in address.split("\n"): cursor.insertBlock() cursor.insertText(line) @@ -110,41 +110,41 @@ class MainWindow(QtWidgets.QMainWindow): date = QtCore.QDate.currentDate() date_str = date.toString('d MMMM yyyy') - cursor.insertText(f"Date: {date_str}", textFormat) + cursor.insertText(f"Date: {date_str}", text_format) cursor.insertBlock() - bodyFrameFormat = QtGui.QTextFrameFormat() - bodyFrameFormat.setWidth(QtGui.QTextLength(QtGui.QTextLength.PercentageLength, 100)) - cursor.insertFrame(bodyFrameFormat) + body_frame_format = QtGui.QTextFrameFormat() + body_frame_format.setWidth(QtGui.QTextLength(QtGui.QTextLength.PercentageLength, 100)) + cursor.insertFrame(body_frame_format) cursor.insertText("I would like to place an order for the following " - "items:", textFormat) + "items:", text_format) cursor.insertBlock() cursor.insertBlock() - orderTableFormat = QtGui.QTextTableFormat() - orderTableFormat.setAlignment(QtCore.Qt.AlignHCenter) - orderTable = cursor.insertTable(1, 2, orderTableFormat) + order_table_format = QtGui.QTextTableFormat() + order_table_format.setAlignment(QtCore.Qt.AlignHCenter) + order_table = cursor.insertTable(1, 2, order_table_format) - orderFrameFormat = cursor.currentFrame().frameFormat() - orderFrameFormat.setBorder(1) - cursor.currentFrame().setFrameFormat(orderFrameFormat) + order_frame_format = cursor.currentFrame().frameFormat() + order_frame_format.setBorder(1) + cursor.currentFrame().setFrameFormat(order_frame_format) - cursor = orderTable.cellAt(0, 0).firstCursorPosition() - cursor.insertText("Product", boldFormat) - cursor = orderTable.cellAt(0, 1).firstCursorPosition() - cursor.insertText("Quantity", boldFormat) + cursor = order_table.cellAt(0, 0).firstCursorPosition() + cursor.insertText("Product", bold_format) + cursor = order_table.cellAt(0, 1).firstCursorPosition() + cursor.insertText("Quantity", bold_format) for text, quantity in orderItems: - row = orderTable.rows() + row = order_table.rows() - orderTable.insertRows(row, 1) - cursor = orderTable.cellAt(row, 0).firstCursorPosition() - cursor.insertText(text, textFormat) - cursor = orderTable.cellAt(row, 1).firstCursorPosition() - cursor.insertText(str(quantity), textFormat) + order_table.insertRows(row, 1) + cursor = order_table.cellAt(row, 0).firstCursorPosition() + cursor.insertText(text, text_format) + cursor = order_table.cellAt(row, 1).firstCursorPosition() + cursor.insertText(str(quantity), text_format) - cursor.setPosition(topFrame.lastPosition()) + cursor.setPosition(top_frame.lastPosition()) cursor.insertBlock() @@ -152,46 +152,46 @@ class MainWindow(QtWidgets.QMainWindow): "following privacy information:") cursor.insertBlock() - offersTable = cursor.insertTable(2, 2) + offers_table = cursor.insertTable(2, 2) - cursor = offersTable.cellAt(0, 1).firstCursorPosition() + cursor = offers_table.cellAt(0, 1).firstCursorPosition() cursor.insertText("I want to receive more information about your " - "company's products and special offers.", textFormat) - cursor = offersTable.cellAt(1, 1).firstCursorPosition() + "company's products and special offers.", text_format) + cursor = offers_table.cellAt(1, 1).firstCursorPosition() cursor.insertText("I do not want to receive any promotional " - "information from your company.", textFormat) + "information from your company.", text_format) if sendOffers: - cursor = offersTable.cellAt(0, 0).firstCursorPosition() + cursor = offers_table.cellAt(0, 0).firstCursorPosition() else: - cursor = offersTable.cellAt(1, 0).firstCursorPosition() + cursor = offers_table.cellAt(1, 0).firstCursorPosition() - cursor.insertText('X', boldFormat) + cursor.insertText('X', bold_format) - cursor.setPosition(topFrame.lastPosition()) + cursor.setPosition(top_frame.lastPosition()) cursor.insertBlock() - cursor.insertText("Sincerely,", textFormat) + cursor.insertText("Sincerely,", text_format) cursor.insertBlock() cursor.insertBlock() cursor.insertBlock() cursor.insertText(name) - self.printAction.setEnabled(True) + self._print_action.setEnabled(True) - def createSample(self): + def create_sample(self): dialog = DetailsDialog('Dialog with default values', self) - self.createLetter('Mr Smith', + self.create_letter('Mr Smith', '12 High Street\nSmall Town\nThis country', - dialog.orderItems(), True) + dialog.order_items(), True) - def openDialog(self): + def open_dialog(self): dialog = DetailsDialog("Enter Customer Details", self) if dialog.exec_() == QtWidgets.QDialog.Accepted: - self.createLetter(dialog.senderName(), dialog.senderAddress(), - dialog.orderItems(), dialog.sendOffers()) + self.create_letter(dialog.sender_name(), dialog.sender_address(), + dialog.order_items(), dialog.send_offers()) - def printFile(self): + def print_file(self): editor = self.letters.currentWidget() printer = QtPrintSupport.QPrinter() @@ -213,65 +213,65 @@ class DetailsDialog(QtWidgets.QDialog): self.items = ("T-shirt", "Badge", "Reference book", "Coffee cup") - nameLabel = QtWidgets.QLabel("Name:") - addressLabel = QtWidgets.QLabel("Address:") - addressLabel.setAlignment(QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop) + name_label = QtWidgets.QLabel("Name:") + address_label = QtWidgets.QLabel("Address:") + address_label.setAlignment(QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop) - self.nameEdit = QtWidgets.QLineEdit() - self.addressEdit = QtWidgets.QTextEdit() - self.offersCheckBox = QtWidgets.QCheckBox("Send information about " + self._name_edit = QtWidgets.QLineEdit() + self._address_edit = QtWidgets.QTextEdit() + self._offers_check_box = QtWidgets.QCheckBox("Send information about " "products and special offers:") - self.setupItemsTable() + self.setup_items_table() - buttonBox = QtWidgets.QDialogButtonBox(QtWidgets.QDialogButtonBox.Ok | QtWidgets.QDialogButtonBox.Cancel) + button_box = QtWidgets.QDialogButtonBox(QtWidgets.QDialogButtonBox.Ok | QtWidgets.QDialogButtonBox.Cancel) - buttonBox.accepted.connect(self.verify) - buttonBox.rejected.connect(self.reject) + button_box.accepted.connect(self.verify) + button_box.rejected.connect(self.reject) - mainLayout = QtWidgets.QGridLayout() - mainLayout.addWidget(nameLabel, 0, 0) - mainLayout.addWidget(self.nameEdit, 0, 1) - mainLayout.addWidget(addressLabel, 1, 0) - mainLayout.addWidget(self.addressEdit, 1, 1) - mainLayout.addWidget(self.itemsTable, 0, 2, 2, 1) - mainLayout.addWidget(self.offersCheckBox, 2, 1, 1, 2) - mainLayout.addWidget(buttonBox, 3, 0, 1, 3) - self.setLayout(mainLayout) + main_layout = QtWidgets.QGridLayout() + main_layout.addWidget(name_label, 0, 0) + main_layout.addWidget(self._name_edit, 0, 1) + main_layout.addWidget(address_label, 1, 0) + main_layout.addWidget(self._address_edit, 1, 1) + main_layout.addWidget(self._items_table, 0, 2, 2, 1) + main_layout.addWidget(self._offers_check_box, 2, 1, 1, 2) + main_layout.addWidget(button_box, 3, 0, 1, 3) + self.setLayout(main_layout) self.setWindowTitle(title) - def setupItemsTable(self): - self.itemsTable = QtWidgets.QTableWidget(len(self.items), 2) + def setup_items_table(self): + self._items_table = QtWidgets.QTableWidget(len(self.items), 2) for row, item in enumerate(self.items): name = QtWidgets.QTableWidgetItem(item) name.setFlags(QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable) - self.itemsTable.setItem(row, 0, name) + self._items_table.setItem(row, 0, name) quantity = QtWidgets.QTableWidgetItem('1') - self.itemsTable.setItem(row, 1, quantity) + self._items_table.setItem(row, 1, quantity) - def orderItems(self): - orderList = [] + def order_items(self): + order_list = [] for row in range(len(self.items)): - text = self.itemsTable.item(row, 0).text() - quantity = int(self.itemsTable.item(row, 1).data(QtCore.Qt.DisplayRole)) - orderList.append((text, max(0, quantity))) + text = self._items_table.item(row, 0).text() + quantity = int(self._items_table.item(row, 1).data(QtCore.Qt.DisplayRole)) + order_list.append((text, max(0, quantity))) - return orderList + return order_list - def senderName(self): - return self.nameEdit.text() + def sender_name(self): + return self._name_edit.text() - def senderAddress(self): - return self.addressEdit.toPlainText() + def sender_address(self): + return self._address_edit.toPlainText() - def sendOffers(self): - return self.offersCheckBox.isChecked() + def send_offers(self): + return self._offers_check_box.isChecked() def verify(self): - if self.nameEdit.text() and self.addressEdit.toPlainText(): + if self._name_edit.text() and self._address_edit.toPlainText(): self.accept() return @@ -292,5 +292,5 @@ if __name__ == '__main__': window = MainWindow() window.resize(640, 480) window.show() - window.createSample() + window.create_sample() sys.exit(app.exec_()) diff --git a/examples/widgets/richtext/syntaxhighlighter/syntaxhighlighter.py b/examples/widgets/richtext/syntaxhighlighter/syntaxhighlighter.py index 6c21a2a06..f57ba4851 100644 --- a/examples/widgets/richtext/syntaxhighlighter/syntaxhighlighter.py +++ b/examples/widgets/richtext/syntaxhighlighter/syntaxhighlighter.py @@ -76,9 +76,9 @@ class MainWindow(QMainWindow): "qmake Files (*.pro *.prf *.pri)") if file_name: - inFile = QFile(file_name) - if inFile.open(QFile.ReadOnly | QFile.Text): - stream = QTextStream(inFile) + in_file = QFile(file_name) + if in_file.open(QFile.ReadOnly | QFile.Text): + stream = QTextStream(in_file) self._editor.setPlainText(stream.readAll()) def setup_editor(self): diff --git a/examples/widgets/richtext/textobject/textobject.py b/examples/widgets/richtext/textobject/textobject.py index 60abfc19c..d941a3cbe 100644 --- a/examples/widgets/richtext/textobject/textobject.py +++ b/examples/widgets/richtext/textobject/textobject.py @@ -48,7 +48,7 @@ from PySide6 import QtCore, QtGui, QtWidgets, QtSvg class SvgTextObject(QtCore.QObject, QtGui.QTextObjectInterface): def intrinsicSize(self, doc, posInDocument, format): - renderer = QtSvg.QSvgRenderer(format.property(Window.SvgData).toByteArray()) + renderer = QtSvg.QSvgRenderer(format.property(Window.svg_data).toByteArray()) size = renderer.defaultSize() if size.height() > 25: @@ -57,66 +57,66 @@ class SvgTextObject(QtCore.QObject, QtGui.QTextObjectInterface): return QtCore.QSizeF(size) def drawObject(self, painter, rect, doc, posInDocument, format): - renderer = QtSvg.QSvgRenderer(format.property(Window.SvgData).toByteArray()) + renderer = QtSvg.QSvgRenderer(format.property(Window.svg_data).toByteArray()) renderer.render(painter, rect) class Window(QtWidgets.QWidget): - SvgTextFormat = QtGui.QTextFormat.UserObject + 1 + svg_text_format = QtGui.QTextFormat.UserObject + 1 - SvgData = 1 + svg_data = 1 def __init__(self): super(Window, self).__init__() - self.setupGui() - self.setupTextObject() + self.setup_gui() + self.setup_text_object() self.setWindowTitle(self.tr("Text Object Example")) - def insertTextObject(self): - fileName = self.fileNameLineEdit.text() - file = QtCore.QFile(fileName) + def insert_text_object(self): + file_name = self._file_name_line_edit.text() + file = QtCore.QFile(file_name) if not file.open(QtCore.QIODevice.ReadOnly): QtWidgets.QMessageBox.warning(self, self.tr("Error Opening File"), - self.tr("Could not open '%1'").arg(fileName)) + self.tr("Could not open '%1'").arg(file_name)) - svgData = file.readAll() + svg_data = file.readAll() - svgCharFormat = QtGui.QTextCharFormat() - svgCharFormat.setObjectType(Window.SvgTextFormat) - svgCharFormat.setProperty(Window.SvgData, svgData) + svg_char_format = QtGui.QTextCharFormat() + svg_char_format.setObjectType(Window.svg_text_format) + svg_char_format.setProperty(Window.svg_data, svg_data) - cursor = self.textEdit.textCursor() - cursor.insertText(u"\uFFFD", svgCharFormat) - self.textEdit.setTextCursor(cursor) + cursor = self._text_edit.textCursor() + cursor.insertText(u"\uFFFD", svg_char_format) + self._text_edit.setTextCursor(cursor) - def setupTextObject(self): - svgInterface = SvgTextObject(self) - self.textEdit.document().documentLayout().registerHandler(Window.SvgTextFormat, svgInterface) + def setup_text_object(self): + svg_interface = SvgTextObject(self) + self._text_edit.document().documentLayout().registerHandler(Window.svg_text_format, svg_interface) - def setupGui(self): - fileNameLabel = QtWidgets.QLabel(self.tr("Svg File Name:")) - self.fileNameLineEdit = QtWidgets.QLineEdit() - insertTextObjectButton = QtWidgets.QPushButton(self.tr("Insert Image")) + def setup_gui(self): + file_name_label = QtWidgets.QLabel(self.tr("Svg File Name:")) + self._file_name_line_edit = QtWidgets.QLineEdit() + insert_text_object_button = QtWidgets.QPushButton(self.tr("Insert Image")) - self.fileNameLineEdit.setText('./files/heart.svg') - QtCore.QObject.connect(insertTextObjectButton, QtCore.SIGNAL('clicked()'), self.insertTextObject) + self._file_name_line_edit.setText('./files/heart.svg') + QtCore.QObject.connect(insert_text_object_button, QtCore.SIGNAL('clicked()'), self.insert_text_object) - bottomLayout = QtWidgets.QHBoxLayout() - bottomLayout.addWidget(fileNameLabel) - bottomLayout.addWidget(self.fileNameLineEdit) - bottomLayout.addWidget(insertTextObjectButton) + bottom_layout = QtWidgets.QHBoxLayout() + bottom_layout.addWidget(file_name_label) + bottom_layout.addWidget(self._file_name_line_edit) + bottom_layout.addWidget(insert_text_object_button) - self.textEdit = QtWidgets.QTextEdit() + self._text_edit = QtWidgets.QTextEdit() - mainLayout = QtWidgets.QVBoxLayout() - mainLayout.addWidget(self.textEdit) - mainLayout.addLayout(bottomLayout) + main_layout = QtWidgets.QVBoxLayout() + main_layout.addWidget(self._text_edit) + main_layout.addLayout(bottom_layout) - self.setLayout(mainLayout) + self.setLayout(main_layout) if __name__ == '__main__': diff --git a/examples/widgets/state-machine/eventtrans/eventtrans.py b/examples/widgets/state-machine/eventtrans/eventtrans.py index 312b4e258..a014d9356 100644 --- a/examples/widgets/state-machine/eventtrans/eventtrans.py +++ b/examples/widgets/state-machine/eventtrans/eventtrans.py @@ -57,24 +57,24 @@ class MainWindow(QMainWindow): s2 = QState() s2.assignProperty(button, 'text', 'Inside') - enterTransition = QEventTransition(button, QEvent.Enter) - enterTransition.setTargetState(s2) - s1.addTransition(enterTransition) + enter_transition = QEventTransition(button, QEvent.Enter) + enter_transition.setTargetState(s2) + s1.addTransition(enter_transition) - leaveTransition = QEventTransition(button, QEvent.Leave) - leaveTransition.setTargetState(s1) - s2.addTransition(leaveTransition) + leave_transition = QEventTransition(button, QEvent.Leave) + leave_transition.setTargetState(s1) + s2.addTransition(leave_transition) s3 = QState() s3.assignProperty(button, 'text', 'Pressing...') - pressTransition = QEventTransition(button, QEvent.MouseButtonPress) - pressTransition.setTargetState(s3) - s2.addTransition(pressTransition) + press_transition = QEventTransition(button, QEvent.MouseButtonPress) + press_transition.setTargetState(s3) + s2.addTransition(press_transition) - releaseTransition = QEventTransition(button, QEvent.MouseButtonRelease) - releaseTransition.setTargetState(s2) - s3.addTransition(releaseTransition) + release_transition = QEventTransition(button, QEvent.MouseButtonRelease) + release_transition.setTargetState(s2) + s3.addTransition(release_transition) machine.addState(s1) machine.addState(s2) @@ -90,5 +90,5 @@ if __name__ == '__main__': import sys app = QApplication(sys.argv) - mainWin = MainWindow() + main_win = MainWindow() sys.exit(app.exec_()) diff --git a/examples/widgets/state-machine/factstates/factstates.py b/examples/widgets/state-machine/factstates/factstates.py index 3608f2a49..dfde45781 100644 --- a/examples/widgets/state-machine/factstates/factstates.py +++ b/examples/widgets/state-machine/factstates/factstates.py @@ -47,28 +47,28 @@ from PySide6.QtStateMachine import (QFinalState, QSignalTransition, QState, class Factorial(QObject): - xChanged = Signal(int) + x_changed = Signal(int) def __init__(self): super(Factorial, self).__init__() self.xval = -1 self.facval = 1 - def getX(self): + def get_x(self): return self.xval - def setX(self, x): + def set_x(self, x): if self.xval == x: return self.xval = x - self.xChanged.emit(x) - x = Property(int, getX, setX) - def getFact(self): + self.x_changed.emit(x) + x = Property(int, get_x, set_x) + def get_fact(self): return self.facval - def setFact(self, fac): + def set_fact(self, fac): self.facval = fac - fac = Property(int, getFact, setFact) + fac = Property(int, get_fact, set_fact) class FactorialLoopTransition(QSignalTransition): def __init__(self, fact): - super(FactorialLoopTransition, self).__init__(fact, SIGNAL('xChanged(int)')) + super(FactorialLoopTransition, self).__init__(fact, SIGNAL('x_changed(int)')) self.fact = fact def eventTest(self, e): if not super(FactorialLoopTransition, self).eventTest(e): @@ -82,7 +82,7 @@ class FactorialLoopTransition(QSignalTransition): class FactorialDoneTransition(QSignalTransition): def __init__(self, fact): - super(FactorialDoneTransition, self).__init__(fact, SIGNAL('xChanged(int)')) + super(FactorialDoneTransition, self).__init__(fact, SIGNAL('x_changed(int)')) self.fact = fact def eventTest(self, e): if not super(FactorialDoneTransition, self).eventTest(e): @@ -103,9 +103,9 @@ if __name__ == '__main__': compute.addTransition(FactorialLoopTransition(factorial)) done = QFinalState(machine) - doneTransition = FactorialDoneTransition(factorial) - doneTransition.setTargetState(done) - compute.addTransition(doneTransition) + done_transition = FactorialDoneTransition(factorial) + done_transition.setTargetState(done) + compute.addTransition(done_transition) machine.setInitialState(compute) machine.finished.connect(app.quit) diff --git a/examples/widgets/state-machine/rogue/rogue.py b/examples/widgets/state-machine/rogue/rogue.py index b830d6023..c214b897b 100644 --- a/examples/widgets/state-machine/rogue/rogue.py +++ b/examples/widgets/state-machine/rogue/rogue.py @@ -61,13 +61,13 @@ class MovementTransition(QEventTransition): def onTransition(self, event): key = event.event().key() if key == Qt.Key_4: - self.window.movePlayer(self.window.Left) + self.window.move_player(self.window.left) if key == Qt.Key_8: - self.window.movePlayer(self.window.Up) + self.window.move_player(self.window.Up) if key == Qt.Key_6: - self.window.movePlayer(self.window.Right) + self.window.move_player(self.window.right) if key == Qt.Key_2: - self.window.movePlayer(self.window.Down) + self.window.move_player(self.window.down) class Custom(QState): def __init__(self, parent, mw): @@ -84,7 +84,7 @@ class MainWindow(QMainWindow): self.pY = 5 self.width = 35 self.height = 20 - self.statusStr = '' + self._status_str = '' font = QFont() if 'Monospace' in QFontDatabase.families(): @@ -95,10 +95,10 @@ class MainWindow(QMainWindow): font = QFont(family, 12) self.setFont(font) - self.setupMap() - self.buildMachine() + self.setup_map() + self.build_machine() self.show() - def setupMap(self): + def setup_map(self): self.map = [] generator = QRandomGenerator().global_() for x in range(self.width): @@ -111,38 +111,38 @@ class MainWindow(QMainWindow): column.append('.') self.map.append(column) - def buildMachine(self): + def build_machine(self): machine = QStateMachine(self) - inputState = Custom(machine, self) + input_state = Custom(machine, self) # this line sets the status self.status = 'hello!' # however this line does not - inputState.assignProperty(self, 'status', 'Move the rogue with 2, 4, 6, and 8') + input_state.assignProperty(self, 'status', 'Move the rogue with 2, 4, 6, and 8') - machine.setInitialState(inputState) + machine.setInitialState(input_state) machine.start() transition = MovementTransition(self) - inputState.addTransition(transition) + input_state.addTransition(transition) - quitState = QState(machine) - quitState.assignProperty(self, 'status', 'Really quit(y/n)?') + quit_state = QState(machine) + quit_state.assignProperty(self, 'status', 'Really quit(y/n)?') - yesTransition = QKeyEventTransition(self, QEvent.KeyPress, Qt.Key_Y) - self.finalState = QFinalState(machine) - yesTransition.setTargetState(self.finalState) - quitState.addTransition(yesTransition) + yes_transition = QKeyEventTransition(self, QEvent.KeyPress, Qt.Key_Y) + self._final_state = QFinalState(machine) + yes_transition.setTargetState(self._final_state) + quit_state.addTransition(yes_transition) - noTransition = QKeyEventTransition(self, QEvent.KeyPress, Qt.Key_N) - noTransition.setTargetState(inputState) - quitState.addTransition(noTransition) + no_transition = QKeyEventTransition(self, QEvent.KeyPress, Qt.Key_N) + no_transition.setTargetState(input_state) + quit_state.addTransition(no_transition) - quitTransition = QKeyEventTransition(self, QEvent.KeyPress, Qt.Key_Q) - quitTransition.setTargetState(quitState) - inputState.addTransition(quitTransition) + quit_transition = QKeyEventTransition(self, QEvent.KeyPress, Qt.Key_Q) + quit_transition.setTargetState(quit_state) + input_state.addTransition(quit_transition) - machine.setInitialState(inputState) + machine.setInitialState(input_state) machine.finished.connect(qApp.quit) machine.start() @@ -153,53 +153,53 @@ class MainWindow(QMainWindow): def paintEvent(self, event): metrics = QFontMetrics(self.font()) painter = QPainter(self) - fontHeight = metrics.height() - fontWidth = metrics.horizontalAdvance('X') + font_height = metrics.height() + font_width = metrics.horizontalAdvance('X') painter.fillRect(self.rect(), Qt.black) painter.setPen(Qt.white) - yPos = fontHeight - painter.drawText(QPoint(0, yPos), self.status) + y_pos = font_height + painter.drawText(QPoint(0, y_pos), self.status) for y in range(self.height): - yPos += fontHeight - xPos = 0 + y_pos += font_height + x_pos = 0 for x in range(self.width): if y == self.pY and x == self.pX: - xPos += fontWidth + x_pos += font_width continue - painter.drawText(QPoint(xPos, yPos), self.map[x][y]) - xPos += fontWidth - painter.drawText(QPoint(self.pX * fontWidth, (self.pY + 2) * fontHeight), '@') - def movePlayer(self, direction): - if direction == self.Left: + painter.drawText(QPoint(x_pos, y_pos), self.map[x][y]) + x_pos += font_width + painter.drawText(QPoint(self.pX * font_width, (self.pY + 2) * font_height), '@') + def move_player(self, direction): + if direction == self.left: if self.map[self.pX - 1][self.pY] != '#': self.pX -= 1 - elif direction == self.Right: + elif direction == self.right: if self.map[self.pX + 1][self.pY] != '#': self.pX += 1 elif direction == self.Up: if self.map[self.pX][self.pY - 1] != '#': self.pY -= 1 - elif direction == self.Down: + elif direction == self.down: if self.map[self.pX][self.pY + 1] != '#': self.pY += 1 self.repaint() - def getStatus(self): - return self.statusStr - def setStatus(self, status): - self.statusStr = status + def get_status(self): + return self._status_str + def set_status(self, status): + self._status_str = status self.repaint() - status = Property(str, getStatus, setStatus) + status = Property(str, get_status, set_status) Up = 0 - Down = 1 - Left = 2 - Right = 3 - Width = 35 - Height = 20 + down = 1 + left = 2 + right = 3 + width = 35 + height = 20 if __name__ == '__main__': import sys app = QApplication(sys.argv) - mainWin = MainWindow() + main_win = MainWindow() sys.exit(app.exec_()) diff --git a/examples/widgets/state-machine/trafficlight/trafficlight.py b/examples/widgets/state-machine/trafficlight/trafficlight.py index 3631fdbbb..d642261e9 100644 --- a/examples/widgets/state-machine/trafficlight/trafficlight.py +++ b/examples/widgets/state-machine/trafficlight/trafficlight.py @@ -50,58 +50,58 @@ class LightWidget(QWidget): def __init__(self, color): super(LightWidget, self).__init__() self.color = color - self.onVal = False - def isOn(self): - return self.onVal - def setOn(self, on): - if self.onVal == on: + self._on_val = False + def is_on(self): + return self._on_val + def set_on(self, on): + if self._on_val == on: return - self.onVal = on + self._on_val = on self.update() @Slot() - def turnOff(self): - self.setOn(False) + def turn_off(self): + self.set_on(False) @Slot() - def turnOn(self): - self.setOn(True) + def turn_on(self): + self.set_on(True) def paintEvent(self, e): - if not self.onVal: + if not self._on_val: return painter = QPainter(self) painter.setRenderHint(QPainter.Antialiasing) painter.setBrush(self.color) painter.drawEllipse(0, 0, self.width(), self.height()) - on = Property(bool, isOn, setOn) + on = Property(bool, is_on, set_on) class TrafficLightWidget(QWidget): def __init__(self): super(TrafficLightWidget, self).__init__() vbox = QVBoxLayout(self) - self.redLight = LightWidget(Qt.red) - vbox.addWidget(self.redLight) - self.yellowLight = LightWidget(Qt.yellow) - vbox.addWidget(self.yellowLight) - self.greenLight = LightWidget(Qt.green) - vbox.addWidget(self.greenLight) + self._red_light = LightWidget(Qt.red) + vbox.addWidget(self._red_light) + self._yellow_light = LightWidget(Qt.yellow) + vbox.addWidget(self._yellow_light) + self._green_light = LightWidget(Qt.green) + vbox.addWidget(self._green_light) pal = QPalette() pal.setColor(QPalette.Window, Qt.black) self.setPalette(pal) self.setAutoFillBackground(True) -def createLightState(light, duration, parent=None): - lightState = QState(parent) - timer = QTimer(lightState) +def create_light_state(light, duration, parent=None): + light_state = QState(parent) + timer = QTimer(light_state) timer.setInterval(duration) timer.setSingleShot(True) - timing = QState(lightState) - timing.entered.connect(light.turnOn) + timing = QState(light_state) + timing.entered.connect(light.turn_on) timing.entered.connect(timer.start) - timing.exited.connect(light.turnOff) - done = QFinalState(lightState) + timing.exited.connect(light.turn_off) + done = QFinalState(light_state) timing.addTransition(timer, SIGNAL('timeout()'), done) - lightState.setInitialState(timing) - return lightState + light_state.setInitialState(timing) + return light_state class TrafficLight(QWidget): def __init__(self): @@ -112,24 +112,24 @@ class TrafficLight(QWidget): vbox.setContentsMargins(0, 0, 0, 0) machine = QStateMachine(self) - redGoingYellow = createLightState(widget.redLight, 1000) - redGoingYellow.setObjectName('redGoingYellow') - yellowGoingGreen = createLightState(widget.redLight, 1000) - yellowGoingGreen.setObjectName('redGoingYellow') - redGoingYellow.addTransition(redGoingYellow, SIGNAL('finished()'), yellowGoingGreen) - greenGoingYellow = createLightState(widget.yellowLight, 3000) - greenGoingYellow.setObjectName('redGoingYellow') - yellowGoingGreen.addTransition(yellowGoingGreen, SIGNAL('finished()'), greenGoingYellow) - yellowGoingRed = createLightState(widget.greenLight, 1000) - yellowGoingRed.setObjectName('redGoingYellow') - greenGoingYellow.addTransition(greenGoingYellow, SIGNAL('finished()'), yellowGoingRed) - yellowGoingRed.addTransition(yellowGoingRed, SIGNAL('finished()'), redGoingYellow) + red_going_yellow = create_light_state(widget._red_light, 1000) + red_going_yellow.setObjectName('redGoingYellow') + yellow_going_green = create_light_state(widget._red_light, 1000) + yellow_going_green.setObjectName('redGoingYellow') + red_going_yellow.addTransition(red_going_yellow, SIGNAL('finished()'), yellow_going_green) + green_going_yellow = create_light_state(widget._yellow_light, 3000) + green_going_yellow.setObjectName('redGoingYellow') + yellow_going_green.addTransition(yellow_going_green, SIGNAL('finished()'), green_going_yellow) + yellow_going_red = create_light_state(widget._green_light, 1000) + yellow_going_red.setObjectName('redGoingYellow') + green_going_yellow.addTransition(green_going_yellow, SIGNAL('finished()'), yellow_going_red) + yellow_going_red.addTransition(yellow_going_red, SIGNAL('finished()'), red_going_yellow) - machine.addState(redGoingYellow) - machine.addState(yellowGoingGreen) - machine.addState(greenGoingYellow) - machine.addState(yellowGoingRed) - machine.setInitialState(redGoingYellow) + machine.addState(red_going_yellow) + machine.addState(yellow_going_green) + machine.addState(green_going_yellow) + machine.addState(yellow_going_red) + machine.setInitialState(red_going_yellow) machine.start() if __name__ == '__main__': diff --git a/examples/widgets/systray/window.py b/examples/widgets/systray/window.py index f1b8eec11..4a92857d8 100644 --- a/examples/widgets/systray/window.py +++ b/examples/widgets/systray/window.py @@ -53,67 +53,67 @@ class Window(QDialog): def __init__(self, parent=None): super(Window, self).__init__(parent) - self.iconGroupBox = QGroupBox() - self.iconLabel = QLabel() - self.iconComboBox = QComboBox() - self.showIconCheckBox = QCheckBox() - - self.messageGroupBox = QGroupBox() - self.typeLabel = QLabel() - self.durationLabel = QLabel() - self.durationWarningLabel = QLabel() - self.titleLabel = QLabel() - self.bodyLabel = QLabel() - - self.typeComboBox = QComboBox() - self.durationSpinBox = QSpinBox() - self.titleEdit = QLineEdit() - self.bodyEdit = QTextEdit() - self.showMessageButton = QPushButton() - - self.minimizeAction = QAction() - self.maximizeAction = QAction() - self.restoreAction = QAction() - self.quitAction = QAction() - - self.trayIcon = QSystemTrayIcon() - self.trayIconMenu = QMenu() - - self.createIconGroupBox() - self.createMessageGroupBox() - - self.iconLabel.setMinimumWidth(self.durationLabel.sizeHint().width()) - - self.createActions() - self.createTrayIcon() - - self.showMessageButton.clicked.connect(self.showMessage) - self.showIconCheckBox.toggled.connect(self.trayIcon.setVisible) - self.iconComboBox.currentIndexChanged.connect(self.setIcon) - self.trayIcon.messageClicked.connect(self.messageClicked) - self.trayIcon.activated.connect(self.iconActivated) - - self.mainLayout = QVBoxLayout() - self.mainLayout.addWidget(self.iconGroupBox) - self.mainLayout.addWidget(self.messageGroupBox) - self.setLayout(self.mainLayout) - - self.iconComboBox.setCurrentIndex(1) - self.trayIcon.show() + self._icon_group_box = QGroupBox() + self._icon_label = QLabel() + self._icon_combo_box = QComboBox() + self._show_icon_check_box = QCheckBox() + + self._message_group_box = QGroupBox() + self._type_label = QLabel() + self._duration_label = QLabel() + self._duration_warning_label = QLabel() + self._title_label = QLabel() + self._body_label = QLabel() + + self._type_combo_box = QComboBox() + self._duration_spin_box = QSpinBox() + self._title_edit = QLineEdit() + self._body_edit = QTextEdit() + self._show_message_button = QPushButton() + + self._minimize_action = QAction() + self._maximize_action = QAction() + self._restore_action = QAction() + self._quit_action = QAction() + + self._tray_icon = QSystemTrayIcon() + self._tray_icon_menu = QMenu() + + self.create_icon_group_box() + self.create_message_group_box() + + self._icon_label.setMinimumWidth(self._duration_label.sizeHint().width()) + + self.create_actions() + self.create_tray_icon() + + self._show_message_button.clicked.connect(self.show_message) + self._show_icon_check_box.toggled.connect(self._tray_icon.setVisible) + self._icon_combo_box.currentIndexChanged.connect(self.set_icon) + self._tray_icon.messageClicked.connect(self.message_clicked) + self._tray_icon.activated.connect(self.icon_activated) + + self._main_layout = QVBoxLayout() + self._main_layout.addWidget(self._icon_group_box) + self._main_layout.addWidget(self._message_group_box) + self.setLayout(self._main_layout) + + self._icon_combo_box.setCurrentIndex(1) + self._tray_icon.show() self.setWindowTitle("Systray") self.resize(400, 300) def setVisible(self, visible): - self.minimizeAction.setEnabled(visible) - self.maximizeAction.setEnabled(not self.isMaximized()) - self.restoreAction.setEnabled(self.isMaximized() or not visible) + self._minimize_action.setEnabled(visible) + self._maximize_action.setEnabled(not self.isMaximized()) + self._restore_action.setEnabled(self.isMaximized() or not visible) super().setVisible(visible) def closeEvent(self, event): if not event.spontaneous() or not self.isVisible(): return - if self.trayIcon.isVisible(): + if self._tray_icon.isVisible(): QMessageBox.information(self, "Systray", "The program will keep running in the system tray. " "To terminate the program, choose Quit in the context " @@ -122,152 +122,152 @@ class Window(QDialog): event.ignore() @Slot(int) - def setIcon(self, index): - icon = self.iconComboBox.itemIcon(index) - self.trayIcon.setIcon(icon) + def set_icon(self, index): + icon = self._icon_combo_box.itemIcon(index) + self._tray_icon.setIcon(icon) self.setWindowIcon(icon) - self.trayIcon.setToolTip(self.iconComboBox.itemText(index)) + self._tray_icon.setToolTip(self._icon_combo_box.itemText(index)) @Slot(str) - def iconActivated(self, reason): + def icon_activated(self, reason): if reason == QSystemTrayIcon.Trigger: pass if reason == QSystemTrayIcon.DoubleClick: - self.iconComboBox.setCurrentIndex( - (self.iconComboBox.currentIndex() + 1) % self.iconComboBox.count() + self._icon_combo_box.setCurrentIndex( + (self._icon_combo_box.currentIndex() + 1) % self._icon_combo_box.count() ) if reason == QSystemTrayIcon.MiddleClick: - self.showMessage() + self.show_message() @Slot() - def showMessage(self): - self.showIconCheckBox.setChecked(True) - selectedIcon = self.typeComboBox.itemData(self.typeComboBox.currentIndex()) - msgIcon = QSystemTrayIcon.MessageIcon(selectedIcon) - - if selectedIcon == -1: # custom icon - icon = QIcon(self.iconComboBox.itemIcon(self.iconComboBox.currentIndex())) - self.trayIcon.showMessage( - self.titleEdit.text(), - self.bodyEdit.toPlainText(), + def show_message(self): + self._show_icon_check_box.setChecked(True) + selected_icon = self._type_combo_box.itemData(self._type_combo_box.currentIndex()) + msg_icon = QSystemTrayIcon.MessageIcon(selected_icon) + + if selected_icon == -1: # custom icon + icon = QIcon(self._icon_combo_box.itemIcon(self._icon_combo_box.currentIndex())) + self._tray_icon.showMessage( + self._title_edit.text(), + self._body_edit.toPlainText(), icon, - self.durationSpinBox.value() * 1000, + self._duration_spin_box.value() * 1000, ) else: - self.trayIcon.showMessage( - self.titleEdit.text(), - self.bodyEdit.toPlainText(), - msgIcon, - self.durationSpinBox.value() * 1000, + self._tray_icon.showMessage( + self._title_edit.text(), + self._body_edit.toPlainText(), + msg_icon, + self._duration_spin_box.value() * 1000, ) @Slot() - def messageClicked(self): + def message_clicked(self): QMessageBox.information(None, "Systray", "Sorry, I already gave what help I could.\n" "Maybe you should try asking a human?") - def createIconGroupBox(self): - self.iconGroupBox = QGroupBox("Tray Icon") + def create_icon_group_box(self): + self._icon_group_box = QGroupBox("Tray Icon") - self.iconLabel = QLabel("Icon:") + self._icon_label = QLabel("Icon:") - self.iconComboBox = QComboBox() - self.iconComboBox.addItem(QIcon(":/images/bad.png"), "Bad") - self.iconComboBox.addItem(QIcon(":/images/heart.png"), "Heart") - self.iconComboBox.addItem(QIcon(":/images/trash.png"), "Trash") + self._icon_combo_box = QComboBox() + self._icon_combo_box.addItem(QIcon(":/images/bad.png"), "Bad") + self._icon_combo_box.addItem(QIcon(":/images/heart.png"), "Heart") + self._icon_combo_box.addItem(QIcon(":/images/trash.png"), "Trash") - self.showIconCheckBox = QCheckBox("Show icon") - self.showIconCheckBox.setChecked(True) + self._show_icon_check_box = QCheckBox("Show icon") + self._show_icon_check_box.setChecked(True) - iconLayout = QHBoxLayout() - iconLayout.addWidget(self.iconLabel) - iconLayout.addWidget(self.iconComboBox) - iconLayout.addStretch() - iconLayout.addWidget(self.showIconCheckBox) - self.iconGroupBox.setLayout(iconLayout) + icon_layout = QHBoxLayout() + icon_layout.addWidget(self._icon_label) + icon_layout.addWidget(self._icon_combo_box) + icon_layout.addStretch() + icon_layout.addWidget(self._show_icon_check_box) + self._icon_group_box.setLayout(icon_layout) - def createMessageGroupBox(self): - self.messageGroupBox = QGroupBox("Balloon Message") + def create_message_group_box(self): + self._message_group_box = QGroupBox("Balloon Message") - self.typeLabel = QLabel("Type:") + self._type_label = QLabel("Type:") - self.typeComboBox = QComboBox() - self.typeComboBox.addItem("None", QSystemTrayIcon.NoIcon) - self.typeComboBox.addItem( + self._type_combo_box = QComboBox() + self._type_combo_box.addItem("None", QSystemTrayIcon.NoIcon) + self._type_combo_box.addItem( self.style().standardIcon(QStyle.SP_MessageBoxInformation), "Information", QSystemTrayIcon.Information, ) - self.typeComboBox.addItem( + self._type_combo_box.addItem( self.style().standardIcon(QStyle.SP_MessageBoxWarning), "Warning", QSystemTrayIcon.Warning, ) - self.typeComboBox.addItem( + self._type_combo_box.addItem( self.style().standardIcon(QStyle.SP_MessageBoxCritical), "Critical", QSystemTrayIcon.Critical, ) - self.typeComboBox.addItem(QIcon(), "Custom icon", -1) - self.typeComboBox.setCurrentIndex(1) + self._type_combo_box.addItem(QIcon(), "Custom icon", -1) + self._type_combo_box.setCurrentIndex(1) - self.durationLabel = QLabel("Duration:") + self._duration_label = QLabel("Duration:") - self.durationSpinBox = QSpinBox() - self.durationSpinBox.setRange(5, 60) - self.durationSpinBox.setSuffix(" s") - self.durationSpinBox.setValue(15) + self._duration_spin_box = QSpinBox() + self._duration_spin_box.setRange(5, 60) + self._duration_spin_box.setSuffix(" s") + self._duration_spin_box.setValue(15) - self.durationWarningLabel = QLabel("(some systems might ignore this hint)") - self.durationWarningLabel.setIndent(10) + self._duration_warning_label = QLabel("(some systems might ignore this hint)") + self._duration_warning_label.setIndent(10) - self.titleLabel = QLabel("Title:") - self.titleEdit = QLineEdit("Cannot connect to network") - self.bodyLabel = QLabel("Body:") + self._title_label = QLabel("Title:") + self._title_edit = QLineEdit("Cannot connect to network") + self._body_label = QLabel("Body:") - self.bodyEdit = QTextEdit() - self.bodyEdit.setPlainText("Don't believe me. Honestly, I don't have a clue." + self._body_edit = QTextEdit() + self._body_edit.setPlainText("Don't believe me. Honestly, I don't have a clue." "\nClick this balloon for details.") - self.showMessageButton = QPushButton("Show Message") - self.showMessageButton.setDefault(True) - - messageLayout = QGridLayout() - messageLayout.addWidget(self.typeLabel, 0, 0) - messageLayout.addWidget(self.typeComboBox, 0, 1, 1, 2) - messageLayout.addWidget(self.durationLabel, 1, 0) - messageLayout.addWidget(self.durationSpinBox, 1, 1) - messageLayout.addWidget(self.durationWarningLabel, 1, 2, 1, 3) - messageLayout.addWidget(self.titleLabel, 2, 0) - messageLayout.addWidget(self.titleEdit, 2, 1, 1, 4) - messageLayout.addWidget(self.bodyLabel, 3, 0) - messageLayout.addWidget(self.bodyEdit, 3, 1, 2, 4) - messageLayout.addWidget(self.showMessageButton, 5, 4) - messageLayout.setColumnStretch(3, 1) - messageLayout.setRowStretch(4, 1) - self.messageGroupBox.setLayout(messageLayout) - - def createActions(self): - self.minimizeAction = QAction("Minimize", self) - self.minimizeAction.triggered.connect(self.hide) - - self.maximizeAction = QAction("Maximize", self) - self.maximizeAction.triggered.connect(self.showMaximized) - - self.restoreAction = QAction("Restore", self) - self.restoreAction.triggered.connect(self.showNormal) - - self.quitAction = QAction("Quit", self) - self.quitAction.triggered.connect(qApp.quit) - - def createTrayIcon(self): - self.trayIconMenu = QMenu(self) - self.trayIconMenu.addAction(self.minimizeAction) - self.trayIconMenu.addAction(self.maximizeAction) - self.trayIconMenu.addAction(self.restoreAction) - self.trayIconMenu.addSeparator() - self.trayIconMenu.addAction(self.quitAction) - - self.trayIcon = QSystemTrayIcon(self) - self.trayIcon.setContextMenu(self.trayIconMenu) + self._show_message_button = QPushButton("Show Message") + self._show_message_button.setDefault(True) + + message_layout = QGridLayout() + message_layout.addWidget(self._type_label, 0, 0) + message_layout.addWidget(self._type_combo_box, 0, 1, 1, 2) + message_layout.addWidget(self._duration_label, 1, 0) + message_layout.addWidget(self._duration_spin_box, 1, 1) + message_layout.addWidget(self._duration_warning_label, 1, 2, 1, 3) + message_layout.addWidget(self._title_label, 2, 0) + message_layout.addWidget(self._title_edit, 2, 1, 1, 4) + message_layout.addWidget(self._body_label, 3, 0) + message_layout.addWidget(self._body_edit, 3, 1, 2, 4) + message_layout.addWidget(self._show_message_button, 5, 4) + message_layout.setColumnStretch(3, 1) + message_layout.setRowStretch(4, 1) + self._message_group_box.setLayout(message_layout) + + def create_actions(self): + self._minimize_action = QAction("Minimize", self) + self._minimize_action.triggered.connect(self.hide) + + self._maximize_action = QAction("Maximize", self) + self._maximize_action.triggered.connect(self.showMaximized) + + self._restore_action = QAction("Restore", self) + self._restore_action.triggered.connect(self.showNormal) + + self._quit_action = QAction("Quit", self) + self._quit_action.triggered.connect(qApp.quit) + + def create_tray_icon(self): + self._tray_icon_menu = QMenu(self) + self._tray_icon_menu.addAction(self._minimize_action) + self._tray_icon_menu.addAction(self._maximize_action) + self._tray_icon_menu.addAction(self._restore_action) + self._tray_icon_menu.addSeparator() + self._tray_icon_menu.addAction(self._quit_action) + + self._tray_icon = QSystemTrayIcon(self) + self._tray_icon.setContextMenu(self._tray_icon_menu) -- cgit v1.2.3