コード例 #1
0
    def __init__(self, styleoptions, parent=None):
        super(BaseDialog, self).__init__(parent)
        title = styleoptions['title']
        windowicon = styleoptions['windowicon']
        minsize = styleoptions['minsize']
        size = styleoptions['size']
        logo_title = styleoptions['logo_title']
        logo_img_url = styleoptions['logo_img_url']

        self.setWindowTitle(title)
        self.setWindowIcon(QtGui.QIcon(windowicon))  # 设置程序图标
        self.setMinimumSize(minsize[0], minsize[1])
        self.setWindowFlags(QtCore.Qt.FramelessWindowHint)  # 无边框, 带系统菜单, 可以最小化

        self.logowidget = DynamicTextWidget(logo_title, logo_img_url)

        # 主布局
        mainlayout = QtGui.QVBoxLayout()
        mainlayout.addWidget(self.logowidget)
        self.setLayout(mainlayout)
        # logger.info(os.sep.join([os.getcwd(), 'utildialogskin', 'qss', 'dialog.qss']))
        if os.path.isdir(os.sep.join([os.getcwd(), 'utildialogskin'])):
            setskin(self, os.sep.join([os.getcwd(), 'utildialogskin', 'qss', 'dialog.qss']))  # 设置主窗口样式
        elif  os.path.isdir(os.sep.join([os.getcwd(), 'utildialog', 'utildialogskin'])):
            setskin(self, os.sep.join([os.getcwd(), 'utildialog', 'utildialogskin', 'qss', 'dialog.qss']))  # 设置主窗口样式

        # self.setStyleSheet(style) # 设置主窗口样式
        self.resize(size[0], size[1])
コード例 #2
0
    def __init__(self, styleoptions, parent=None):
        super(BaseDialog2, self).__init__(parent)
        title = styleoptions['title']
        windowicon = styleoptions['windowicon']
        minsize = styleoptions['minsize']
        size = styleoptions['size']
        logo_title = styleoptions['logo_title']
        logo_img_url = styleoptions['logo_img_url']

        self.setWindowTitle(title)
        self.setWindowIcon(QtGui.QIcon(windowicon))  # 设置程序图标
        self.setMinimumSize(minsize[0], minsize[1])
        self.setWindowFlags(QtCore.Qt.FramelessWindowHint | QtCore.Qt.WindowSystemMenuHint | QtCore.Qt.WindowMinimizeButtonHint)  # 无边框, 带系统菜单, 可以最小化

        # logo显示
        self.logowidget = QtGui.QWidget()
        logo_mainlayout = QtGui.QGridLayout()
        bg = QtGui.QLabel(logo_title)
        bg.setAlignment(QtCore.Qt.AlignCenter)
        logo_mainlayout.addWidget(bg)
        self.logowidget.setLayout(logo_mainlayout)
        self.bg = logo_img_url
        setbg(self.logowidget, self.bg)

        # 主布局
        mainlayout = QtGui.QVBoxLayout()
        mainlayout.addWidget(self.logowidget)
        self.setLayout(mainlayout)
        # setskin(self, os.sep.join([__file__.split('utildialog')[0], 'utildialogskin', 'qss', 'dialog.qss']))  # 设置主窗口样式
        setskin(self, 'D:\GitHub\QSoftKeyer\utildialogskin\qss\dialog.qss')
        self.resize(size[0], size[1])
コード例 #3
0
ファイル: QMain.py プロジェクト: zhangxin8105/QMarkdowner
 def createMenus(self):
     menusettings = windowsoptions['mainwindow']['menusettings']
     menubar = self.menuBar()
     menubar.setVisible(menusettings['visual'])
     for menu in menusettings['menus']:
         setattr(
             self,
             '%smenu' % menu['name'],
             menubar.addMenu(u'%s%s' % (menu['name'], menu['name_zh']))
         )
         submenu = getattr(self, '%smenu' % menu['name'])
         for menuaction in menu['actions']:
             setattr(
                 self,
                 '%sAction' % menuaction['trigger'],
                 QtGui.QAction(
                     QtGui.QIcon(QtGui.QPixmap(menuaction['icon'])),
                     '%s%s' % (menuaction['name'], menuaction['name_zh']),
                     self
                 )
             )
             if hasattr(self, 'action%s' % menuaction['trigger']):
                 action = getattr(self, '%sAction' % menuaction['trigger'])
                 action.setShortcut(QtGui.QKeySequence(menuaction['shortcut']))
                 submenu.addAction(action)
                 action.triggered.connect(
                     getattr(self, 'action%s' % menuaction['trigger'])
                 )
             else:
                 action = getattr(self, '%sAction' % menuaction['trigger'])
                 action.setShortcut(QtGui.QKeySequence(menuaction['shortcut']))
                 submenu.addAction(action)
                 action.triggered.connect(
                     getattr(self, 'actionNotImplement')
                 )
