Exemplo n.º 1
0
    def renderStyle(self):
        self.qsst.srctext = self.editor.text()
        self.qsst.loadVars()
        self.qsst.convertQss()

        norand = self.actions["DisableQss"].isChecked()
        if (norand):
            qApp.setStyleSheet('')
        else:
            # self.setStyleSheet(self.qsst.qss)#tooltip透明等显示不出来
            # try:
            # saved=os.path.exists(self.file)
            # lastcwd=os.getcwd()
            # if saved:
            #     dir=os.path.dirname(self.file)
            #     os.chdir(dir)
            path = os.path.dirname(self.file).replace("\\", "/")
            styleSheet = re.sub(
                r'url\([\s]*[\"\']*[\s]*([^\/\s][^:\s\"\'\)]*)[\s]*[\"\']*[\s]*\)',
                r'url("{}/\1")'.format(path).format(path),
                self.qsst.qss)  # 不支持带空格路径
            qApp.setStyleSheet(styleSheet)

            #     self.statusbar.showMessage("")#不起作用
            # except Exception:
            #     self.statusbar.showMessage("qss parse failed")
            cstr = self.qsst.varDict.get("background", "")
            if cstr:
                try:
                    c = QColor()
                    c.setNamedColor(cstr)
                    self.editor.setBackgroundColor(c)
                except Exception:
                    pass
Exemplo n.º 2
0
 def loadQSS(theme) -> None:
     filename = ':/styles/{}.qss'.format(theme)
     if QFileInfo(filename).exists():
         qssfile = QFile(filename)
         qssfile.open(QFile.ReadOnly | QFile.Text)
         content = QTextStream(qssfile).readAll()
         qApp.setStyleSheet(content)
Exemplo n.º 3
0
    def __init__(self, parent=None):
        """Initialize the components of the main window."""
        super(Template, self).__init__(parent)
        self.resize(1024, 768)
        self.setWindowTitle('Template')
        window_icon = pkg_resources.resource_filename(
            'demo-qt-inspector.images',
            'ic_insert_drive_file_black_48dp_1x.png')
        self.setWindowIcon(QIcon(window_icon))
        self.initUI()
        self.widget = QWidget()
        self.layout = QHBoxLayout(self.widget)

        print(qApp.styleSheet())

        with open("theme.qss", mode="r") as theme_file:
            qApp.setStyleSheet(theme_file.read())

        self.menu_bar = self.menuBar()
        self.about_dialog = AboutDialog()

        self.status_bar = self.statusBar()
        self.status_bar.showMessage('Ready')

        self.file_menu()
        self.help_menu()
Exemplo n.º 4
0
    def initMenu(self):
        menubar = self.menuBar()
        fileMenu = menubar.addMenu('&File')

        # File menu

        ## add record manually
        addRec = QMenu("Add Record", self)

        act = QAction('Add Car', self)
        act.setStatusTip('Add Car Manually')
        act.triggered.connect(self.addCar)
        addRec.addAction(act)

        act = QAction('Add Rule', self)
        act.setStatusTip('Add Rule Manually')
        act.triggered.connect(self.addRule)
        addRec.addAction(act)

        act = QAction('Add Violation', self)
        act.setStatusTip('Add Violation Manually')
        act.triggered.connect(self.addViolation)
        addRec.addAction(act)

        act = QAction('Add Camera', self)
        act.setStatusTip('Add Camera Manually')
        act.triggered.connect(self.addCamera)
        addRec.addAction(act)

        fileMenu.addMenu(addRec)

        # check archive record ( Create window and add button to restore them)
        act = QAction('&Archives', self)
        act.setStatusTip('Show Archived Records')
        act.triggered.connect(self.showArch)
        fileMenu.addAction(act)

        settingsMenu = menubar.addMenu('&Settings')
        themeMenu = QMenu("Themes", self)
        settingsMenu.addMenu(themeMenu)

        act = QAction('Dark', self)
        act.setStatusTip('Dark Theme')
        act.triggered.connect(
            lambda: qApp.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()))
        themeMenu.addAction(act)

        act = QAction('White', self)
        act.setStatusTip('White Theme')
        act.triggered.connect(
            lambda: qApp.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()))
        themeMenu.addAction(act)

        ## Add Exit
        fileMenu.addSeparator()
        act = QAction('&Exit', self)
        act.setShortcut('Ctrl+Q')
        act.setStatusTip('Exit application')
        act.triggered.connect(qApp.quit)
        fileMenu.addAction(act)
