Example #1
0
class Window(QMainWindow):
    conf = Settings.getInstance()

    def __init__(self, MainQtApp=None, *args, **kwargs):
        super(Window, self).__init__(MainQtApp, *args, **kwargs)
        self.setWindowTitle("Oceana Navigation Data Package")
        self.status = self.statusBar()
        self.mdiArea = QMdiArea(self)
        self.mdiArea.setHorizontalScrollBarPolicy(Qt.ScrollBarAsNeeded)
        self.mdiArea.setVerticalScrollBarPolicy(Qt.ScrollBarAsNeeded)
        self.mdiArea.subWindowActivated.connect(self.updateMenus)
        self.windowMapper = QSignalMapper(self)
        self.windowMapper.mapped[QWidget].connect(self.setActiveSubWindow)

        self.setCentralWidget(self.mdiArea)

    def setActiveSubWindow(self, window):
        if window:
            self.mdiArea.setActiveSubWindow(window)

    def updateMenus(self):
        hasMdiChild = (self.activeMdiChild() is not None)

    def activeMdiChild(self):
        activeSubWindow = self.mdiArea.activeSubWindow()
        if activeSubWindow:
            return activeSubWindow.widget()

        return None
Example #2
0
import os
import sys
from PyQt5.Qt import QApplication
from PyQt5 import QtGui
from core.ui import Window
from core import Settings

if __name__ == "__main__":
    appconf = {}
    conf = Settings.getInstance()
    QApp = QApplication(sys.argv)
    QApp.setObjectName("Oceana")
    mainWindow = Window()
    if not QApp.objectName() in conf:
        conf[QApp.objectName()] = {}
        appconf = conf[QApp.objectName()]
        appconf["x"] = mainWindow.pos().x()
        appconf["y"] = mainWindow.pos().y()
        appconf["width"] = mainWindow.width()
        appconf["height"] = mainWindow.height()
        appconf["lookandfeel"] = "native"

    appconf = conf[QApp.objectName()]
    mainWindow.setMinimumSize(appconf.as_int("width"),
                              appconf.as_int("height"))
    mainWindow.show()
    conf.write()
    sys.exit(QApp.exec_())