如何以编程方式简单地删除QFormLayout中的行

bor*_*sky 7 layout qt pyqt

我有这个代码:

myEdit = QLineEdit()
myQFormLayout.addRow("myLabelText", myEdit)
Run Code Online (Sandbox Code Playgroud)

现在我必须通过引用删除行myEdit:

myQformLayout.removeRow(myEdit)
Run Code Online (Sandbox Code Playgroud)

但是没有API.我可以使用.takeAt(),但我怎么能得到这个论点?如何找到标签索引或索引myEdit

ekh*_*oro 9

您可以只安排窗口小部件及其标签(如果有)进行删除,并让表单相应地调整自身.可以使用labelForField检索窗口小部件的标签.

Python Qt代码:

    label = myQformLayout.labelForField(myEdit)
    if label is not None:
        label.deleteLater()
    myEdit.deleteLater()
Run Code Online (Sandbox Code Playgroud)