【问题标题】:Qt Designer's preview ui is not the same when it running in pythonQt Designer的预览ui在python中运行时不一样
【发布时间】:2020-03-19 06:30:19
【问题描述】:

这是预览

这是在python中运行时的样子

【问题讨论】:

    标签: python qt-designer pyside2


    【解决方案1】:

    Qt会根据环境变量等各种标志来处理启用的各种样式,而Qt Designer可能会默认使用一些样式,所以预览显示的样式可能与运行时的应用不同。

    分析风格在我看来Qt Designer使用的是“融合”风格,所以解决方案是添加:

    app.setStyle("fusion")
    

    如果你想用 Qt Designer 中的其他样式来可视化你的设计,你必须执行:Form-> Preview in -> style


    如果您想了解安装中可用的所有样式,可以运行以下命令:

    from PySide2 import QtWidgets
    
    print(QtWidgets.QStyleFactory.keys())
    

    在我的情况下,我得到以下信息:

    ['Breeze', 'bb10dark', 'bb10bright', 'cleanlooks', 'gtk2', 'cde', 'motif', 'plastique', 'Oxygen', 'Windows', 'Fusion']
    

    【讨论】:

    • 我的代码是"app = QApplication([])",所以我需要添加一个新行"app.setStyle("fusion")",对吗?
    • 你解决了我的问题,我真的很感激,还有没有更多的样式,因为我在预览选项中只找到了三个样式。
    • @Aiden 是的,你必须编译每种风格的插件(很多依赖于操作系统,在 Linux 的情况下有很多可用的)但有一个缺点:你必须安装 Qt并手动编译对于初学者来说通常是头疼的插件。
    • 我讨厌编译。如果我想要更多风格,在 linux 上安装 Qt 是个好主意吗?
    • @Aiden 不,我必须编译许多样式。但是你可以创建自己的风格,检查:doc.qt.io/qt-5/qtwidgets-widgets-styles-example.html
    猜你喜欢
    • 2017-06-10
    • 1970-01-01
    • 2021-12-07
    • 2017-11-18
    • 2019-05-27
    • 2020-04-22
    • 2019-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多