Exemplo n.º 5
0
def setTheme(theme):
    """
    根据theme.json设置主题的qss (只改样式不加Titlebar)
    :param theme:
    :return:
    """
    THEME_FILE = RESOURCE_DIR + '/theme.json'
    if os.path.isfile(THEME_FILE):
        path = THEME_FILE
    else:
        path = (os.path.split(__file__)[0] + '\\' + THEME_FILE).replace(
            '\\', '/')
    tDict = json.load(open(path))
    # theme.json的theme的优先级比setTheme中的theme的优先级高
    configTheme = tDict.get('theme')
    if configTheme is None or configTheme == '' or tDict.get(
            configTheme) is None:
        colorDict = tDict.get(theme)
    else:
        colorDict = tDict.get(configTheme)
    if colorDict is None:
        qss = simple_qss.getDefaultQss()
    else:
        qss = simple_qss.getQss(colorDict['fontLight'], colorDict['fontDark'],
                                colorDict['normal'], colorDict['light'],
                                colorDict['deep'], colorDict['disLight'],
                                colorDict['disDark'], theme)
    qApp.setStyleSheet(qss)
Exemplo n.º 6
0
    def on_transparentStyle_clicked(self):
        styleSheet = QFile(":/files/transparent.qss")

        if not styleSheet.open(QIODevice.ReadOnly):
            print("Unable to open :/files/transparent.qss")
            return

        qApp.setStyleSheet(styleSheet.readAll().data().decode())
Exemplo n.º 7
0
def skin_change(qss_file_name):
    qss_file = QFile(qss_file_name)
    qss_file.open(QFile.ReadOnly)

    # 转换成UTF-8编码格式
    style_file = codecs.decode(qss_file.readAll(), 'utf-8')
    qApp.setStyleSheet(style_file)

    qss_file.close()
def inspector(qtbot, initial_qss):
    """
    :type qtbot: pytestqt.plugin.QtBot
    """
    qApp.setStyleSheet(initial_qss)

    inspector_ = StyleSheetInspector()
    qtbot.addWidget(inspector_)
    return inspector_
Exemplo n.º 9
0
    def answer_blue_skin_action_triggered(checked):
        """

        :param checked:
        :return:
        """
        with open("./resources/qss/blue.qss", "r", encoding="utf-8") as f:
            qss = f.read()
            qApp.setStyleSheet(qss)
        update_contents("preferences", "skin", "blue")
Exemplo n.º 10
0
    def load_stylesheet():
        filename = ":/styles/light.qss"

        if QFileInfo(filename).exists():
            qss_file = QFile(filename)
            qss_file.open(QFile.ReadOnly | QFile.Text)
            content = QTextStream(qss_file).readAll()
            qApp.setStyleSheet(content)
        else:
            logging.error(f"Unable to read light.qss file from {filename}")
Exemplo n.º 11
0
def apply_style(style_name):
    if style_name == 'LiSP':
        qApp.setStyleSheet(QLiSPTheme)

        # Change link color
        palette = qApp.palette()
        palette.setColor(QPalette.Link, QColor(65, 155, 230))
        palette.setColor(QPalette.LinkVisited, QColor(43, 103, 153))
        qApp.setPalette(palette)
    else:
        qApp.setStyleSheet('')
        qApp.setStyle(QStyleFactory.create(style_name))
Exemplo n.º 12
0
    def loadTheme(self, theme=None):
        '''
        Load given theme and save to settings file
        '''
        if theme:
            theme_path = os.path.join(RESOURCES_DIR, f'stylesheet_{theme}.css')
            with open(theme_path, 'rt') as f:
                qApp.setStyleSheet(f.read())
        else:
            qApp.setStyleSheet(None)

        self.settings['Theme'] = theme
        self.saveSettings()
    def applyStyleSheet(self, stateless=False):
        """
        Apply style sheet changes in running app.

        :param bool stateless: If true, style sheet state tape isn't updated.
        """
        self.style_sheet = self.style_text_edit.toPlainText()
        qApp.setStyleSheet(self.style_sheet)
        if not stateless:
            if self.tape_pos + 1 < len(self.tape):
                self.tape = self.tape[:self.tape_pos + 1]
            self.tape.append(self.style_sheet)
            self.tape_pos += 1
        self.apply_button.setEnabled(False)
Exemplo n.º 14
0
 def apply_qss(self):
     """
     """
     css_data = SKIN_QSS
     if self.theme_name and self.css_name:
         self.css_file = self.asset_path / self.theme_name / self.css_name
         try:
             if self.css_file.is_file():
                 with self.css_file.open(mode="r",
                                         encoding="utf8") as inFile:
                     css_data += inFile.read()
         except Exception as e:
             LOG.error(f"Could not load theme CSS file {e}")
             return
     qApp.setStyleSheet(css_data)
