In Linux
pip install pyqt6 pyside6 PyQt6Designer
in Windows
pip install pyqt6-tools
in Windows dann starten mit pyqt6-tools designer
Wenn man GUI- Oberflächen für Python mit dem QtDesigner macht, ist das ja fast einfach - fast…, denn die einzelnen Widgets jeweils in ihre jeweils übergeordneteten Layouts zu drücken, artet bei mir immer zu einem Akt der Verzweiflung aus, weil ich jedesmal vergessen habe, wie man vorgehen muß. Darum habe ich es mir jetzt mal aufgeschrieben:
Wenn man daran zerbricht, dass ein Layout partout nicht das übergeordnete Widget ausfüllen will: Das übergeordnete Widget mit der rechten Maustaste anklicken und dann Layout→Layout as Grid
anwählen… 1)
pyuic5 dialog.ui > dialog.py
import sys from PyQt5.QtWidgets import ( QApplication, QDialog, QMainWindow, QMessageBox ) from PyQt5.uic import loadUi from SAEJ_2799_ui import Ui_MainWindow class Window(QMainWindow, Ui_MainWindow): def __init__(self, parent=None): super().__init__(parent) self.setupUi(self) self.connectSignalsSlots() def connectSignalsSlots(self): self.pushButton_connect.clicked.connect(self.connect) self.pushButton_send.clicked.connect(self.send) self.pushButton_clear_log.clicked.connect(self.clear_log) self.action_About.triggered.connect(self.about) if __name__ == "__main__": app = QApplication(sys.argv) win = Window() win.show() sys.exit(app.exec())
Es gibt UI Elemente, die ihre Daten intern speichern, und welche, die mit einem externen Datenmodell syncronisieren. Je nach Anwendung nimmt man das eine oder andere. Die einzelnen Elemente sind auf der QT- Website erklärt