访问 Qt 的 QDialogButtonBox 中的单个按钮
Posted
技术标签:
【中文标题】访问 Qt 的 QDialogButtonBox 中的单个按钮【英文标题】:Access individual button inside Qt's QDialogButtonBox 【发布时间】:2017-04-16 17:59:40 【问题描述】:长话短说。我有一个从 ui 文件生成的 python 模块,假设 dialog.py 这个表单包含 QDialogButtonBox 小部件
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
问题是如何访问此按钮框中的单个按钮?
我曾尝试使用ui.buttonBox.button(QDialogButtonBox.Ok).setEnabled(False)
,但它不起作用,程序反而崩溃了。
http://pyqt.sourceforge.net/Docs/PyQt4/qdialogbuttonbox.html#button
我唯一能想到的是:
ui.buttonBox.buttons()[0].setEnabled(False)
注意复数按钮s,它可以工作,但我不确定这是否便携且正确。
这是原始 Qt 链接,因为这是 pyqt5 http://doc.qt.io/qt-5.6/qdialogbuttonbox.html#button
问候。
【问题讨论】:
我已经尝试过您尝试过的方法,它对我来说效果很好。你能显示更多代码吗 试试QtGui.QDialogButtonBox.Ok
【参考方案1】:
我只能说我是个白痴 ;-) 我忘记在这个模块中导入 QDialogButtonBox 而是直接使用解释器运行 python 脚本我通过'sublime text'(文本编辑器)构建菜单运行它,它给了我这个消息:
[在 3.1 秒内完成,退出代码 -6] 所以答案是没有导入 QDialogButtonBox 符号,如果我用 python 解释器运行它我就知道了。
【讨论】:
以上是关于访问 Qt 的 QDialogButtonBox 中的单个按钮的主要内容,如果未能解决你的问题,请参考以下文章
如何将图标设置为 QDialogButtonBox 中的新按钮?
如何在QDialogBu ttonBox中将图标设置为新按钮?
如何处理 QDialogButtonBox RestoreDefaults 按钮
如何将 qlabel 添加到 QDialogButtonBox UI 文件