diff options
Diffstat (limited to 'sources/pyside6/doc/tutorials')
4 files changed, 235 insertions, 8 deletions
diff --git a/sources/pyside6/doc/tutorials/portingguide/chapter3/bookdelegate.py b/sources/pyside6/doc/tutorials/portingguide/chapter3/bookdelegate.py index 6abbc3343..6d96d6a80 100644 --- a/sources/pyside6/doc/tutorials/portingguide/chapter3/bookdelegate.py +++ b/sources/pyside6/doc/tutorials/portingguide/chapter3/bookdelegate.py @@ -2,7 +2,6 @@ # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause from __future__ import annotations -import copy from PySide6.QtSql import QSqlRelationalDelegate from PySide6.QtWidgets import QSpinBox, QStyle from PySide6.QtGui import QPixmap, QPalette @@ -13,7 +12,7 @@ class BookDelegate(QSqlRelationalDelegate): """Books delegate to rate the books""" def __init__(self, star_png, parent=None): - QSqlRelationalDelegate.__init__(self, parent) + super().__init__(parent) self.star = QPixmap(":/images/star.png") def paint(self, painter, option, index): @@ -29,9 +28,7 @@ class BookDelegate(QSqlRelationalDelegate): """ if index.column() != 5: # Since we draw the grid ourselves: - opt = copy.copy(option) - opt.rect = option.rect.adjusted(0, 0, -1, -1) - QSqlRelationalDelegate.paint(self, painter, opt, index) + QSqlRelationalDelegate.paint(self, painter, option, index) else: model = index.model() if option.state & QStyle.State_Enabled: @@ -54,9 +51,6 @@ class BookDelegate(QSqlRelationalDelegate): painter.drawPixmap(x, y, self.star) x += width - # Since we draw the grid ourselves: - self.drawFocus(painter, option, option.rect.adjusted(0, 0, -1, -1)) - pen = painter.pen() painter.setPen(option.palette.color(QPalette.Mid)) painter.drawLine(option.rect.bottomLeft(), option.rect.bottomRight()) diff --git a/sources/pyside6/doc/tutorials/portingguide/chapter3/chapter3.pyproject b/sources/pyside6/doc/tutorials/portingguide/chapter3/chapter3.pyproject new file mode 100644 index 000000000..3f755a88c --- /dev/null +++ b/sources/pyside6/doc/tutorials/portingguide/chapter3/chapter3.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["main.py", "bookdelegate.py", "books.qrc", "bookwindow.py", "bookwindow.ui", "createdb.py"] +} diff --git a/sources/pyside6/doc/tutorials/portingguide/chapter3/rc_books.py b/sources/pyside6/doc/tutorials/portingguide/chapter3/rc_books.py new file mode 100644 index 000000000..009d355a0 --- /dev/null +++ b/sources/pyside6/doc/tutorials/portingguide/chapter3/rc_books.py @@ -0,0 +1,88 @@ +# Resource object code (Python 3) +# Created by: object code +# Created by: The Resource Compiler for Qt version 6.9.0 +# WARNING! All changes made in this file will be lost! + +from PySide6 import QtCore + +qt_resource_data = b"\ +\x00\x00\x03\x0e\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ +\x00\x00\x00\x09pHYs\x00\x00\x0b\x11\x00\x00\x0b\x11\ +\x01\x7fd_\x91\x00\x00\x00\x07tIME\x07\xd4\x09\ +\x03\x12\x11\x08\x18~\xe5:\x00\x00\x00\x06bKGD\ +\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\x02\x9bID\ +AT8\xcbc\x98:c\x1e#:\xe6\xe5d\xcf\x17\ +\x12\x12\x16\xc4&\x87\x8e\x19\xb0\x09v\xc6\x18\xb7x\xea\ +\x8b\xcd\x9c=o\x09i\x06,X4\x8f\xf1\xd2\xa5\x99\ +L\xb9\xa1\x16\xc5\xc7\xbb\xed\xff\x0a\xf2\xb2;M\x9f\xb5\ +\x908\x03\x16,\x9a\xcb\xf8\xe0\xde\x04\x96\xc7\x0f\xdby\ +\xe7MO\xc8\xfbv\xbf\xe5\xff\xb4\x0a\x9b\x9by\x851\ +\xdc\xd3g-\x82k\x983\x7f)\xe3l F1`\ +\xca\xf4y\x8c\xd7\xaeMg\x02i~\xf2\xa8Y\xe1\xd2\ +\xa5\xfa\xdc_\x9f7\xfd\xffx\xbf\xea\x7fE\x96m\x97\ +\x81\x81>'33\x8b\xa5\x9e8gi\xb8\x9e\xc0f\ +&&\xa6D\x14\x03&N\x9d\xc7x\xef\xdeD\x96'\ +\x0f[E\x9f>j\xd6\xbdu\xb3\x22\xef\xd7\xb7=\xff\ +\xbe\x7f\xe8\xfb\x7f~S\xcc\xef\x05\xc5\xea\x9fNOQ\ +\xfb\x7f\xbaM\xed\xbf\x87\x1a\xefn5-\x1dV\x14\x03\ +f\xcf[\xce\xa8\xa4\xa9![W\xed\x9b}\xefJ\xcb\ +\xcew\xaf&\x7f\xfa\xfee\xc9\xff\xef\x1f\xfa\xff\xbf\xbf\ +\x95\xf2\xff\xc9^\x83\xffW\x17\xaa\xfdot\x12{\xc4\ +\xc7\xc7/\x8e\x12\x06Y\xb9\x85\xcc\xb2\x82\x1c\xf3\xa7D\ +\xab\xfe\xfa\xbe%\xe2\xff\x8fgm\xff\x7f|\x9a\x08\xd6\ +\xfc\xf5Y\xcd\xff\xd7\xe7\xfc\xfe\xdf\xde\xa0\xf5\x7fE\x94\ +\xecO\x16\x16V\xebi3\xe7\xa3\x06\xe2\xe4is\x18\ +\xe7/Z\xc1\xc8\xce\xc1i\x10\xe5\xa8\xd2\xbe\xa6\xcd\xe7\ +\xf6\xc3m\x99\xff~^(\xf8\xff\xe1j\xe0\xff\x17G\ +L\xff\xdf\xdf\xae\xf6\xbf\xc2]\xf4\xba\x9a\x9a\x06\x1bF\ +,\x00\x01#2\xe6\xe6\xe6`Q\xd6\x941_\xde\xe4\ +q\xfb\xc3y\xd3\xff\x1b\x8aT\xff\xbf?`\xff\xff\xdc\ +l\xe5\xff\xea\xc2\x1c9\xd3g-\xc0i\x00\x13\x10\x8b\ +\x03\xb1?\x10\xe7\xf5\x16\xd8\xde\xf8p\xc6\xe4\xbf\x9d<\ +\xf7t\x7fC\xe9\x95\xb7\x96\xd9\xff\x9b\x9c,\xfdN@\ +@H\x14\x9b\x01LP,\x06\xc4\x19@|\x22;\xca\ +\xf0\xe7\xe9\xf9\x06\xff\x81\xec\x03@\xbc^\x82\x9f\xf3\xf6\ +\x9e\x1a\xf3_az\x823P\xd2\x01T#3\x10\x0b\ +\x00\xb1\x1e\x10\x17\x03\xf1\xd1\xa8@\xdd\x9f\xad\x09J \ +\x03\xfe\x00\xf17 >\x0f\xb4kf\xb9\xa7\xea\x0d}\ +i>#d\x03\xb4\x808\x08\x88k\x81x\x09\xd4\xc6\ +\x1b\x11a\x06\xdf\xec\x94\xb8\xdf\x03\xd9;\x81x\x1a\x10\ +\xf7\x82\xd4\xb0\xb2\xb1G\xf9\xda\x99:L\x9d9\x9f\x09\ +f\x80\x0e\x10;\x02\xb1\x13\x10[\x00\xb1\x01\x10\x07\x06\ +{h\x9c\x02\xd2k\xa0\x86\x8b\x001\x17\x10\xf3\x80\xb0\ +\x88\x88(\xcb,hFC\xf6\x02\x08\xb3\x001+\x10\ +K122\xe4\x01i7 \x96\x01b6\xa88\x0b\ +T=cW\xef$\xb0\x01\x00\xceo{\xf5UL\xf0\ +\xac\x00\x00\x00\x00IEND\xaeB`\x82\ +" + +qt_resource_name = b"\ +\x00\x06\ +\x07\x03}\xc3\ +\x00i\ +\x00m\x00a\x00g\x00e\x00s\ +\x00\x08\ +\x0a\x85X\x07\ +\x00s\ +\x00t\x00a\x00r\x00.\x00p\x00n\x00g\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x12\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01}\xc3\x96\xdb\xbd\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/sources/pyside6/doc/tutorials/portingguide/chapter3/ui_bookwindow.py b/sources/pyside6/doc/tutorials/portingguide/chapter3/ui_bookwindow.py new file mode 100644 index 000000000..542b66150 --- /dev/null +++ b/sources/pyside6/doc/tutorials/portingguide/chapter3/ui_bookwindow.py @@ -0,0 +1,142 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'bookwindow.ui' +## +## Created by: Qt User Interface Compiler version 6.9.0 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor, + QFont, QFontDatabase, QGradient, QIcon, + QImage, QKeySequence, QLinearGradient, QPainter, + QPalette, QPixmap, QRadialGradient, QTransform) +from PySide6.QtWidgets import (QAbstractItemView, QApplication, QComboBox, QFormLayout, + QGroupBox, QHeaderView, QLabel, QLineEdit, + QMainWindow, QSizePolicy, QSpinBox, QTableView, + QVBoxLayout, QWidget) + +class Ui_BookWindow(object): + def setupUi(self, BookWindow): + if not BookWindow.objectName(): + BookWindow.setObjectName(u"BookWindow") + BookWindow.resize(601, 420) + self.centralWidget = QWidget(BookWindow) + self.centralWidget.setObjectName(u"centralWidget") + self.vboxLayout = QVBoxLayout(self.centralWidget) +#ifndef Q_OS_MAC + self.vboxLayout.setSpacing(6) +#endif +#ifndef Q_OS_MAC + self.vboxLayout.setContentsMargins(9, 9, 9, 9) +#endif + self.vboxLayout.setObjectName(u"vboxLayout") + self.groupBox = QGroupBox(self.centralWidget) + self.groupBox.setObjectName(u"groupBox") + self.vboxLayout1 = QVBoxLayout(self.groupBox) +#ifndef Q_OS_MAC + self.vboxLayout1.setSpacing(6) +#endif +#ifndef Q_OS_MAC + self.vboxLayout1.setContentsMargins(9, 9, 9, 9) +#endif + self.vboxLayout1.setObjectName(u"vboxLayout1") + self.bookTable = QTableView(self.groupBox) + self.bookTable.setObjectName(u"bookTable") + self.bookTable.setSelectionBehavior(QAbstractItemView.SelectRows) + + self.vboxLayout1.addWidget(self.bookTable) + + self.groupBox_2 = QGroupBox(self.groupBox) + self.groupBox_2.setObjectName(u"groupBox_2") + self.formLayout = QFormLayout(self.groupBox_2) + self.formLayout.setObjectName(u"formLayout") + self.label_5 = QLabel(self.groupBox_2) + self.label_5.setObjectName(u"label_5") + + self.formLayout.setWidget(0, QFormLayout.ItemRole.LabelRole, self.label_5) + + self.titleEdit = QLineEdit(self.groupBox_2) + self.titleEdit.setObjectName(u"titleEdit") + self.titleEdit.setEnabled(True) + + self.formLayout.setWidget(0, QFormLayout.ItemRole.FieldRole, self.titleEdit) + + self.label_2_2_2_2 = QLabel(self.groupBox_2) + self.label_2_2_2_2.setObjectName(u"label_2_2_2_2") + + self.formLayout.setWidget(1, QFormLayout.ItemRole.LabelRole, self.label_2_2_2_2) + + self.authorEdit = QComboBox(self.groupBox_2) + self.authorEdit.setObjectName(u"authorEdit") + self.authorEdit.setEnabled(True) + + self.formLayout.setWidget(1, QFormLayout.ItemRole.FieldRole, self.authorEdit) + + self.label_3 = QLabel(self.groupBox_2) + self.label_3.setObjectName(u"label_3") + + self.formLayout.setWidget(2, QFormLayout.ItemRole.LabelRole, self.label_3) + + self.genreEdit = QComboBox(self.groupBox_2) + self.genreEdit.setObjectName(u"genreEdit") + self.genreEdit.setEnabled(True) + + self.formLayout.setWidget(2, QFormLayout.ItemRole.FieldRole, self.genreEdit) + + self.label_4 = QLabel(self.groupBox_2) + self.label_4.setObjectName(u"label_4") + + self.formLayout.setWidget(3, QFormLayout.ItemRole.LabelRole, self.label_4) + + self.yearEdit = QSpinBox(self.groupBox_2) + self.yearEdit.setObjectName(u"yearEdit") + self.yearEdit.setEnabled(True) + self.yearEdit.setMaximum(2100) + self.yearEdit.setMinimum(-1000) + + self.formLayout.setWidget(3, QFormLayout.ItemRole.FieldRole, self.yearEdit) + + self.label = QLabel(self.groupBox_2) + self.label.setObjectName(u"label") + + self.formLayout.setWidget(4, QFormLayout.ItemRole.LabelRole, self.label) + + self.ratingEdit = QSpinBox(self.groupBox_2) + self.ratingEdit.setObjectName(u"ratingEdit") + self.ratingEdit.setMaximum(5) + + self.formLayout.setWidget(4, QFormLayout.ItemRole.FieldRole, self.ratingEdit) + + + self.vboxLayout1.addWidget(self.groupBox_2) + + + self.vboxLayout.addWidget(self.groupBox) + + BookWindow.setCentralWidget(self.centralWidget) + QWidget.setTabOrder(self.bookTable, self.titleEdit) + QWidget.setTabOrder(self.titleEdit, self.authorEdit) + QWidget.setTabOrder(self.authorEdit, self.genreEdit) + QWidget.setTabOrder(self.genreEdit, self.yearEdit) + + self.retranslateUi(BookWindow) + + QMetaObject.connectSlotsByName(BookWindow) + # setupUi + + def retranslateUi(self, BookWindow): + BookWindow.setWindowTitle(QCoreApplication.translate("BookWindow", u"Books", None)) + self.groupBox.setTitle(QCoreApplication.translate("BookWindow", u"Books", None)) + self.groupBox_2.setTitle(QCoreApplication.translate("BookWindow", u"Details", None)) + self.label_5.setText(QCoreApplication.translate("BookWindow", u"<b>Title:</b>", None)) + self.label_2_2_2_2.setText(QCoreApplication.translate("BookWindow", u"<b>Author: </b>", None)) + self.label_3.setText(QCoreApplication.translate("BookWindow", u"<b>Genre:</b>", None)) + self.label_4.setText(QCoreApplication.translate("BookWindow", u"<b>Year:</b>", None)) + self.yearEdit.setPrefix("") + self.label.setText(QCoreApplication.translate("BookWindow", u"<b>Rating:</b>", None)) + # retranslateUi |