Exemplo n.º 15
0
def apply_style(name):
    """Load a style given its name."""
    style = LiSPStyles.get(name.title())

    if isinstance(style, Style):
        if style.has_py:
            module = __package__ + '.' + os.path.basename(
                style.path) + '.style'
            __load_py_style(module)

        if style.has_qss:
            __load_qss_style(os.path.join(style.path, 'style.qss'))
    else:
        qApp.setStyleSheet('')
        qApp.setStyle(QStyleFactory.create(name))
Exemplo n.º 16
0
 def loadQSS(theme, devmode: bool = False) -> str:
     if devmode:
         filename = os.path.join(
             QFileInfo(__file__).absolutePath(),
             'vidcutter/styles/%s.qss' % theme)
     else:
         filename = ':/styles/%s.qss' % theme
     if QFileInfo(filename).exists():
         qssfile = QFile(filename)
         qssfile.open(QFile.ReadOnly | QFile.Text)
         content = QTextStream(qssfile).readAll()
         if sys.platform == 'darwin' and theme == 'dark':
             content += 'QComboBox, QHeaderView::section, QMenu::item, QMenu::item:selected { color: #444; }'
         qApp.setStyleSheet(content)
         return content
 def setUI(cls, mainWindow, pluginDict):
     cls._mainWindow = mainWindow
     cls._pluginDict = pluginDict
     cls._prePlugin = None
     #设置环境变量
     dirname = pathlib.Path(PyQt5.__file__).parent
     plugin_path = dirname.joinpath("Qt5", "plugins", "platforms")
     os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = str(plugin_path)
     currentWorkDir = pathlib.Path.cwd()
     cls._currentWorkDir = str(currentWorkDir)
     #加载黑色主题
     darkStylesheet = qdarkstyle.load_stylesheet_pyqt5()
     qApp.setStyleSheet(darkStylesheet)
     #加载UI组件
     cls._mainWindowUI = Ui_MainWindow()
     cls._mainWindowUI.setupUi(mainWindow)
     cls._mainWindow.setWindowTitle('SolidPhysVisualization')
     cls._mainWindow.setWindowIcon(QIcon(":ico/icon.ico"))
     cls._mainWindowUI.treeWidget.setRootIsDecorated(False)
     #加载插件
     cls._showPlugin()
     #加载菜单
     #文件菜单
     fileMenu = cls._mainWindowUI.menubar.addMenu("文件")
     exitAction = QAction("退出", cls._mainWindow)
     exitAction.setStatusTip("退出程序")
     exitAction.triggered.connect(qApp.exit)
     fileMenu.addAction(exitAction)
     #插件菜单
     pluginMenu = cls._mainWindowUI.menubar.addMenu("插件")
     updatePluginsAction = QAction("添加/更新插件", cls._mainWindow)
     updatePluginsAction.setStatusTip("选择插件并自动更新或者添加")
     updatePluginsAction.triggered.connect(cls._updatePluginsHandle)
     pluginMenu.addAction(updatePluginsAction)
     deletePluginsAction = QAction("卸载插件", cls._mainWindow)
     deletePluginsAction.setStatusTip("卸载已经安装的插件")
     deletePluginsAction.triggered.connect(cls._deletePluginsHandle)
     pluginMenu.addAction(deletePluginsAction)
     helpPluginsAction = QAction("查看帮助", cls._mainWindow)
     helpPluginsAction.setStatusTip("查看所有插件的帮助信息")
     helpPluginsAction.triggered.connect(cls._helpPluginsHandle)
     pluginMenu.addAction(helpPluginsAction)
     #关于菜单
     aboutMenu = cls._mainWindowUI.menubar.addMenu("关于")
     aboutAction = QAction("关于本程序", cls._mainWindow)
     aboutAction.setStatusTip("查看主程序的相关信息")
     aboutAction.triggered.connect(cls._aboutHandle)
     aboutMenu.addAction(aboutAction)
Exemplo n.º 18
0
    def renderStyle(self):
        self.qsst.srctext = self.editor.text()
        self.qsst.loadVars()
        self.qsst.convertQss()

        norand = self.actions["DisableQss"].isChecked()
        if norand:
            qApp.setStyleSheet('')
        else:
            # self.setStyleSheet(self.qsst.qss)#tooltip透明等显示不出来
            # try:
            # saved=os.path.exists(self.file)
            # lastcwd=os.getcwd()
            # if saved:
            #     dir=os.path.dirname(self.file)
            #     os.chdir(dir)
            path = os.path.dirname(self.file).replace("\\", "/")
            styleSheet = re.sub(
                r'url\([\s]*[\"\']?[\s]*([^\s\/:\"\'\)]+)[\s]*[\"\']?[\s]*\)',
                r'url("{}/\1")'.format(path).format(path),
                self.qsst.qss)  # 不支持带空格路径
            if os.path.exists(self.file):
                name, _ = os.path.splitext(self.file)
                res = name + ".py"
                resp = os.path.dirname(res)
                resn, _ = os.path.splitext(os.path.basename(res))
                if os.path.exists(res):
                    if resp not in sys.path:
                        sys.path.appendToChild(resp)
                    try:
                        __import__(resn)
                    except BaseException:
                        pass
            qApp.setStyleSheet(styleSheet)

            #     self.statusbar.showMessage("")#不起作用
            # except Exception:
            #     self.statusbar.showMessage("qss parse failed")
            cstr = self.qsst.varDict.get("background", "")
            if cstr:
                try:
                    c = QColor()
                    c.setNamedColor(cstr)
                    self.editor.setBackgroundColor(c)
                except Exception:
                    print("set background clolor exception.")
