在example之后构建,如何传递/访问比QCheckBox的“state”更多的属性?在本例中,我希望构建一个更动态的函数,可以用于多个按钮,并将所有状态保存在dict中
类似这样的东西(我主要寻找'objectName'的正确名称,因为它在'ILCheckbox'u changed'定义中与'state'一起使用,或者更一般地说,我如何找到可以传递的其他属性)
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_())
在每个插槽中,您可以使用函数
self.sender()
访问发送信号的对象相关问题 更多 >
编程相关推荐