小部件大小和添加新小部件的问题
问题描述:
我遇到了一个问题,包括在QGridLayout中调整QTextBox的大小。代码大多是不言自明的。我将QTextBox设置为在我的init_ui中跨越10个单元格。我有一个500x500的窗口大小。小部件大小和添加新小部件的问题
def init_ui(self):
self.message_body = QTextEdit()
self.layout.addWidget(self.message_body, 2, 0, 9, 7)
self.show()
然后在后面的方法中,changeSize,我成功地能够改变QTextEdit的大小。从这个方法我调用下一个方法来加载将出现在445x280 QTextEdit下面的标题。加载这些标题需要将新的小部件添加到布局中。这显然是一个问题。我不知道这是否可怜的造型。是否应该在init中添加所有的小部件?无论哪种方式,当
self.layout.addWidget(lbl_title, 10, i)
运行。我失去了我调整大小的QTextEdit。即使我使用另一个调整大小功能。
这里有牵连
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)
答
我想出溶液中的两种方法。我需要在恢复消息正文部件之前删除消息正文部件。代码看起来像
self.layout.removeWidget(self.message_body)
self.layout.addWidget(self.message_body,2,0,4,7)