from PyQt4.QtCore import * from PyQt4.QtGui import * from sface.screens.configscreen import ConfigScreen from sface.screens.mainscreen import MainScreen class SfaWindow(QWidget): def __init__(self, parent=None): QWidget.__init__(self, parent) self.config_screen = ConfigScreen(self) self.main_screen = MainScreen(self) self.screens = QStackedWidget(self) self.screens.addWidget(self.main_screen) self.screens.addWidget(self.config_screen) self.title = QLabel(self.main_screen.getTitleText(), self) self.switch = QLabel(self.config_screen.getLinkText(), self) self.switch.setAlignment(Qt.AlignRight) hlayout = QHBoxLayout() hlayout.addWidget(self.title) hlayout.addStretch() hlayout.addWidget(self.switch) layout = QVBoxLayout() layout.addLayout(hlayout) layout.addWidget(self.screens) self.setLayout(layout) self.resize(800, 600) self.connect(self.switch, SIGNAL('linkActivated(QString)'), self.toScreen) def toScreen(self, 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.getLinkText()) self.title.setText(self.config_screen.getTitleText()) def toMainScreen(self): self.screens.setCurrentWidget(self.main_screen) self.switch.setText(self.config_screen.getLinkText()) self.title.setText(self.main_screen.getTitleText())