PyQt4 QWizard: Как отключить кнопку возврата на одной странице?
Я хотел бы отключить кнопку "Назад" на странице 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 я нашел метод setBackEnabled()
,
С self.setBackEnabled(page1, False)
Я не могу вызвать этот метод. Это говорит:
"AttributeError: 'WizardClass' object has no attribute 'setBackEnabled'"
Я делаю что-то неправильно?
Или этот метод недоступен в Python?
1 ответ
Решение
Пример, который, кажется, работает:
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()