from PyQt5 import QtWidgets, QtCore

import py.start_window as start_window
from py.show_msg import show_msg


class Interface(start_window.StartWindow):
    def __init__(self):
        super().__init__()


if __name__ == "__main__":
    lock_file = None
    try:
        app = QtWidgets.QApplication(sys.argv)
        lock_file = QtCore.QLockFile("password_saver.lock")

        if lock_file.tryLock():
            window = Interface()
            window.show()

            sys.exit(app.exec_())
        else:
            show_msg(title='Ошибка',
                     top_text='Программа уже запущена',
                     window_type='warning',
                     buttons='ok')
    finally:
        lock_file.unlock()
示例#2
0
        self.lock_pid = lock_pid

    def _window_enum_callback(self, hwnd, wildcard):
        tid, pid = win32process.GetWindowThreadProcessId(hwnd)
        title = win32gui.GetWindowText(hwnd)
        if (self.lock_pid == pid) and (title == wildcard):
            win32gui.ShowWindow(hwnd, 9)
            win32gui.SetForegroundWindow(hwnd)
            win32gui.SetActiveWindow(hwnd)

    def find_window_wildcard(self, wildcard=PRODUCT_CONFIG['PRODUCT_NAME']):
        win32gui.EnumWindows(self._window_enum_callback, wildcard)


if __name__ == '__main__':
    lockfile = QtCore.QLockFile(os.getenv('TEMP') + '/MDFE.lock')

    if not lockfile.tryLock():
        mgr = WindowMgr(lockfile.getLockInfo()[1])
        mgr.find_window_wildcard()
        sys.exit()

    app = QtWidgets.QApplication(sys.argv)
    splash_pix = QtGui.QPixmap('..\\resources\\app\\Mulgyeol Labs splash.png')
    splash_pix = splash_pix.scaledToHeight(350)
    splash = QtWidgets.QSplashScreen(splash_pix,
                                     QtCore.Qt.WindowStaysOnTopHint)
    splash.show()

    UDriver.check_update()
    ex1 = Main_Window()
示例#3
0
        exitAction = menu.addAction("Exit")
        exitAction.triggered.connect(QtCore.QCoreApplication.quit)

        self.setContextMenu(menu)

        self.mainWindow = mainWindow
        self.activated.connect(self.active)

    def active(self, reason):
        if reason == 3:  # left click
            self.currentlyActive = not self.currentlyActive
            if self.currentlyActive:
                self.setIcon(self.activeIcon)
            else:
                self.setIcon(self.inactiveIcon)


if __name__ == '__main__':
    from PyQt5 import QtCore, QtWidgets

    lockfile = QtCore.QLockFile(QtCore.QDir.tempPath() + f'/{appName}.lock')

    if lockfile.tryLock(100):  # run only once!
        app = QtWidgets.QApplication(sys.argv)
        main = Main()
        app.setQuitOnLastWindowClosed(False)
        sys.exit(app.exec_())
    else:
        print('app is already running')
示例#4
0
    def mousePressEvent(self, event):
        self.dragPos = event.globalPos()

    def mouseMoveEvent(self, event):
        if event.buttons() == QtCore.Qt.LeftButton:
            self.move(self.pos() + event.globalPos() - self.dragPos)
            self.dragPos = event.globalPos()
            event.accept()


if __name__ == "__main__":
    lock_file = None
    try:
        app = QtWidgets.QApplication(sys.argv)
        lock_file = QtCore.QLockFile("shutdown_pc.lock")

        if lock_file.tryLock():
            shutdown_pc = UiShutdownPc()
            shutdown_pc.show()

            sys.exit(app.exec_())
        else:
            icon_spc = QtGui.QIcon()
            icon_spc.addPixmap(QtGui.QPixmap(":/ico/img/shutdown.ico"),
                               QtGui.QIcon.Normal, QtGui.QIcon.Off)
            msg_lock = QMessageBox()
            msg_lock.setWindowIcon(icon_spc)
            msg_lock.setIcon(QMessageBox.Warning)
            msg_lock.setWindowTitle("Ошибка")
            msg_lock.setText("Программа уже запущена.")