Exemplo n.º 19
0
def apply_style(name):
    """Load a style given its name."""
    style = LiSPStyles.get(name.title())

    if isinstance(style, Style):
        if style.has_py:
            __load_py_style(os.path.join(style.path, 'style.py'))

        if style.has_qss:
            __load_qss_style(os.path.join(style.path, 'style.qss'))

        # Change link color
        palette = qApp.palette()
        palette.setColor(QPalette.Link, QColor(65, 155, 230))
        palette.setColor(QPalette.LinkVisited, QColor(43, 103, 153))
        qApp.setPalette(palette)
    else:
        qApp.setStyleSheet('')
        qApp.setStyle(QStyleFactory.create(name))
    def initMenu(self):
        menubar = self.menuBar()
        fileMenu = menubar.addMenu('&File')

        # File menu

        act = QAction('Load from json', self)
        act.setStatusTip('Load from saved JSON file')
        # act.triggered.connect(self.addCar)
        fileMenu.addAction(act)

        act = QAction('About', self)
        act.setStatusTip('Show Gulu')
        # act.triggered.connect(self.showArch)
        fileMenu.addAction(act)

        settingsMenu = menubar.addMenu('&Settings')
        themeMenu = QMenu("Themes", self)
        settingsMenu.addMenu(themeMenu)

        act = QAction('Dark', self)
        act.setStatusTip('Dark Theme')
        act.triggered.connect(
            lambda: qApp.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()))
        themeMenu.addAction(act)

        act = QAction('White', self)
        act.setStatusTip('White Theme')
        act.triggered.connect(
            lambda: qApp.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()))
        themeMenu.addAction(act)

        ## Add Exit
        fileMenu.addSeparator()
        act = QAction('&Exit', self)
        act.setShortcut('Ctrl+Q')
        act.setStatusTip('Exit application')
        act.triggered.connect(qApp.quit)
        fileMenu.addAction(act)
Exemplo n.º 21
0
    def init(self):
        self.resize(500, 500)
        self.setWindowTitle("微信公众号:学点编程吧")
        line = QLineEdit(self)
        line.move(100, 120)
        check = QCheckBox("选我", self)
        check.move(300, 120)
        line.setStyleSheet("background: yellow")  # 背景红色
        check.setStyleSheet("color: red")  # 样式红色

        bt = QPushButton("按钮", self)
        bt.move(100, 180)
        rt = QRadioButton("单选", self)
        rt.move(200, 180)

        qcom = QComboBox(self)
        qcom.move(100, 250)
        lists = ["apple", "banana", "pear", "peach"]
        qcom.addItems(lists)

        groupbox = QGroupBox("分组", self)
        bt1 = QPushButton("按钮1", self)
        bt2 = QPushButton("按钮2", self)
        vbox = QVBoxLayout(self)
        vbox.addWidget(bt1)
        vbox.addWidget(bt2)
        groupbox.setLayout(vbox)

        qApp.setStyleSheet(
            "QGroupBox, QGroupBox * { color: red; } ")  # 全局按钮组红色

        with codecs.open("xx.qss", "r") as f:
            style = f.read()
        self.setStyleSheet(style)
        # 读取qss样式,并设置

        self.show()
