コード例 #1
0
class StyleSheetEditor(QtGui.QDialog):
    def __init__(self, parent=None):
        super(StyleSheetEditor, self).__init__(parent)

        self.ui = Ui_StyleSheetEditor()
        self.ui.setupUi(self)

        regExp = QtCore.QRegExp(r'.(.*)\+?Style')
        defaultStyle = QtGui.QApplication.style().metaObject().className()
        if regExp.exactMatch(defaultStyle):
            defaultStyle = regExp.cap(1)

        self.ui.styleCombo.addItems(QtGui.QStyleFactory.keys())
        self.ui.styleCombo.setCurrentIndex(
            self.ui.styleCombo.findText(defaultStyle, QtCore.Qt.MatchContains))

        self.ui.styleSheetCombo.setCurrentIndex(
            self.ui.styleSheetCombo.findText('Coffee'))

        self.loadStyleSheet('Coffee')

    @QtCore.pyqtSlot(str)
    def on_styleCombo_activated(self, styleName):
        QtGui.qApp.setStyle(styleName)
        self.ui.applyButton.setEnabled(False)

    @QtCore.pyqtSlot(str)
    def on_styleSheetCombo_activated(self, sheetName):
        self.loadStyleSheet(sheetName)

    def on_styleTextEdit_textChanged(self):
        self.ui.applyButton.setEnabled(True)

    def on_applyButton_clicked(self):
        QtGui.qApp.setStyleSheet(self.ui.styleTextEdit.toPlainText())
        self.ui.applyButton.setEnabled(False)

    def on_saveButton_clicked(self):
        fileName = QtGui.QFileDialog.getSaveFileName(self)
        if fileName:
            self.saveStyleSheet(fileName)

    def loadStyleSheet(self, sheetName):
        file = QtCore.QFile(':/qss/%s.qss' % sheetName.lower())
        file.open(QtCore.QFile.ReadOnly)

        styleSheet = file.readAll()
        try:
            # Python v2.
            styleSheet = unicode(styleSheet, encoding='utf8')
        except NameError:
            # Python v3.
            styleSheet = str(styleSheet, encoding='utf8')

        self.ui.styleTextEdit.setPlainText(styleSheet)
        QtGui.qApp.setStyleSheet(styleSheet)
        self.ui.applyButton.setEnabled(False)

    def saveStyleSheet(self, fileName):
        styleSheet = self.ui.styleTextEdit.toPlainText()
        file = QtCore.QFile(fileName)
        if file.open(QtCore.QIODevice.WriteOnly):
            QtCore.QTextStream(file) << styleSheet
        else:
            QtGui.QMessageBox.information(self, "Unable to open file",
                                          file.errorString())
コード例 #2
0
        QtCore.QMetaObject.connectSlotsByName(StyleSheetEditor)

    def retranslateUi(self, StyleSheetEditor):
        StyleSheetEditor.setWindowTitle(_translate("StyleSheetEditor", "StyleSheet Paster", None))
        self.saveButton.setText(_translate("StyleSheetEditor", "&Save", None))
        self.applyButton.setText(_translate("StyleSheetEditor", "&Apply", None))
        self.label_8.setText(_translate("StyleSheetEditor", "By Zadow", None))
        self.applyButton.clicked.connect(self.apply)
        self.saveButton.clicked.connect(self.save)

    def apply(self):
        QtGui.qApp.setStyleSheet(ui.styleTextEdit.toPlainText())

    def save(self):
        fileName = QtGui.QFileDialog.getSaveFileName()
        if fileName:
            self.saveStyleSheet(fileName)


if __name__ == "__main__":
    import sys

    app = QtGui.QApplication.instance()
    if not app:
        app = QtGui.QApplication([])
    StyleSheetEditor = QtGui.QWidget()
    ui = Ui_StyleSheetEditor()
    ui.setupUi(StyleSheetEditor)
    StyleSheetEditor.show()
    app.exec_()
コード例 #3
0
ファイル: stylesheeteditor.py プロジェクト: heylenz/python27
class StyleSheetEditor(QDialog):
    def __init__(self, parent=None):
        super(StyleSheetEditor, self).__init__(parent)

        self.ui = Ui_StyleSheetEditor()
        self.ui.setupUi(self)

        regExp = QRegExp(r'.(.*)\+?Style')
        defaultStyle = QApplication.style().metaObject().className()
        if regExp.exactMatch(defaultStyle):
            defaultStyle = regExp.cap(1)

        self.ui.styleCombo.addItems(QStyleFactory.keys())
        self.ui.styleCombo.setCurrentIndex(
                self.ui.styleCombo.findText(defaultStyle, Qt.MatchContains))

        self.ui.styleSheetCombo.setCurrentIndex(
                self.ui.styleSheetCombo.findText('Coffee'))

        self.loadStyleSheet('Coffee')

    def on_styleCombo_activated(self, styleName):
        QApplication.setStyle(styleName)
        self.ui.applyButton.setEnabled(False)

    def on_styleSheetCombo_activated(self, sheetName):
        self.loadStyleSheet(sheetName)

    def on_styleTextEdit_textChanged(self):
        self.ui.applyButton.setEnabled(True)

    def on_applyButton_clicked(self):
        QApplication.instance().setStyleSheet(
                self.ui.styleTextEdit.toPlainText())
        self.ui.applyButton.setEnabled(False)

    def on_saveButton_clicked(self):
        fileName, _ = QFileDialog.getSaveFileName(self)
        if fileName:
            self.saveStyleSheet(fileName)

    def loadStyleSheet(self, sheetName):
        file = QFile(':/qss/%s.qss' % sheetName.lower())
        file.open(QFile.ReadOnly)

        styleSheet = file.readAll()
        try:
            # Python v2.
            styleSheet = unicode(styleSheet, encoding='utf8')
        except NameError:
            # Python v3.
            styleSheet = str(styleSheet, encoding='utf8')

        self.ui.styleTextEdit.setPlainText(styleSheet)
        QApplication.instance().setStyleSheet(styleSheet)
        self.ui.applyButton.setEnabled(False)

    def saveStyleSheet(self, fileName):
        styleSheet = self.ui.styleTextEdit.toPlainText()
        file = QFile(fileName)
        if file.open(QFile.WriteOnly):
            QTextStream(file) << styleSheet
        else:
            QMessageBox.information(self, "Unable to open file",
                    file.errorString())
コード例 #4
0
    def retranslateUi(self, StyleSheetEditor):
        StyleSheetEditor.setWindowTitle(
            _translate("StyleSheetEditor", "StyleSheet Paster", None))
        self.saveButton.setText(_translate("StyleSheetEditor", "&Save", None))
        self.applyButton.setText(_translate("StyleSheetEditor", "&Apply",
                                            None))
        self.label_8.setText(_translate("StyleSheetEditor", "By Zadow", None))
        self.applyButton.clicked.connect(self.apply)
        self.saveButton.clicked.connect(self.save)

    def apply(self):
        QtGui.qApp.setStyleSheet(ui.styleTextEdit.toPlainText())

    def save(self):
        fileName = QtGui.QFileDialog.getSaveFileName()
        if fileName:
            self.saveStyleSheet(fileName)


if __name__ == "__main__":
    import sys
    app = QtGui.QApplication.instance()
    if not app:
        app = QtGui.QApplication([])
    StyleSheetEditor = QtGui.QWidget()
    ui = Ui_StyleSheetEditor()
    ui.setupUi(StyleSheetEditor)
    StyleSheetEditor.show()
    app.exec_()