我正在开发python应用程序,我创建了一个对话框,其中包含几个标准按钮,如:Reset,OK,Cancel,Apply。 这是标准按钮的相关代码,
self.buttonBox = QtGui.QDialogButtonBox(ROI)
self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Reset|QtGui.QDialogButtonBox.Apply|QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
self.buttonBox.setObjectName( ("buttonBox"))
我的问题是如何仅禁用“应用”按钮 即使我尝试了以下代码
QtGui.QDialogButtonBox.Apply.setEnabled(False)
但是收到错误
AttributeError: 'StandardButton' object has no attribute 'setEnabled'
那么如何禁用标准按钮组中的特定按钮
答案 0 :(得分:1)
@Omkar 的评论作为答案:
您需要找到特定对象,然后以 setEnabled()
作为参数调用其 False
方法。
对于您的QDialogButtonBox
,您可以通过
btn_apply = self.buttonBox.button(QtGui.QDialogButtonBox.Apply)
然后禁用使用
btn_apply.setEnabled(False)
或者,这可以一步完成:
self.buttonBox.button(QtGui.QDialogButtonBox.Apply).setEnabled(False)
请参阅 https://doc.qt.io/qt-5/qdialogbuttonbox.html#button 以了解有关“检索”按钮的参考和 https://doc.qt.io/qt-5/qwidget.html#enabled-prop 以了解禁用。
答案 1 :(得分:0)
我没有广泛使用它,但认为可以有一个解决方案
尝试使用.setVisible类型的api,如果你可以从readthedoc网站找到pyqt