J'ai utilisé Qt Designer pour créer une fenêtre dans Potopeta. Notez ce que vous avez recherché à ce moment-là.
Vous pouvez ajouter une barre d'outils avec Ajouter une barre d'outils dans le menu contextuel de la fenêtre. Au début, je pensais que je placerais le bouton d'outil là-bas en le faisant glisser et en le déposant, mais c'était différent.
Pour placer un bouton sur la barre d'outils, créez une action pour ce bouton. Vous pouvez placer des boutons en faisant glisser et en déposant cette action sur la barre d'outils. Les actions peuvent être créées en appuyant sur le bouton Nouveau dans l'éditeur d'actions. Si vous souhaitez que le bouton affiche une image, définissez l'icône sur une image de la ressource. Si vous souhaitez définir une image sur le bouton, enregistrez l'image en tant que ressource et définissez-la.
Si vous souhaitez que PySide gère l'événement lorsqu'un bouton de la barre d'outils est enfoncé, attribuez une fonction à l'événement d'action comme suit:
Par exemple, j'ai créé une action appelée actionMenu dans l'éditeur d'actions et l'ai définie dans la barre d'outils. Si vous souhaitez appeler une fonction appelée onToolbarMenu lorsque vous appuyez sur ce bouton, définissez-la dans PySide comme suit.
#Lire le fichier ui, créer et afficher un objet ui
loader = QtUiTools.QUiLoader()
self.ui = loader.load("XXX.ui")
self.ui.show()
#Définir le gestionnaire d'événements pour l'action
self.ui.actionMenu.triggered.connect(self.onToolbarMenu)
Utilisez l'éditeur de ressources pour enregistrer l'image. Affichez la boîte de dialogue avec le bouton Modifier la ressource dans l'éditeur de ressources. Créez un nouveau fichier de ressources et ajoutez un préfixe à son qrc. Sélectionnez le préfixe, puis appuyez sur le bouton Ajouter un fichier pour sélectionner l'image. L'image est maintenant enregistrée comme ressource dans le fichier qrc et peut être sélectionnée dans la sélection d'image du widget.
Si l'icône centralWidget placée sous MainWindow dans l'inspecteur d'objets ressemble à ceci, la disposition est désactivée. Le redimensionnement de la fenêtre dans cet état ne modifie pas le centralWidget. Dans cet état, même si vous augmentez la taille horizontalement, la taille du widget à l'intérieur ne change pas.
Dans ce cas, vous pouvez redimensionner en sélectionnant le type de mise en page dans [Mise en page] dans le menu contextuel de MainWindow. Cette fois, j'ai choisi [Aligner verticalement] pour utiliser QVBoxLayout pour la mise en page directement en dessous. Si vous augmentez la taille horizontalement, le widget à l'intérieur augmentera également horizontalement.
Ajoutez des widgets en tant qu'éléments aux mises en page qui s'alignent horizontalement et verticalement. Si vous voulez qu'une partie seulement se dilate et se contracte en fonction de la taille, Définissez la propriété layoutStretch sur une chaîne de 0 ou 1, séparée par des virgules, telle que 1,0,0,1,0,1,1. Dans cet exemple, seuls les éléments 1, 4, 6 et 7 avec 1 spécifié seront étirés. Les deuxième, troisième et cinquième éléments avec 0 spécifié ne s'étirent pas. Avant d'élargir la largeur Après avoir élargi la largeur
Ce paramètre permet d'afficher l'explication lorsque le pointeur de la souris survole le bouton. Définissez la propriété Tooltip sur une chaîne.
Vous pouvez utiliser QtUiTools de PySide pour créer des fichiers .ui créés dans Qt Designer sous forme de fenêtres.
from PySide import QtUiTools
# XXX_rc.py est XXX.Une version convertie de qrc. Requis lors de la lecture de l'interface utilisateur avec qrc.
import XXX_rc.py
#Lire le fichier ui et créer un objet ui
loader = QtUiTools.QUiLoader()
ui = loader.load("XXX.ui")
ui.show()
Les images gérées par Qt Designer sont enregistrées dans qrc. Le fichier .qrc n'est pas disponible tel quel dans PySide. Convertissez en un fichier .py et importez. QUiLoader utilise ce module .py importé lors du chargement de fichiers .ui. Le nom de fichier .py doit être le nom de fichier .qrc plus _rc.
Pour convertir XXX.qrc en fichier .py pour python3, exécutez la commande suivante:
pyside-rcc.exe -py3 XXX.qrc > XXX_rc.py
pyside-rcc.exe se trouve directement sous le dossier d'installation de Python
Je pense que c'est dans Lib \ site-packages \ PySide
.
Cela créera XXX_rc.py.
QWidget a une propriété appelée styleSheet. Par conséquent, vous pouvez facilement modifier l'apparence en écrivant quelque chose comme css. Dans la boîte de dialogue [Modifier la feuille de style], vous pouvez utiliser l'interface graphique pour définir des paramètres tels que la modification de la couleur d'arrière-plan.
Définissez la feuille de style. Vous pouvez afficher la boîte de dialogue avec le bouton [...].
Barre d'outils lorsqu'aucune feuille de style n'est spécifiée
Barre d'outils lorsque la feuille de style est définie (modifier la couleur d'arrière-plan)
L'implémentation de Model-View est différente.
QTreeView ** n'a pas de modèle intégré **, il convient donc lorsque vous souhaitez utiliser l'interface graphique en utilisant votre propre modèle. Vous pouvez ressentir la signification de la vue uniquement à partir du nom.
QTreeWidget a un modèle ** intégré unique à la bibliothèque Qt, il convient donc à ceux qui souhaitent utiliser l'interface graphique de l'arborescence facilement. Pour le dire autrement, vous ne pouvez pas jouer avec le modèle comme vous le souhaitez.
QTreeWidget est une classe dérivée de QTreeView et on peut dire que cela évite à l'utilisateur d'avoir à créer un modèle.
Recommended Posts