我想禁用"返回" QWizard页面上的按钮。
我的类继承自QWizard和生成的文件。它看起来像这样:
从PyQt4导入QtGui
class WizardClass(QtGui.QWizard, file.Ui_Wizard):
def __init__(self, model):
# Call super constructors
QtGui.QWizard.__init__(self)
self.setupUi(self)
self.model = model
此处http://doc.qt.digia.com/3.3/qwizard.html#backButton我找到了方法setBackEnabled()
。
使用self.setBackEnabled(page1, False)
我无法调用此方法。它说:
"AttributeError: 'WizardClass' object has no attribute 'setBackEnabled'"
我做错了吗?
或者这种方法在Python中不可用吗?
答案 0 :(得分:2)
似乎有效的例子:
from PyQt4 import QtGui
class Wiz(QtGui.QWizard):
def __init__(self):
QtGui.QWizard.__init__(self)
self.noback = []
self.currentIdChanged.connect(self.disable_back)
def disable_back(self, ind):
if ind in self.noback:
self.button(QtGui.QWizard.BackButton).setEnabled(False)
wiz = Wiz()
wiz.noback = [2]
wiz1 = QtGui.QWizardPage(wiz)
wiz2 = QtGui.QWizardPage(wiz)
wiz3 = QtGui.QWizardPage(wiz)
wiz.addPage(wiz1)
wiz.addPage(wiz2)
wiz.addPage(wiz3)
wiz.show()