Pyside2和材料设计

问题描述 投票:0回答:1

我正在编写一个简单的应用程序来控制实验设置。我完成了大部分重要的工作,并且我认为将UI材料设计用于UI小部件会更好。

我发现这个包含所有小部件的仓库我想要https://github.com/laserpants/qt-material-widgets,但我不知道如何在我的项目中导入它们。我正在使用Pyside2和qtDesigner,使用QUiLoader加载ui文件,例如:

class ConsoleWindow(QObject):
    def __init__(self, uifilename):
        super(ConsoleWindow, self).__init__(None)
        self.window = QUiLoader().load( QFile( 'uifile.ui' ) )

        self.setupCallbacks()

        self.window.installEventFilter(self)
        self.window.show()

 [...]

有谁知道怎么做?

python qt material-design pyside2
1个回答
0
投票

目前,您只有一个选项可以实现此目的,为您使用的每个元素使用样式表。

我发现了一个old repository试图提供一组样式规则,所以你可以直接在你的代码中使用它们,但我不知道它们与纯材料设计外观有多相似。

您也可以为每个元素设置样式,如:

class MyWidget(QWidget):
    def __init__(self):
        QWidget.__init__(self)
        # Changing background color
        self.setStyleSheet("background-color: rgb(0.2, 0.3, 0.8, 0.2);")

或为您的应用程序加载一般样式表:

sheet = ":/some_style_sheet_file.qss"
with open(sheet, "r") as f:
    style = sheet.read()

app = QApplication([])
# ...
app.setStyleSheet(style)
sys.app(app.exec_())

另一方面,如果你想使用Qml,你可以像this example一样轻松实现。

© www.soinside.com 2019 - 2024. All rights reserved.