【发布时间】:2017-01-24 07:02:33
【问题描述】:
我一直在寻找一种方法来从我的 PyQt 代码更新我的 QML UI 上的图像。我能找到的最接近的答案来自 Grecko Update ImageView in QML
// Code from Stackoverflow Link
// MyImage.qml
Image {
cache: false
function reload() {
var tmpSource = source;
source = "";
source = tmpSource;
}
}
我想将该解决方案(或任何解决方案)应用于我的项目。下面是一些与我的实现类似的示例代码。
#test.py
import sys
from PyQt5.QtCore import QObject, QUrl
from PyQt5.QtWidgets import QApplication
from PyQt5.QtQuick import QQuickView
from PyQt5.QtQml import QQmlApplicationEngine
if __name__ == '__main__':
myApp = QApplication(sys.argv)
engine = QQmlApplicationEngine()
context = engine.rootContext()
context.setContextProperty("main", engine)
engine.load('main.qml')
win = engine.rootObjects()[0]
image = win.findChild(QObject, "myimage")
#What do with the image here?
win.show()
sys.exit(myApp.exec_())
这是 QML 代码。
//test.qml
Image {
id: image1
objectName: "myimage"
x: 384
y: 403
width: 100
height: 100
source: ""
}
我对 PyQT5 和 QML 还很陌生,所以如果有人有一个基本示例来说明我如何实现它或可以编辑我的基本示例,我将不胜感激。
谢谢你:)
【问题讨论】: