Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python QFormLayout在使用setItem时会删除标签文本_Python_Qt_User Interface_Pyqt - Fatal编程技术网

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

Python QFormLayout在使用setItem时会删除标签文本,python,qt,user-interface,pyqt,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.invalid

使用下面的代码将项目添加到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文档,我还没有找到关于setItem的任何特定注释:

QFormLayout.setItem(self、int行、ItemRole角色、QLayoutItem项目)

item参数的所有权已转移到Qt

将给定角色的给定行中的项设置为项,必要时使用空行扩展布局

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

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

另请参见setLayout()


请分享任何意见,我们将不胜感激。谢谢

使用QWidgetItem完全没有必要,请尝试插入标签和行编辑directly@FrankOsterfeld我知道一旦使用QFormLayout.addRow/setWidget它就会工作,我想知道的是如何使它在这种有限的条件下工作,以及为什么这个API不能按预期工作。