[PYTHON] Verwendung von Qt Designer

Ich habe Qt Designer verwendet, um ein Fenster in Potopeta zu erstellen. Notieren Sie sich, was Sie damals nachgeschlagen haben.

So legen Sie die Symbolleiste fest

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. 2016-07-10_212630.png Sie können Schaltflächen platzieren, indem Sie diese Aktion auf die Symbolleiste ziehen und dort ablegen. 2016-07-10_212704.png 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. 2016-07-10_201334.png Wenn Sie ein Bild auf der Schaltfläche festlegen möchten, registrieren Sie das Bild als Ressource und legen Sie es fest.

Ereignisbehandlung für Schaltflächen in der Symbolleiste

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)

Registrieren Sie das Bild in der Ressource

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 centralWidget die Größenänderung nicht unterstützt

Wenn das CentralWidget-Symbol unter dem MainWindow im Objektinspektor so aussieht, ist das Layout deaktiviert. 2016-07-10_200313.png 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. 2016-07-10_200616.png

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. 2016-07-10_200640.png

Festlegen der Dehnungsberechtigung für jedes Element in QVBoxLayout / QHBoxLayout

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. 2016-07-10_202812.png 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 2016-07-10_202408.png Nach dem Erweitern der Breite 2016-07-10_202728.png

QPushButton-QuickInfo-Einstellungen

Diese Einstellung dient zum Anzeigen der Erklärung, wenn der Mauszeiger über die Schaltfläche bewegt wird. 2016-07-10_201211.png Setzen Sie die Eigenschaft Tooltip auf eine Zeichenfolge. 2016-07-10_201128.png

Verwenden Sie UI-Dateien von PySide

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()

Konvertieren Sie .qrc-Ressourcen zur Verwendung in .py

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.

Richten Sie Ihr Design ganz einfach mit einem Stylesheet ein.

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. 2016-07-10_221959.png

Symbolleiste, wenn kein Stylesheet angegeben ist 2016-07-10_222058.png

Symbolleiste beim Festlegen des Stylesheets (Hintergrundfarbe ändern) 2016-07-10_222025.png

Unterschied zwischen QTreeView und QTreeWidget

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

Verwendung von Qt Designer
Verwendung von xml.etree.ElementTree
Verwendung von virtualenv
Wie benutzt man Seaboan?
Verwendung von Image-Match
Wie man Shogun benutzt
Verwendung von Pandas 2
Verwendung von Virtualenv
Verwendung von numpy.vectorize
Verwendung von pytest_report_header
Wie man teilweise verwendet
Wie man Bio.Phylo benutzt
Verwendung von SymPy
Wie man x-means benutzt
Verwendung von WikiExtractor.py
Verwendung von IPython
Verwendung von virtualenv
Wie benutzt man Matplotlib?
Verwendung von iptables
Wie benutzt man numpy?
Verwendung von TokyoTechFes2015
Wie benutzt man venv
Verwendung des Wörterbuchs {}
Wie benutzt man Pyenv?
Verwendung der Liste []
Wie man Python-Kabusapi benutzt
Verwendung von OptParse
Verwendung von return
Wie man Imutils benutzt
Verwendung der Suche sortiert
[gensim] Verwendung von Doc2Vec
python3: Verwendung der Flasche (2)
Verstehen Sie, wie man Django-Filter verwendet
Verwendung des Generators
[Python] Verwendung von Liste 1
Verwendung von FastAPI ③ OpenAPI
Wie benutzt man Python Argparse?
Verwendung von IPython Notebook
Wie man Pandas Rolling benutzt
[Hinweis] Verwendung von virtualenv
Verwendung von Redispy-Wörterbüchern
Python: Wie man pydub benutzt
[Python] Verwendung von checkio
[Go] Verwendung von "... (3 Perioden)"
So bedienen Sie GeoIp2 von Django
[Python] Verwendung von input ()
Wie benutzt man den Dekorateur?
[Einführung] Verwendung von open3d
Wie benutzt man Python Lambda?
So verwenden Sie Jupyter Notebook
[Python] Verwendung von virtualenv
python3: Verwendung der Flasche (3)
python3: Wie man eine Flasche benutzt
So verwenden Sie Google Colaboratory
Verwendung von Python-Bytes
Verwendung von cron (persönliches Memo)
Python: So verwenden Sie Async mit