我想在 Qml 中显示一个矩形,并且我想从我的 Python 代码中更改矩形的属性(宽度、长度)。其实python代码中有一个socket连接,通过这个socket连接从另一台电脑接收width和length的值。简单来说:另一个用户应该能够实时调整这个矩形。我知道如何在我的 python 文件中建立套接字连接并使用 PyQt5,我可以从 python 显示 qml 文件。
但是,我无法通过我的 python 代码访问矩形的参数。我怎样才能做到这一点?
这是我的 qml 文件的简化示例:
import QtQuick 2.11
import QtQuick.Window 2.2
import QtQuick.Controls 2.2
ApplicationWindow {
visible: true
width: Screen.width/2
height: Screen.height/2
Rectangle {
id: rectangle
x: 187
y: 92
width: 200
height: 200
color: "blue"
}
}
这是我在 .py 文件中写的内容:
from PyQt5.QtQml import QQmlApplicationEngine, QQmlProperty
from PyQt5.QtQuick import QQuickWindow, QQuickView
from PyQt5.QtCore import QObject, QUrl
from PyQt5.QtWidgets import QApplication
import sys
def run():
myApp = QApplication(sys.argv)
myEngine = QQmlApplicationEngine()
myEngine.load('mainViewofHoomanApp.qml')
if not myEngine.rootObjects():
return -1
return myApp.exec_()
if __name__ == "__main__":
sys.exit(run())
慕尼黑5688855
富国沪深
相关分类