Exemplo n.º 22
0
    def loadTheme(self):

        logger.debug("Loading theme files")

        # CSS File
        cssData = ""
        try:
            if path.isfile(self.cssFile):
                with open(self.cssFile, mode="r") as inFile:
                    cssData = inFile.read()
        except Exception as e:
            logger.error("Could not load theme css file")
            return False

        # Config File
        confParser = configparser.ConfigParser()
        try:
            confParser.read_file(open(self.confFile))
        except Exception as e:
            logger.error("Could not load theme settings from: %s" %
                         self.confFile)
            return False

        ## Main
        cnfSec = "Main"
        if confParser.has_section(cnfSec):
            self.themeName = self._parseLine(confParser, cnfSec, "name", "")
            self.themeAuthor = self._parseLine(confParser, cnfSec, "author",
                                               "")
            self.themeCredit = self._parseLine(confParser, cnfSec, "credit",
                                               "")
            self.themeUrl = self._parseLine(confParser, cnfSec, "url", "")

        ## Palette
        cnfSec = "Palette"
        if confParser.has_section(cnfSec):
            self._setPalette(confParser, cnfSec, "window", QPalette.Window)
            self._setPalette(confParser, cnfSec, "windowtext",
                             QPalette.WindowText)
            self._setPalette(confParser, cnfSec, "base", QPalette.Base)
            self._setPalette(confParser, cnfSec, "alternatebase",
                             QPalette.AlternateBase)
            self._setPalette(confParser, cnfSec, "text", QPalette.Text)
            self._setPalette(confParser, cnfSec, "tooltipbase",
                             QPalette.ToolTipBase)
            self._setPalette(confParser, cnfSec, "tooltiptext",
                             QPalette.ToolTipText)
            self._setPalette(confParser, cnfSec, "button", QPalette.Button)
            self._setPalette(confParser, cnfSec, "buttontext",
                             QPalette.ButtonText)
            self._setPalette(confParser, cnfSec, "brighttext",
                             QPalette.BrightText)
            self._setPalette(confParser, cnfSec, "highlight",
                             QPalette.Highlight)
            self._setPalette(confParser, cnfSec, "highlightedtext",
                             QPalette.HighlightedText)
            self._setPalette(confParser, cnfSec, "link", QPalette.Link)
            self._setPalette(confParser, cnfSec, "linkvisited",
                             QPalette.LinkVisited)

        ## GUI
        cnfSec = "GUI"
        if confParser.has_section(cnfSec):
            self.treeWCount = self._loadColour(confParser, cnfSec,
                                               "treewordcount")
            self.statNone = self._loadColour(confParser, cnfSec, "statusnone")
            self.statUnsaved = self._loadColour(confParser, cnfSec,
                                                "statusunsaved")
            self.statSaved = self._loadColour(confParser, cnfSec,
                                              "statussaved")

        # Apply Styles
        qApp.setStyleSheet(cssData)
        qApp.setPalette(self.guiPalette)

        logger.info("Loaded theme '%s'" % self.guiTheme)

        return True
Exemplo n.º 23
0
    def load_stylesheet(self):
        filename = ":/themes/light.qss"

        styles = styles_from_file(filename)
        qApp.setStyleSheet(styles) if styles else self.log_error(filename)
Exemplo n.º 24
0
def __load_qss_theme(qss_file):
    with open(qss_file, mode='r', encoding='utf-8') as f:
        style = f.read()

    qApp.setStyleSheet(style)
Exemplo n.º 25
0
 def load_stylesheet(qssfile: str) -> None:
     if QFileInfo(qssfile).exists():
         qss = QFile(qssfile)
         qss.open(QFile.ReadOnly | QFile.Text)
         qApp.setStyleSheet(QTextStream(qss).readAll())
Exemplo n.º 26
0
 def unuseQss(self, unuse):
     if unuse:
         qApp.setStyleSheet('')
     else:
         self.renderStyle()
         self.loadColorPanel()
Exemplo n.º 27
0
 def createStyleQss(self):
     file = open('style.css','r')
     style = file.read()
     qApp.setStyleSheet(style)
     file.close()
Exemplo n.º 28
0
 def updateStyle(self):
     styleSheet = self.textbox.toPlainText()
     qApp.setStyleSheet(styleSheet) # qApp is a global reference to your running QApplication, it's in PyQt5.QtWidgets
Exemplo n.º 29
0
    def __init__(self, socket):
        QMainWindow.__init__(self)

        Login.socket = socket
        qApp.setStyleSheet(
            "QMainWindow, QDialog { background-color: rgb(255, 255, 255) }")
