Python Pyside setStyleSheet()和长线?

Python Pyside setStyleSheet()和长线?,python,pyside,Python,Pyside,我还没有找到一种方法来减少这些部件上的长代码行。无论我从哪一点切入下一点,它都会断开绳子。 有没有一种方法可以把这些线缩短 self.setStyleSheet('ApplicationWindow { background-color: rgba(10, 10, 10, 10); } ButtonDefault { background-color: rgb(255, 10, 10); color: rgb(255, 255, 255); }') 我自己的解决方案是将样式表移动到单独的.cs

我还没有找到一种方法来减少这些部件上的长代码行。无论我从哪一点切入下一点,它都会断开绳子。 有没有一种方法可以把这些线缩短

self.setStyleSheet('ApplicationWindow { background-color: rgba(10, 10, 10, 10); } ButtonDefault { background-color: rgb(255, 10, 10); color: rgb(255, 255, 255); }')
我自己的解决方案是将样式表移动到单独的.css文件中,然后将整个内容作为一个简单的字符串进行删减。这样开发也更好,但这种方法听起来合理吗

    stylesheet_string = ''

    # Opens external stylesheet file
    with open('stylesheet.css', 'r') as stylesheet:
        for line in stylesheet:
            line.replace('\n', ' ')
            line.replace('\t', ' ')

            stylesheet_string = stylesheet_string+line

    self.setStyleSheet(stylesheet_string)

我有点困惑,因为您的示例代码行没有向setStyleSheet传递字符串。在任何情况下,您都应该能够执行以下操作:

self.setStyleSheet('ApplicationWindow { background-color: rgba(10, 10, 10, 10); } '
                   'ButtonDefault { background-color: rgb(255, 10, 10); '
                       'color: rgb(255, 255, 255); }')

如果您希望将.css文件存储在外部,那么您所做的听起来很合理。

我有点困惑,因为您的示例代码行没有将字符串传递给setStyleSheet。在任何情况下,您都应该能够执行以下操作:

self.setStyleSheet('ApplicationWindow { background-color: rgba(10, 10, 10, 10); } '
                   'ButtonDefault { background-color: rgb(255, 10, 10); '
                       'color: rgb(255, 255, 255); }')

如果您希望将.css文件存储在外部,那么您所做的听起来很合理。

我有点困惑,因为您的示例代码行没有将字符串传递给setStyleSheet。在任何情况下,您都应该能够执行以下操作:

self.setStyleSheet('ApplicationWindow { background-color: rgba(10, 10, 10, 10); } '
                   'ButtonDefault { background-color: rgb(255, 10, 10); '
                       'color: rgb(255, 255, 255); }')

如果您希望将.css文件存储在外部,那么您所做的听起来很合理。

我有点困惑,因为您的示例代码行没有将字符串传递给setStyleSheet。在任何情况下,您都应该能够执行以下操作:

self.setStyleSheet('ApplicationWindow { background-color: rgba(10, 10, 10, 10); } '
                   'ButtonDefault { background-color: rgb(255, 10, 10); '
                       'color: rgb(255, 255, 255); }')

如果您希望将.css文件存储在外部,那么您所做的事情听起来是合理的。

对于较短的代码行,请参阅

特别是对于样式表,如果您想从文件中加载它们,只需加载它们,而不替换任何内容。它起作用了

with open('path', 'r', encoding='utf-8') as file:
    style_sheet = file.read()
app.setStyleSheet(style_sheet)
一个显示其工作原理的示例:

from PySide import QtGui

app = QtGui.QApplication([])
window = QtGui.QMainWindow()
window.setStyleSheet('/*\n some comment */\n\nbackground-color:black;\n\r\t\n')
window.show()

app.exec_()

尽管样式表字符串中有许多换行符和注释,但仍将显示一个黑色窗口。

有关一般较短的代码行,请参阅

特别是对于样式表,如果您想从文件中加载它们,只需加载它们,而不替换任何内容。它起作用了

