问题描述
出于某种运动,我正在和 @ekhumoro 的a demo code一起玩(原始Qt4代码的所有功劳都归于他),他在其中插入了新行{{ 1}}个小部件放入QLineEdit
中的QHeaderview
中。我将代码移植到Qt5,并开始向标题添加其他小部件。 QTableView
,QComboBox
,空白(QCheckBox
)和QWidget
没问题。
但是,当我创建包含QPushButton
和QWidget
(是在“三”列中带有“ =”符号的QHBoxLayout
)的组合{ }}。所有控件都链接到相关的插槽,并且运行正常,包括第三列的组合字段中的QPushButton
,但该组合控件中的QLineEdit
除外。 QLineEdit
插槽def应该在值之间循环按钮的QPushButton
。我总是得到一个错误:
ChangeIntButtonSymbol(self)
,这表示与其他情况不同,此处的父级(由Text
检索)窗口小部件的上下文不同,def作为父级接收了AttributeError: 'FilterHeader' object has no attribute 'text'
类,而不是self.sender()
。我也尝试使用lambda传递参数:
FilterHeader
...但是结果完全相同(错误中的措词不同)。
很显然,我没有完全了解此btn
扩展的体系结构,并且犯了一些基本的错误。完整的演示下面,单击“ =”按钮时出现问题,赞赏任何解决方案或提示。
self.btn.clicked.connect(lambda: self.changebuttonsymbol.emit(self.btn))
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)