使用setItem时,QFormLayout会删除标签文本

时间:2015-06-04 03:18:33

标签: python qt user-interface pyqt

使用下面的代码将项目添加到QFormLayout中,但没有显示任何内容,但没有找到任何错误日志。

fl1 = QFormLayout()
label = QLabel()
label.setText("HELLO")
item1 = QWidgetItem(label)
fl1.setItem(1, 0, item1)
item2 = QWidgetItem(QLineEdit())
fl1.setItem(1, 1, item2)
fl1.update()
fl1.invalidate()

根据pyqt doc,我还没有找到任何关于setItem的具体说明:

  

QFormLayout.setItem(self,int row,ItemRole role,QLayoutItem item)

     

item参数将其所有权转移到Qt。

     

将给定角色的给定行中的项目设置为item,如有必要,使用空行扩展布局。

     

如果单元格已被占用,则不插入该项目,并向控制台发送错误消息。该项目横跨两列。

     

警告:请勿使用此功能添加子布局或子窗口小部件项。改为使用setLayout()或setWidget()。

     

另见setLayout()。

请分享任何意见将不胜感激。谢谢!

0 个答案:

没有答案