with open('path', 'r', encoding='utf-8') as file:
    style_sheet = file.read()
app.setStyleSheet(style_sheet)
一个显示其工作原理的示例:

from PySide import QtGui

app = QtGui.QApplication([])
window = QtGui.QMainWindow()
window.setStyleSheet('/*\n some comment */\n\nbackground-color:black;\n\r\t\n')
window.show()

app.exec_()

尽管样式表字符串中有许多换行符和注释,但仍将显示一个黑色窗口。

有关一般较短的代码行,请参阅

特别是对于样式表,如果您想从文件中加载它们,只需加载它们,而不替换任何内容。它起作用了

with open('path', 'r', encoding='utf-8') as file:
    style_sheet = file.read()
app.setStyleSheet(style_sheet)
一个显示其工作原理的示例:

from PySide import QtGui

app = QtGui.QApplication([])
window = QtGui.QMainWindow()
window.setStyleSheet('/*\n some comment */\n\nbackground-color:black;\n\r\t\n')
window.show()

app.exec_()

尽管样式表字符串中有许多换行符和注释,但仍将显示一个黑色窗口。

有关一般较短的代码行,请参阅

特别是对于样式表,如果您想从文件中加载它们,只需加载它们,而不替换任何内容。它起作用了

with open('path', 'r', encoding='utf-8') as file:
    style_sheet = file.read()
app.setStyleSheet(style_sheet)
一个显示其工作原理的示例:

from PySide import QtGui

app = QtGui.QApplication([])
window = QtGui.QMainWindow()
window.setStyleSheet('/*\n some comment */\n\nbackground-color:black;\n\r\t\n')
window.show()

app.exec_()

将显示一个黑色窗口,尽管样式表字符串中有许多换行符和注释。

Ah我忘记粘贴创建变量样式表字符串的行。最后一行将整个字符串传递给setStyleSheet()。它确实有效,但是我有点担心我的方式可能是一种不好的方式。谢谢你的回答!我实际上是指您的第一个代码示例,其中字符串周围没有引号。但不用担心。我想两种方法都可以。有时,如果您不得不担心特殊字符之类的问题,解析文件可能会有点棘手,但这是值得的。例如,如果您不想在每次样式表更改时编辑代码文件::-)啊,是的,我忘了在这里添加“”标记,很抱歉:)啊,我忘了粘贴创建变量样式表字符串的行。最后一行将整个字符串传递给setStyleSheet()。它确实有效,但是我有点担心我的方式可能是一种不好的方式。谢谢你的回答!我实际上是指您的第一个代码示例,其中字符串周围没有引号。但不用担心。我想两种方法都可以。有时,如果您不得不担心特殊字符之类的问题,解析文件可能会有点棘手,但这是值得的。例如,如果您不想在每次样式表更改时编辑代码文件::-)啊,是的,我忘了在这里添加“”标记,很抱歉:)啊,我忘了粘贴创建变量样式表字符串的行。最后一行将整个字符串传递给setStyleSheet()。它确实有效,但是我有点担心我的方式可能是一种不好的方式。谢谢你的回答!我实际上是指您的第一个代码示例,其中字符串周围没有引号。但不用担心。我想两种方法都可以。有时,如果您不得不担心特殊字符之类的问题,解析文件可能会有点棘手,但这是值得的。例如,如果您不想在每次样式表更改时编辑代码文件::-)啊,是的,我忘了在这里添加“”标记,很抱歉:)啊,我忘了粘贴创建变量样式表字符串的行。最后一行将整个字符串传递给setStyleSheet()。它确实有效,但是我有点担心我的方式可能是一种不好的方式。谢谢你的回答!我实际上是指您的第一个代码示例,其中字符串周围没有引号。但不用担心。我想两种方法都可以。有时,如果您不得不担心特殊字符之类的问题,解析文件可能会有点棘手,但这是值得的。例如,如果您不想在每次样式表更改时编辑代码文件::-)啊,是的,我忘了在这里添加“”标记,很抱歉:)