我有一個使用python和PyQt4構建的簡單GUI。用戶在程序中輸入內容後,程序應該根據用戶輸入的內容,在UI中添加一定數量的複選框。出於測試目的,我有一個複選框從開始存在於應用程序中,並且該複選框嵌套在嵌套在QGroupBox內的QVBoxLayout中。我已經嘗試通過PyQt4文檔閱讀所有這些內容,但我一直在努力取得進展。用PyQt4動態添加複選框
這裏是我想提出的初始複選框(從QtCreator基本輸出):
self.CheckboxField = QtGui.QGroupBox(self.GuiMain)
self.CheckboxField.setGeometry(QtCore.QRect(10, 70, 501, 41))
self.CheckboxField.setObjectName("CheckboxField")
self.verticalLayoutWidget = QtGui.QWidget(self.CheckboxField)
self.verticalLayoutWidget.setGeometry(QtCore.QRect(0, 10, 491, 21))
self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
self.CheckboxLayout = QtGui.QVBoxLayout(self.verticalLayoutWidget)
self.CheckboxLayout.setSizeConstraint(QtGui.QLayout.SetMinimumSize)
self.CheckboxLayout.setObjectName("CheckboxLayout")
self.checkBox = QtGui.QCheckBox(self.verticalLayoutWidget)
self.checkBox.setObjectName("checkBox")
self.CheckboxLayout.addWidget(self.checkBox)
當年這裏是我添加一個新的複選框(在一個單獨的文件)的初步嘗試:
checkBox1 = QtGui.QCheckBox(self.window.CheckboxField)
checkBox1.setGeometry(QtCore.QRect(90, 10, 70, 17))
checkBox1.setText(QtGui.QApplication.translate("MainWindow", "Bob Oblaw", None, QtGui.QApplication.UnicodeUTF8))
checkBox1.setObjectName("checkBox1")
self.window.CheckboxLayout.addWidget(checkBox1)
self.window.CheckboxLayout.stretch(1)
self.window.CheckboxField.adjustSize()
self.window.CheckboxField.update()
沒有錯誤,複選框只是不顯示。