self.screens = QStackedWidget(self)
for screen in screenClasses:
- screenWidget = screen(self)
- self.screenWidgets.append(screenWidget)
- self.screens.addWidget(screenWidget)
+ # use a try/catch block to isolate the screen. Third-party plugins
+ # could be buggy.
+ try:
+ screenWidget = screen(self)
+ self.screenWidgets.append(screenWidget)
+ self.screens.addWidget(screenWidget)
+ except:
+ print "Exception while creating screen", screen.__name__
+ traceback.print_exc()
self.screens.addWidget(self.pix)
self.next_screen = None
self.nav = Nav(self.screenWidgets, self)
- self.nav.setTitle(self.screenWidgets[0].getTitleText())
+
+ if self.screenWidgets:
+ self.nav.setTitle(self.screenWidgets[0].getTitleText())
self.status = Status(self)
self.log = QLabel("<a href='showlog'>Show Log</a>", self)