我最近开始学习 Python,现在我正在使用 PyQt 库制作一个带有 GUI 的软件。
这是我的问题:我创建了一个滚动区域,我在这个滚动区域中放入了一个包含 QGridLayout 的小部件。
sa = QtGui.QScrollArea()
sa_widget = QtGui.QWidget()
self.sa_grid.setSizeConstraint(QtGui.QLayout.SetMinAndMaxSize)
sa_widget.setLayout(self.sa_grid)
sa.setWidgetResizable(True)
sa.setWidget(sa_widget)
然后我添加 10 个 QLabel (这当然只是一个例子,在这个例子中我使用 QGridLayout 就像一个垂直布局):
i = 0
while i<100:
i = i +1
add = QtGui.QLabel("Row %i" % i)
self.sa_grid.addWidget(add)
然后我创建一个调用函数“function_name”的按钮,我希望这个函数删除一行,到目前为止这是我写的:
tmp = QtGui.QWidget()
tmp = self.sa_grid.itemAt(0)
self.sa_grid.removeItem(tmp)
它删除了第一行,gridlayout 的每 x 行变为第 x-1 行,但是,它不会删除文本“第 1 行”,所以我在同一行上看到“第 0 行”和“第 1 行”。
任何人都可以帮助我吗?
非常感谢,大卫