Python QFormLayout在使用setItem时会删除标签文本
使用下面的代码将项目添加到QFormLayout中,但未显示任何内容,也未找到任何错误日志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
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不能按预期工作。