Python 将Qt Design Studio QML与PySide2一起使用
我是Qt设计师工作室的新手。我刚刚在Qt Design Studio中创建了一个简单的按钮,我正在尝试将QML文件与PySide2一起使用,但是我遇到了多个导入错误。是否有一种特定的方法可以使用PySide2实现Qt Design Studio qml文件 项目名称是我在Qt设计工作室中创建的Demo 演示项目结构:Python 将Qt Design Studio QML与PySide2一起使用,python,qml,qtquick2,pyside2,qt-design-studio,Python,Qml,Qtquick2,Pyside2,Qt Design Studio,我是Qt设计师工作室的新手。我刚刚在Qt Design Studio中创建了一个简单的按钮,我正在尝试将QML文件与PySide2一起使用,但是我遇到了多个导入错误。是否有一种特定的方法可以使用PySide2实现Qt Design Studio qml文件 项目名称是我在Qt设计工作室中创建的Demo 演示项目结构: Demo.qml Demo.qmlproject Demo.qmlproject.qtds imports qtquickcontrols2.conf
Demo.qml
Demo.qmlproject
Demo.qmlproject.qtds
imports
qtquickcontrols2.conf
Screen01.ui.qml
PySide2项目结构(main.py文件包括代码):
main.py:
from PySide2.QtWidgets import QApplication, QMainWindow
from PySide2.QtQuick import QQuickView
from PySide2.QtCore import QUrl
from imports import QtQuick
app = QApplication([])
view = QQuickView()
url = QUrl("Screen01.ui.qml")
view.engine().addImportPath("imports")
view.setSource(url)
view.show()
app.exec_()
错误:
module "QtStudio3D" is not installed
module "Qt.SafeRenderer" is not installed
Screen01.ui.qml
import QtQuick 2.12
import Demo 1.0
import QtQuick.Controls 2.3
Rectangle {
width: Constants.width
height: Constants.height
color: Constants.backgroundColor
Button {
id: nameButton
x: 136
y: 227
text: qsTr("Button")
}
}
使用和Qt Designer创建UI使用和Qt Designer为ppl创建UI在这里使用谷歌搜索我得到了正确显示的主窗口:
import sys
import os
from PySide2.QtCore import Qt, QObject, Signal, Slot, Property
from PySide2.QtGui import QGuiApplication
from PySide2.QtQml import QQmlApplicationEngine
if __name__ == "__main__":
app = QGuiApplication(sys.argv)
engine = QQmlApplicationEngine()
engine.addImportPath("imports")
print(engine.importPathList() )
engine.load('qttest2.qml')
if not engine.rootObjects():
sys.exit(-1)
sys.exit(app.exec_())
文件qttest2.qml来自qt design studio,包含(必须为主窗口手动编辑):
对于ppl在谷歌搜索中的绊脚石,我得到了一个主窗口来正确显示:
import sys
import os
from PySide2.QtCore import Qt, QObject, Signal, Slot, Property
from PySide2.QtGui import QGuiApplication
from PySide2.QtQml import QQmlApplicationEngine
if __name__ == "__main__":
app = QGuiApplication(sys.argv)
engine = QQmlApplicationEngine()
engine.addImportPath("imports")
print(engine.importPathList() )
engine.load('qttest2.qml')
if not engine.rootObjects():
sys.exit(-1)
sys.exit(app.exec_())
文件qttest2.qml来自qt design studio,包含(必须为主窗口手动编辑):
嗨@eylianesc。我已经用Screen01.ui.qml的内容更新了这个问题。请看一看@当我在CentOS系统上使用它时,eyllanescIt给出了这两个错误。模块“QtStudio3D”未安装,模块“Qt.SafeRenderer”未安装。另外,我如何与用户界面上的按钮交互,当我在Qt DS中使用设计的全屏时,它会将部分应用程序屏幕显示为白色。让我们来看看。我使用的是PySide2==5.14.1Hi@eylianesc。我已经用Screen01.ui.qml的内容更新了这个问题。请看一看@当我在CentOS系统上使用它时,eyllanescIt给出了这两个错误。模块“QtStudio3D”未安装,模块“Qt.SafeRenderer”未安装。另外,如何与用户界面上的按钮交互,当我在Qt DS中使用设计的全屏时,它会将部分应用程序屏幕显示为白色
import QtQuick 2.12
import QtQuick.Layouts 1.3
import qttest2 1.0
import QtQuick.Controls 2.12
ApplicationWindow {
visible: true
width: 800
height: 500
Item {
width: Constants.width
height: Constants.height
Screen01 {
}
}
}