如何修改Qgridlayout小部件的属性?

时间:2017-03-04 22:21:10

标签: python pyqt

我已经定义了一个填充了Qlabels的2X6 QGridlayout但后来我想将标签文本或属性更改为其他内容。我怎么能这样做?

这就是我在pyqt4

中定义Qgridlayout的方法
gridLayout = QtGui.QGridLayout(self)
for i in range(1, 7):
        for j in range(1, 3):
            gridLayout.addWidget(QtGui.QLabel("label" + str(i) + str(j)), i, j)

1 个答案:

答案 0 :(得分:0)

我设法保留了循环创建的标签的引用,以便稍后使用:

gridLayout = QtGui.QGridLayout(self)
labels = {}
for i in range(1, 7):
    for j in range(1, 3):
        labels[(i, j)] = QtGui.QLabel('label {},{}'.format(i, j))
        gridLayout.addWidget(labels[(i, j)], i, j)

如果我想修改第一列和第一行的第一个标签,我只需要像这样做

labels[(1,1)].setText("modified")