Exemplo n.º 30
0
    def loadTheme(self):
        """Load the currently specified GUI theme.
        """
        logger.debug("Loading theme files")
        logger.debug("System icon theme is '%s'" % str(QIcon.themeName()))

        # CSS File
        cssData = ""
        try:
            if os.path.isfile(self.cssFile):
                with open(self.cssFile, mode="r", encoding="utf8") as inFile:
                    cssData = inFile.read()
        except Exception:
            logger.error("Could not load theme css file")
            nw.logException()
            return False

        # Config File
        confParser = configparser.ConfigParser()
        try:
            with open(self.confFile, mode="r", encoding="utf8") as inFile:
                confParser.read_file(inFile)
        except Exception:
            logger.error("Could not load theme settings from: %s" %
                         self.confFile)
            nw.logException()
            return False

        ## Main
        cnfSec = "Main"
        if confParser.has_section(cnfSec):
            self.themeName = self._parseLine(confParser, cnfSec, "name", "")
            self.themeDescription = self._parseLine(confParser, cnfSec,
                                                    "description", "N/A")
            self.themeAuthor = self._parseLine(confParser, cnfSec, "author",
                                               "N/A")
            self.themeCredit = self._parseLine(confParser, cnfSec, "credit",
                                               "N/A")
            self.themeUrl = self._parseLine(confParser, cnfSec, "url", "")
            self.themeLicense = self._parseLine(confParser, cnfSec, "license",
                                                "N/A")
            self.themeLicenseUrl = self._parseLine(confParser, cnfSec,
                                                   "licenseurl", "")

        ## Palette
        cnfSec = "Palette"
        if confParser.has_section(cnfSec):
            self._setPalette(confParser, cnfSec, "window", QPalette.Window)
            self._setPalette(confParser, cnfSec, "windowtext",
                             QPalette.WindowText)
            self._setPalette(confParser, cnfSec, "base", QPalette.Base)
            self._setPalette(confParser, cnfSec, "alternatebase",
                             QPalette.AlternateBase)
            self._setPalette(confParser, cnfSec, "text", QPalette.Text)
            self._setPalette(confParser, cnfSec, "tooltipbase",
                             QPalette.ToolTipBase)
            self._setPalette(confParser, cnfSec, "tooltiptext",
                             QPalette.ToolTipText)
            self._setPalette(confParser, cnfSec, "button", QPalette.Button)
            self._setPalette(confParser, cnfSec, "buttontext",
                             QPalette.ButtonText)
            self._setPalette(confParser, cnfSec, "brighttext",
                             QPalette.BrightText)
            self._setPalette(confParser, cnfSec, "highlight",
                             QPalette.Highlight)
            self._setPalette(confParser, cnfSec, "highlightedtext",
                             QPalette.HighlightedText)
            self._setPalette(confParser, cnfSec, "link", QPalette.Link)
            self._setPalette(confParser, cnfSec, "linkvisited",
                             QPalette.LinkVisited)

        ## GUI
        cnfSec = "GUI"
        if confParser.has_section(cnfSec):
            self.statNone = self._loadColour(confParser, cnfSec, "statusnone")
            self.statUnsaved = self._loadColour(confParser, cnfSec,
                                                "statusunsaved")
            self.statSaved = self._loadColour(confParser, cnfSec,
                                              "statussaved")

        # Apply Styles
        qApp.setStyleSheet(cssData)
        qApp.setPalette(self.guiPalette)

        logger.info("Loaded theme '%s'" % self.guiTheme)

        return True
