from PyQt4.QtCore import Qt, SIGNAL from PyQt4.QtGui import QWidget, QStackedWidget, \ QVBoxLayout, QLabel from sfaconfigscreen import SfaConfigScreen from sfamainscreen import SfaMainScreen class SfaWindow(QWidget): def __init__(self, parent=None): QWidget.__init__(self, parent) self.config_screen = SfaConfigScreen(self) self.main_screen = SfaMainScreen(self) self.screens = QStackedWidget(self) self.screens.addWidget(self.main_screen) self.screens.addWidget(self.config_screen) self.switch = QLabel(self.config_screen.getLabelText(), self) self.switch.setAlignment(Qt.AlignRight) layout = QVBoxLayout() layout.addWidget(self.switch) layout.addWidget(self.screens) layout.addStretch() self.setLayout(layout) self.adjustSize() self.connect(self.switch, SIGNAL('linkActivated(QString)'), self.toScreen) def toScreen(self, link): print link if link == self.config_screen.name: self.toConfigScreen() elif link == self.main_screen.name: self.toMainScreen() def toConfigScreen(self): self.screens.setCurrentWidget(self.config_screen) self.switch.setText(self.main_screen.getLabelText()) def toMainScreen(self): self.screens.setCurrentWidget(self.main_screen) self.switch.setText(self.config_screen.getLabelText())