次の例に基づいて構築すると、QCheckBoxの「状態」よりも多くのプロパティを渡す/アクセスするにはどうすればよいですか? この場合、複数のボタンに使用でき、すべてのステータスを dict に保存できる、より動的な関数を構築しようとしています。
このようなもの(「ILCheckbox_changed」定義の「state」で使用される「objectName」の正しい名前を主に探しています。おそらく、より一般的には、渡すことができる他のプロパティを見つける方法を探しています)
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_())