Exemplo n.º 31
0
    def setupUi(self, MainWindow, init_kr):
        self.bian=[]
        self.ans_path=[]
        self.ans_path2=[]
        self.i1=0
        self.i2=0
        self.flag1=1
        self.flag2=1
        MainWindow.setObjectName("MainWindow")
        MainWindow.setEnabled(True)
        MainWindow.resize(1920, 1000)
        self.new_kr = init_kr
        self.new_kr.init_graph()
        with open("Qobject.qss", "r") as f:
            qApp.setStyleSheet(f.read())
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")

        #  左边的点和边 listQwidget
        self.widget = QtWidgets.QWidget(self.centralwidget)
        self.widget.setGeometry(QtCore.QRect(30, 190, 291, 651))
        self.widget.setObjectName("widget")
        self.gridLayout = QtWidgets.QGridLayout(self.widget)
        self.gridLayout.setContentsMargins(0, 0, 0, 0)
        self.gridLayout.setObjectName("gridLayout")
        self.verticalLayout = QtWidgets.QVBoxLayout()
        self.verticalLayout.setObjectName("verticalLayout")
        self.label3 = QtWidgets.QLabel(self.widget)
        self.label3.setObjectName("label")
        self.verticalLayout.addWidget(self.label3)
        self.listWidget = QtWidgets.QListWidget(self.widget)
        self.listWidget.setObjectName("listWidget")
        self.verticalLayout.addWidget(self.listWidget)
        self.gridLayout.addLayout(self.verticalLayout, 0, 0, 1, 1)
        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.label_4 = QtWidgets.QLabel(self.widget)
        self.label_4.setObjectName("label_2")
        self.verticalLayout_2.addWidget(self.label_4)
        self.listWidget_2 = QtWidgets.QListWidget(self.widget)
        self.listWidget_2.setObjectName("listWidget_2")
        self.verticalLayout_2.addWidget(self.listWidget_2)
        self.gridLayout.addLayout(self.verticalLayout_2, 0, 1, 1, 1)


        #上面的插入模块
        self.gridLayoutWidget = QtWidgets.QWidget(self.centralwidget)
        self.gridLayoutWidget.setGeometry(QtCore.QRect(40, 30, 441, 51))
        self.gridLayoutWidget.setObjectName("gridLayoutWidget")
        self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget)
        self.gridLayout.setContentsMargins(0, 0, 0, 0)
        self.gridLayout.setObjectName("gridLayout")
        self.lineEdit = QtWidgets.QLineEdit(self.gridLayoutWidget)
        self.lineEdit.setObjectName("lineEdit")
        self.gridLayout.addWidget(self.lineEdit, 2, 0, 1, 1)
        self.label = QtWidgets.QLabel(self.gridLayoutWidget)
        self.label.setObjectName("label")
        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
        self.lineEdit_3 = QtWidgets.QLineEdit(self.gridLayoutWidget)
        self.lineEdit_3.setObjectName("lineEdit_3")
        self.gridLayout.addWidget(self.lineEdit_3, 2, 2, 1, 1)
        self.label_2 = QtWidgets.QLabel(self.gridLayoutWidget)
        self.label_2.setObjectName("label_2")
        self.gridLayout.addWidget(self.label_2, 0, 1, 1, 1)
        self.lineEdit_2 = QtWidgets.QLineEdit(self.gridLayoutWidget)
        self.lineEdit_2.setObjectName("lineEdit_2")
        self.gridLayout.addWidget(self.lineEdit_2, 2, 1, 1, 1)
        self.label_3 = QtWidgets.QLabel(self.gridLayoutWidget)
        self.label_3.setObjectName("label_3")
        self.gridLayout.addWidget(self.label_3, 0, 2, 1, 1)
        self.horizontalLayoutWidget = QtWidgets.QWidget(self.centralwidget)
        self.horizontalLayoutWidget.setGeometry(QtCore.QRect(40, 90, 441, 51))
        self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget")
        self.horizontalLayout = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget)
        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.pushButton_5 = QtWidgets.QPushButton(self.horizontalLayoutWidget)
        self.pushButton_5.setObjectName("pushButton_5")
        self.horizontalLayout.addWidget(self.pushButton_5)


        #右边的一列按钮操作
        self.widget = QtWidgets.QWidget(MainWindow)
        self.widget.setGeometry(QtCore.QRect(400, 190, 191, 651))
        self.widget.setObjectName("widget")
        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.widget)
        self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.pushButton = QtWidgets.QPushButton(self.widget)
        self.pushButton.setObjectName("pushButton")
        self.verticalLayout_3.addWidget(self.pushButton)

        self.pushButton_2 = QtWidgets.QPushButton(self.widget)
        self.pushButton_2.setObjectName("pushButton_2")
        self.verticalLayout_3.addWidget(self.pushButton_2)

        self.pushButton_3 = QtWidgets.QPushButton(self.widget)
        self.pushButton_3.setObjectName("pushButton_3")
        self.verticalLayout_3.addWidget(self.pushButton_3)

        self.pushButton_9 = QtWidgets.QPushButton(self.widget)
        self.pushButton_9.setObjectName("pushButton_9")
        self.verticalLayout_3.addWidget(self.pushButton_9)


        self.pushButton_4 = QtWidgets.QPushButton(self.widget)
        self.pushButton_4.setObjectName("pushButton_4")
        self.verticalLayout_3.addWidget(self.pushButton_4)

        self.pushButton_7 = QtWidgets.QPushButton(self.widget)
        self.pushButton_7.setObjectName("pushButton_7")
        self.verticalLayout_3.addWidget(self.pushButton_7)

        # 这个是prim 的逐条显示增加
        self.pushButton_10 = QtWidgets.QPushButton(self.widget)
        self.pushButton_10.setObjectName("pushButton_10")
        self.verticalLayout_3.addWidget(self.pushButton_10)
        #逐条减少
        self.pushButton_13= QtWidgets.QPushButton(self.widget)
        self.pushButton_13.setObjectName("pushButton_13")
        self.verticalLayout_3.addWidget(self.pushButton_13)


        self.pushButton_8 = QtWidgets.QPushButton(self.widget)
        self.pushButton_8.setObjectName("pushButton_8")
        self.verticalLayout_3.addWidget(self.pushButton_8)

        # 这个是克鲁斯卡尔   逐条显示增加
        self.pushButton_11 = QtWidgets.QPushButton(self.widget)
        self.pushButton_11.setObjectName("pushButton_11")
        self.verticalLayout_3.addWidget(self.pushButton_11)
        #逐条减少
        self.pushButton_12 = QtWidgets.QPushButton(self.widget)
        self.pushButton_12.setObjectName("pushButton_12")
        self.verticalLayout_3.addWidget(self.pushButton_12)

        self.pushButton_6 = QtWidgets.QPushButton(self.widget)
        self.pushButton_6.setObjectName("pushButton_6")
        self.verticalLayout_3.addWidget(self.pushButton_6)
        MainWindow.setCentralWidget(self.centralwidget)








        #这个是最下面最小生成树的代价
        self.widget1 = QtWidgets.QWidget(MainWindow)
        self.widget1.setGeometry(QtCore.QRect(30, 890, 261, 41))
        self.widget1.setObjectName("widget1")
        self.horizontalLayout = QtWidgets.QHBoxLayout(self.widget1)
        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.label_5 = QtWidgets.QLabel(self.widget1)
        self.label_5.setObjectName("label_5")
        self.horizontalLayout.addWidget(self.label_5)
        self.textBrowser = QtWidgets.QTextBrowser(self.widget1)
        self.textBrowser.setObjectName("textBrowser")
        self.horizontalLayout.addWidget(self.textBrowser)

        self.widget2 = QtWidgets.QWidget(MainWindow)
        self.widget2.setGeometry(QtCore.QRect(300, 890, 261, 41))
        self.widget2.setObjectName("widget2")
        self.horizontalLayout2 = QtWidgets.QHBoxLayout(self.widget2)
        self.horizontalLayout2.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout2.setObjectName("horizontalLayout2")
        self.label_6 = QtWidgets.QLabel(self.widget2)
        self.label_6.setObjectName("label_6")
        self.horizontalLayout2.addWidget(self.label_6)
        self.textBrowser2 = QtWidgets.QTextBrowser(self.widget2)
        self.textBrowser2.setObjectName("textBrowser2")
        self.horizontalLayout2.addWidget(self.textBrowser2)



        #右边的浏览器加载 html 文件
        self.stackedWidget = QtWidgets.QStackedWidget(MainWindow)
        self.stackedWidget.setFrameShape(QtWidgets.QFrame.Box)
        self.stackedWidget.setObjectName("stackedWidget")
        self.stackedWidget.setGeometry(600, 10, 1300, 950)
        self.browser = QWebEngineView(self.stackedWidget)
        self.browser.setGeometry(0, 0, 1300, 950)


        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)



        with open(self.new_kr.file, 'r', True, 'utf-8') as f:
            f.readline()
            f.readline()
            for line in f.readlines():
                list= line.replace('\n', '')
                item=QListWidgetItem()
                item.setText(list)
                self.listWidget_2.addItem(item)
        for i in range(len(self.new_kr.place_name)):
            item=QListWidgetItem()
            item.setText(self.new_kr.place_name[i])
            self.listWidget.addItem(item)
        self.pyecharts_update12(1,0,0,0,0,0,0)

        #插入操作
        self.pushButton_5.clicked.connect(self.update1)

        #删除操作
        self.listWidget.clicked.connect(self.check)
        self.pushButton.clicked.connect(self.remove)
        self.listWidget_2.clicked.connect(self.check1)
        self.pushButton_2.clicked.connect(self.remove1)



        # 进行写文件
        self.pushButton_6.clicked.connect(self.write)

        #prim 算法
        self.pushButton_3.clicked.connect(self.prim)
        #克鲁斯卡尔算法
        self.pushButton_9.clicked.connect(self.Kruskal)

        # 可视化
        self.pushButton_4.clicked.connect(lambda: (self.pyecharts_update12(1,0,0,0,0,0,0)))
        #prim 路径
        self.pushButton_7.clicked.connect(lambda:(self.pyecharts_update12(0,1,0,0,0,0,0)))
        # prim 增加边
        self.pushButton_10.clicked.connect(lambda: (self.pyecharts_update12(0,0,1,0,0,0,0)))
        # prim 减少边
        self.pushButton_13.clicked.connect(lambda: (self.pyecharts_update12(0,0,0,1,0,0,0)))
        #克鲁斯卡尔 路径
        self.pushButton_8.clicked.connect(lambda:(self.pyecharts_update12(0,0,0,0,1,0,0)))
        #克鲁斯卡尔增加边
        self.pushButton_11.clicked.connect(lambda: (self.pyecharts_update12(0,0,0,0,0,1,0)))
        #克鲁斯卡尔减少边
        self.pushButton_12.clicked.connect(lambda: (self.pyecharts_update12(0,0,0,0,0,0,1)))
Exemplo n.º 32
0
def setAppGreenStyle():
    """
    一键设置,见上面的示例
    :return: void
    """
    qApp.setStyleSheet(getGreenStyleTitleWindowQss())
Exemplo n.º 33
0
def __load_qss_style(path):
    """Read and load the stylesheet file."""
    with open(path, mode='r', encoding='utf-8') as f:
        style = f.read()

    qApp.setStyleSheet(style)