class SettingsWindow(QDialog): def __init__(self, parent=None): super().__init__(parent) self.setWindowTitle(self.tr("Settings")) self.tabWidget = NameTabWidget(self) self.tabWidget.addNamedTab(GlyphSetTab(self)) self.tabWidget.addNamedTab(MetricsWindowTab(self)) self.tabWidget.addNamedTab(MiscTab(self)) buttonBox = QDialogButtonBox( QDialogButtonBox.Ok | QDialogButtonBox.Cancel) buttonBox.accepted.connect(self.accept) buttonBox.rejected.connect(self.reject) mainLayout = QVBoxLayout() mainLayout.addWidget(self.tabWidget) mainLayout.addWidget(buttonBox) self.setLayout(mainLayout) def accept(self): for i in range(self.tabWidget.count()): self.tabWidget.widget(i).writeSettings() app = QApplication.instance() app.postNotification("preferencesChanged") super().accept()
class SettingsWindow(QDialog): def __init__(self, parent=None): super().__init__(parent) self.setWindowTitle(self.tr("Settings")) self.tabWidget = NameTabWidget(self) self.tabWidget.addNamedTab(GlyphSetTab(self)) self.tabWidget.addNamedTab(MetricsWindowTab(self)) self.tabWidget.addNamedTab(MiscTab(self)) buttonBox = QDialogButtonBox( QDialogButtonBox.Ok | QDialogButtonBox.Cancel) buttonBox.accepted.connect(self.accept) buttonBox.rejected.connect(self.reject) mainLayout = QVBoxLayout() mainLayout.addWidget(self.tabWidget) mainLayout.addWidget(buttonBox) self.setLayout(mainLayout) self.readSettings() def readSettings(self): geometry = settings.settingsWindowGeometry() if geometry: self.restoreGeometry(geometry) def writeSettings(self): settings.setSettingsWindowGeometry(self.saveGeometry()) def moveEvent(self, event): self.writeSettings() resizeEvent = moveEvent def sizeHint(self): return QSize(625, 450) def accept(self): for i in range(self.tabWidget.count()): self.tabWidget.widget(i).writeSettings() app = QApplication.instance() app.postNotification("preferencesChanged") super().accept()
def __init__(self, parent=None): super().__init__(parent) self.setWindowTitle(self.tr("Settings")) self.tabWidget = NameTabWidget(self) self.tabWidget.addNamedTab(GlyphSetTab(self)) self.tabWidget.addNamedTab(MetricsWindowTab(self)) self.tabWidget.addNamedTab(MiscTab(self)) buttonBox = QDialogButtonBox( QDialogButtonBox.Ok | QDialogButtonBox.Cancel) buttonBox.accepted.connect(self.accept) buttonBox.rejected.connect(self.reject) mainLayout = QVBoxLayout() mainLayout.addWidget(self.tabWidget) mainLayout.addWidget(buttonBox) self.setLayout(mainLayout)
class NameTabWidgetTest(unittest.TestCase): app = Application(sys.argv) def __init__(self, methodName): unittest.TestCase.__init__(self, methodName) def setUp(self): self.infoTab = NameTabWidget(None) def test_addNamedTab(self): tab1 = QWidget(None) tab1.name = "Test1" self.infoTab.addNamedTab(tab1) tab2 = self.infoTab.widget(0) self.assertEqual(tab1, tab2) self.assertEqual(tab1.name, tab2.name) tab2 = QWidget(None) tab2.name = "Test2" self.infoTab.addNamedTab(tab2) tab2 = self.infoTab.widget(0) self.assertEqual(tab1, tab2) self.assertEqual(tab1.name, tab2.name)
def setUp(self): self.infoTab = NameTabWidget(None)