Synopsis - Qt for Python
Synopsis - Qt for Python favicon https://doc.qt.io/qtforpython/PySide6/QtWidgets/QFileDialog.html

pip install pyside6

地味に pyi ファイルが同梱されていて、 pyright の補助が良く効く。 vscode では、 pylance 拡張をイストールする。

settings.json

"python.languageServer": "Pylance",
"python.analysis.typeCheckingMode": "basic",

一部解決不能なエラーが出るので、

open_action.triggered.connect(self.open_dialog) # type: ignore

のように明示的に型チェックを無効にする。

Tutorials

Widgets

QMainWindow

class MyWidget(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
self.text = QtWidgets.QLabel("Hello World",
alignment=QtCore.Qt.AlignCenter)
self.setCentralWidget(self.text)
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
widget = MyWidget()
widget.show()
widget.resize(800, 600)
sys.exit(app.exec())

QDockWidget

menu = self.menuBar()
file_menu = menu.addMenu("&File")
# file_menu.addAction(button_action)

toolbar

toolbar = QtWidgets.QToolBar("My main toolbar")
self.addToolBar(toolbar)
button_action = QtGui.QAction("Click me!", self)
button_action.setStatusTip("rundom text")
button_action.triggered.connect(self.magic)
toolbar.addAction(button_action)

file dialog

OpenGL

Signal

Timeline

Tree

メモ