小编xuT*_*xuT的帖子

更新动态QGridLayout - Python PyQt

我最近开始学习Python,现在我正在使用PyQt库制作一个带有GUI的软件.

这是我的问题:我创建了一个Scrollarea,我在这个scrollarea中添加了一个包含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)
Run Code Online (Sandbox Code Playgroud)

然后我添加了10个QLabel(当然这只是一个例子,在这个例子中我使用QGridLayout就像一个垂直布局):

    i = 0
    while i<100:
        i = i +1
        add = QtGui.QLabel("Row %i" % i)
        self.sa_grid.addWidget(add)
Run Code Online (Sandbox Code Playgroud)

然后我创建一个调用函数"function_name"的按钮,我希望这个函数删除一行,到目前为止这是我写的:

    tmp = QtGui.QWidget()
    tmp = self.sa_grid.itemAt(0)
    self.sa_grid.removeItem(tmp)
Run Code Online (Sandbox Code Playgroud)

它删除了第一行,gridlayout的每一行都变成了行x-1,但是,它没有删除文本"Row 1",所以我在同一行看到"Row 0"和"Row 1".

有人可以帮帮我吗?

提前感谢,Davide

python layout pyqt qscrollarea qgridlayout

5
推荐指数
1
解决办法
2713
查看次数

标签 统计

layout ×1

pyqt ×1

python ×1

qgridlayout ×1

qscrollarea ×1