将插槽连接到 QDialogButtonBox 中的按钮
Posted
技术标签:
【中文标题】将插槽连接到 QDialogButtonBox 中的按钮【英文标题】:Connecting a slot to a button in QDialogButtonBox 【发布时间】:2013-07-03 15:10:19 【问题描述】:我从 QtDesigner 创建了一个标准按钮框,其中包含 Ok、Cancel、Reset。
我使用成功连接了“确定”和“取消”按钮,
self.buttonBox.accepted.connect(self.accept)
self.buttonBox.rejected.connect(self.reject)
甚至定义我自己的接受函数。
那么我将如何连接重置按钮来说出函数“foo()”。我真的不知道。我阅读了有关分配角色和内容的文档,并且令人困惑。
提前致谢。
【问题讨论】:
【参考方案1】:在python中.-
self.buttonBox.button(QtGui.QDialogButtonBox.Reset).clicked.connect(foo)
【讨论】:
完美,如何调用“标准”重置功能? 我不懂“标准”重置功能。 ResetRole 是一个属性。例如,如果您想将按钮连接到通用 foo 方法。 我的意思是,“接受”角色成功关闭对话框,“重置”角色是否清除数据字段?如果是,我将如何分配角色?【参考方案2】:我不知道 python,但是你如何在 C++ 中做到这一点是这样的:
QPushButton *resetButton = ui->buttonBox->button(QDialogButtonBox::Reset);
connect(resetButton, signal(clicked()), this, SLOT(myResetFunc()));
这当然需要您将重置按钮的角色设置为QDialogButtonBox::Reset
使用button 功能,您可以获得重置按钮并将其连接到您的插槽。 This 是您的按钮可以拥有的角色列表。我希望这会有所帮助。
【讨论】:
以上是关于将插槽连接到 QDialogButtonBox 中的按钮的主要内容,如果未能解决你的问题,请参考以下文章
如何将图标设置为 QDialogButtonBox 中的新按钮?
如何将 qlabel 添加到 QDialogButtonBox UI 文件
根据多个 QComboBox 的文本启用或禁用 QDialogButtonBox
访问 Qt 的 QDialogButtonBox 中的单个按钮