在以下example上建立,我如何通過/訪問更多屬性,然後QCheckBox的'狀態'?在這種情況下,我正在構建一個更動態的功能,可用於多個按鈕並將所有狀態保存爲字典。 (我主要是在'ILCheckbox_changed'定義中尋找與'state'一起使用的'objectName'的正確名稱,也許更一般地我如何找到其他屬性,我可以通過)在PyQt中,如何通過QCheckBox的不同屬性
import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *
class SelectionWindow(QMainWindow):
def __init__(self, parent=None):
super(SelectionWindow, self).__init__()
self.ILCheck = False
ILCheckbox = QCheckBox(self)
ILCheckbox.setCheckState(Qt.Unchecked)
self.check_box_dict = {}
ILCheckbox.stateChanged.connect(self.ILCheckbox_changed)
MainLayout = QGridLayout()
MainLayout.addWidget(ILCheckbox, 0, 0, 1, 1)
self.setLayout(MainLayout)
def ILCheckbox_changed(self, state, objectName):
self.ILCheck = (state == Qt.Checked)
print(self.ILCheck)
self.check_box_dict[objectName] = self.ILCheck
if __name__ == '__main__':
app = QApplication(sys.argv)
window = SelectionWindow()
window.show()
sys.exit(app.exec_())
其實我才發現,原來剛纔的狀態下通過,或者,我會尋找一些方法來例如越過與它的所有屬性的特定複選框,成纔像 { ILCheckbox.stateChanged.connect(self.ILCheckbox_changed(ILCheckbox)) [...] DEF ILCheckbox_changed(個體,check_box): 打印(check_box.objectName ()) } – Tobias