Имеется несколько страниц QWizardPage принадлежащие QWizard. В одной из них происходит выбор пути для установки. При создании объекта она инициализируется некоторым произвольным значением. При нажатии на кнопку «обзор» заполняется её значение. Но при переходе на следующую страницу она снова содержит значение, которое её было присвоено при объявлении. Как можно передать переменную между страницами(функциями)?
from PyQt4 import QtGui, QtCore
import sys
class Test(QtGui.QWizard):
def __init__(self, parent=None):
QtGui.QWizard.__init__(self, parent)
self.path = unicode("1")
self.addPage(self.firstpage())
self.addPage(self.secondpage())
def firstpage(self):
page = QtGui.QWizardPage()
nameButton = QtGui.QPushButton(u"Изменить")
nameLineEdit = QtGui.QLineEdit()
self.connect(nameButton, QtCore.SIGNAL('clicked()'), lambda: self.setDir(nameLineEdit)) #тут по клику выполняется мой слот
layout = QtGui.QHBoxLayout()
layout.addWidget(nameLineEdit)
layout.addWidget(nameButton)
page.setLayout(layout)
return page
def secondpage(self):
page = QtGui.QWizardPage()
page.setTitle(unicode(self.path)) #здесь оно содержит значение 123
return page
def setDir(self, nameLineEdit):
self.path = "New Path" #здесь должно происходить замещение новым путем.
#Но он действует только на одну страницу. Может локалки напутаны?
nameLineEdit.setText(self.path)
app = QtGui.QApplication(sys.argv)
window = Test()
window.show()
sys.exit(app.exec_())