J'ai rencontré un problème ce soir qui implique le redimensionnement d'un QTextBox dans un QGridLayout. Le code est la plupart du temps auto-explicatif. J'ai mis le QTextBox à travers 10 cellules dans mon init_ui. J'ai une taille de fenêtre de 500x500.Problème avec la taille du widget et l'ajout de nouveaux widgets
def init_ui(self):
self.message_body = QTextEdit()
self.layout.addWidget(self.message_body, 2, 0, 9, 7)
self.show()
Ensuite, dans une méthode ultérieure, changeSize, je parviens à modifier la taille de QTextEdit. De cette méthode, j'appelle la méthode suivante pour charger les titres qui apparaîtront sous le QTextEdit 445x280. Le chargement de ces titres nécessite l'ajout de nouveaux widgets à la mise en page. Ce qui est apparemment un problème. Je ne sais pas si c'est de mauvais style ou non. Est-ce que tous les widgets doivent être ajoutés dans init? De toute façon, lorsque
self.layout.addWidget(lbl_title, 10, i)
s'exécute. Je perds mon QTextEdit redimensionné. Même si je le suis avec une autre fonction de redimensionnement.
Voici les deux méthodes impliquées
def changeSize(self):
self.message_body.resize(445,280)
self.loadTitles()
def loadTitles(self):
titles = Movie.title_library
for i, my_title in enumerate(titles):
lbl_title = QLabel(my_title)
## This is the line that refreshes the size to span 10x8 units
self.layout.addWidget(lbl_title, 10, i)
self.message_body.resize(445,280)