コード例 #4
0
ファイル: QMain.py プロジェクト: zhangxin8105/QMarkdowner
    def createToolbars(self):
        toolbarsettings = windowsoptions['mainwindow']['toolbarsettings']
        self.toolbar = QtGui.QToolBar(self)
        self.toolbar.setMovable(toolbarsettings['movable'])
        self.toolbar.setVisible(toolbarsettings['visual'])
        self.addToolBar(toolbarsettings['dockArea'], self.toolbar)

        for toolbar in toolbarsettings['toolbars']:
            setattr(
                self,
                '%sAction' % toolbar['trigger'],
                QtGui.QAction(
                    QtGui.QIcon(QtGui.QPixmap(toolbar['icon'])),
                    '%s%s' % (toolbar['name'], toolbar['name_zh']),
                    self
                )
            )
            if hasattr(self, 'action%s' % toolbar['trigger']):
                action = getattr(self, '%sAction' % toolbar['trigger'])
                action.setShortcut(QtGui.QKeySequence(toolbar['shortcut']))
                action.setToolTip(toolbar['tooltip'])
                self.toolbar.addAction(action)
                action.triggered.connect(
                    getattr(self, 'action%s' % toolbar['trigger'])
                )
                self.toolbar.widgetForAction(action).setObjectName(toolbar['id'])
            else:
                action = getattr(self, '%sAction' % toolbar['trigger'])
                action.setShortcut(QtGui.QKeySequence(toolbar['shortcut']))
                action.setToolTip(toolbar['tooltip'])
                self.toolbar.addAction(action)
                action.triggered.connect(
                    getattr(self, 'actionNotImplement')
                )
                self.toolbar.widgetForAction(action).setObjectName(toolbar['id'])
コード例 #5
0
ファイル: QMain.py プロジェクト: zhangxin8105/QMarkdowner
    def initFrame(self):
        title = windowsoptions['mainwindow']['title']
        postion = windowsoptions['mainwindow']['postion']
        minsize = windowsoptions['mainwindow']['minsize']
        size = windowsoptions['mainwindow']['size']
        windowicon = windowsoptions['mainwindow']['windowicon']
        fullscreenflag = windowsoptions['mainwindow']['fullscreenflag']
        navigationvisual = windowsoptions['mainwindow']['navigationvisual']

        self.setWindowTitle(title)
        self.setWindowIcon(QtGui.QIcon(windowicon))  # 设置程序图标
        self.setMinimumSize(minsize[0], minsize[1])
        width = QtGui.QDesktopWidget().availableGeometry().width() * 5 / 6
        height = QtGui.QDesktopWidget().availableGeometry().height() * 7 / 8
        self.setGeometry(postion[0], postion[1], width, height)  # 初始化窗口位置和大小
        self.center()  # 将窗口固定在屏幕中间
        self.setAttribute(QtCore.Qt.WA_DeleteOnClose)

        self.fullscreenflag = fullscreenflag  # 初始化时非窗口最大话标志
        if self.fullscreenflag:
            self.showFullScreen()
        else:
            self.showNormal()

        self.navigationvisual = navigationvisual   # 导航标志,初始化时显示导航
        self.layout().setContentsMargins(0, 0, 0, 0)

        # self.setWindowFlags(QtCore.Qt.CustomizeWindowHint)  # 隐藏标题栏, 可以拖动边框改变大小
        # self.setWindowFlags(QtCore.Qt.FramelessWindowHint)  # 隐藏标题栏, 无法改变大小
        self.setWindowFlags(QtCore.Qt.FramelessWindowHint)  # 无边框, 带系统菜单, 可以最小化