python - QML + PyQt5 Material 风格

标签 python pyqt qml pyqt5 qt-quick

我有一个简单的 PyQt5 应用程序,其中包含 QML 文件。我想为应用程序设置 Material 样式,但它返回错误。

import QtQuick 2.3
import QtQuick.Controls 2.1
import QtQuick.Window 2.2
import QtQuick.Controls.Material 2.1    

ApplicationWindow{
  title: qsTr('Qml app')
  id: mainWindow
  width:  500
  height: 400
  color: '#f6f6f6'
}

我该如何解决?请帮帮我 我的 python 代码是:

import sys
import PyQt5
from PyQt5 import QtWidgets
from PyQt5.QtQuick import QQuickView

if __name__ == '__main__':
     myApp = PyQt5.QtWidgets.QApplication(sys.argv)
     engine = PyQt5.QtQml.QQmlApplicationEngine()
     ctx = engine.rootContext()
     ctx.setContextProperty('main',engine)
     engine.load('styles/mat.qml')
     win = engine.rootObjects()[0]

     win.show()
     sys.exit(myApp.exec_())

错误信息:

Traceback (most recent call last):<br>
  File "C:\My\Python programms\app8.py", line 12, in <module><br>
    win = engine.rootObjects()[0]<br>
IndexError: list index out of range<br>

我正在使用 Python 2.7

最佳答案

Material Style 从 Qt 5.7 版本开始可用。

关于python - QML + PyQt5 Material 风格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43437278/

相关文章:

c++ - 如何将 Switch Qml 添加到 qt widgets?

python - 获取元组字典中元组最大组件的键

python - 属性错误: class Frame has no attribute 'tk'

python - 来自 Base64 的 PyQt4 setWindowIcon

python - 在 Python 中可视化的好工具

qt - 拉伸(stretch)元素以包含所有子元素

qml - 在 QML 中使用 InputMask

android - 从 Android Activity 运行 Python 脚本

python - 将列转换为行并在python中打印与其相邻的值和值计数

python - 如何将 QCompleter 与 InputDialog 一起使用?