Ich habe Qt Designer verwendet, um ein Fenster in Potopeta zu erstellen. Notieren Sie sich, was Sie damals nachgeschlagen haben.
Sie können eine Symbolleiste mit Symbolleiste hinzufügen im Kontextmenü des Fensters hinzufügen. Zuerst dachte ich, ich würde die Werkzeugschaltfläche dort durch Ziehen und Ablegen platzieren, aber es war anders.
Um eine Schaltfläche in der Symbolleiste zu platzieren, erstellen Sie eine Aktion für diese Schaltfläche. Sie können Schaltflächen platzieren, indem Sie diese Aktion auf die Symbolleiste ziehen und dort ablegen. Aktionen können durch Klicken auf die Schaltfläche Neu im Aktionseditor erstellt werden. Wenn die Schaltfläche ein Bild anzeigen soll, setzen Sie das Symbol auf ein Bild der Ressource. Wenn Sie ein Bild auf der Schaltfläche festlegen möchten, registrieren Sie das Bild als Ressource und legen Sie es fest.
Wenn PySide das Ereignis behandeln soll, wenn eine Schaltfläche in der Symbolleiste gedrückt wird, weisen Sie dem Aktionsereignis eine Funktion wie folgt zu:
Zum Beispiel habe ich im Aktionseditor eine Aktion namens actionMenu erstellt und in der Symbolleiste festgelegt. Wenn Sie beim Drücken dieser Taste eine Funktion namens onToolbarMenu aufrufen möchten, stellen Sie sie in PySide wie folgt ein.
#Lesen Sie die UI-Datei, erstellen Sie das UI-Objekt und zeigen Sie es an
loader = QtUiTools.QUiLoader()
self.ui = loader.load("XXX.ui")
self.ui.show()
#Legen Sie den Ereignishandler für die Aktion fest
self.ui.actionMenu.triggered.connect(self.onToolbarMenu)
Verwenden Sie den Ressourceneditor, um das Bild zu registrieren. Zeigen Sie den Dialog mit der Schaltfläche Ressource bearbeiten im Ressourceneditor an. Erstellen Sie eine neue Ressourcendatei und fügen Sie dem qrc ein Präfix hinzu. Wählen Sie das Präfix aus und klicken Sie dann auf die Schaltfläche Datei hinzufügen, um das Bild auszuwählen. Das Bild ist jetzt als Ressource in der qrc-Datei registriert und kann in der Bildauswahl des Widgets ausgewählt werden.
Wenn das CentralWidget-Symbol unter dem MainWindow im Objektinspektor so aussieht, ist das Layout deaktiviert. Durch Ändern der Fenstergröße in diesem Status wird das centralWidget nicht geändert. In diesem Zustand ändert sich die Größe des Widgets im Inneren nicht, selbst wenn Sie die Größe horizontal erhöhen.
In diesem Fall können Sie die Größe ändern, indem Sie den Layouttyp unter [Layout] im Kontextmenü von MainWindow auswählen. Dieses Mal habe ich [Vertikal ausrichten] ausgewählt, um QVBoxLayout für das Layout direkt darunter zu verwenden. Wenn Sie die Größe horizontal erhöhen, wird das Widget im Inneren auch horizontal vergrößert.
Fügen Sie Layouts als Elemente zu Layouts hinzu, die horizontal und vertikal ausgerichtet sind. Wenn Sie möchten, dass nur ein Teil davon entsprechend der Größe erweitert und verkleinert wird, Setzen Sie die Eigenschaft layoutStretch auf eine durch Kommas getrennte Zeichenfolge von 0 oder 1, z. B. 1,0,0,1,0,1,1. In diesem Beispiel werden nur die Elemente 1, 4, 6 und 7 mit 1 angegeben. Das zweite, dritte und fünfte Element mit 0 wird nicht gedehnt. Vor dem Erweitern der Breite Nach dem Erweitern der Breite
Diese Einstellung dient zum Anzeigen der Erklärung, wenn der Mauszeiger über die Schaltfläche bewegt wird. Setzen Sie die Eigenschaft Tooltip auf eine Zeichenfolge.
Mit den QtUiTools von PySide können Sie in Qt Designer erstellte .ui-Dateien als Fenster erstellen.
from PySide import QtUiTools
# XXX_rc.py ist XXX.Eine konvertierte Version von qrc. Erforderlich beim Lesen der Benutzeroberfläche mit qrc.
import XXX_rc.py
#Lesen Sie die UI-Datei und erstellen Sie das UI-Objekt
loader = QtUiTools.QUiLoader()
ui = loader.load("XXX.ui")
ui.show()
Von Qt Designer behandelte Bilder werden in qrc registriert. Die .qrc-Datei ist in PySide nicht verfügbar. In eine .py-Datei konvertieren und importieren. QUiLoader verwendet dieses importierte .py-Modul beim Laden von .ui-Dateien. Der .py-Dateiname sollte der .qrc-Dateiname plus _rc sein.
Führen Sie den folgenden Befehl aus, um XXX.qrc in eine .py-Datei für python3 zu konvertieren:
pyside-rcc.exe -py3 XXX.qrc > XXX_rc.py
pyside-rcc.exe befindet sich direkt unter dem Python-Installationsordner Ich denke, es ist in "Lib \ site-packages \ PySide".
Dadurch wird XXX_rc.py erstellt.
QWidget hat eine Eigenschaft namens styleSheet. Daher können Sie das Erscheinungsbild leicht ändern, indem Sie etwas wie CSS schreiben. Im Dialogfeld [Stylesheet ändern] können Sie über die GUI Einstellungen vornehmen, z. B. das Ändern der Hintergrundfarbe.
Legen Sie das Stylesheet fest. Sie können den Dialog mit der Schaltfläche [...] anzeigen.
Symbolleiste, wenn kein Stylesheet angegeben ist
Symbolleiste beim Festlegen des Stylesheets (Hintergrundfarbe ändern)
Die Implementierung von Model-View ist anders.
QTreeView ** verfügt nicht über ein integriertes Modell ** und ist daher geeignet, wenn Sie die GUI mit Ihrem eigenen Modell bedienen möchten. Sie können die Bedeutung von Nur Ansicht anhand der Benennung spüren.
QTreeWidget verfügt über ein integriertes ** Modell, das nur in der Qt-Bibliothek verfügbar ist. Daher eignet es sich für Benutzer, die die Baum-GUI problemlos verwenden möchten. Um es anders herum auszudrücken, Sie können nicht mit dem Modell spielen, wie Sie möchten.
QTreeWidget ist eine abgeleitete Klasse von QTreeView und erspart dem Benutzer die Mühe, ein Modell zu erstellen.
Recommended Posts