我要做的是用PyQt5中的QML更新图像的源代码。当我使用element.setProperty("source", "./testImage.png")
更改图像时,我得到以下错误消息。在
QML Image: Protocol "" is unknown
有什么办法解决这个问题吗?在
我已经研究了与QML元素交互的其他方法,如果可能的话,我希望通过Python代码而不是仅仅通过QML来更改图像。在
主.py
from PyQt5.QtWidgets import *
from PyQt5.QtQml import *
from PyQt5.QtCore import *
from PyQt5.QtQuick import *
from PyQt5 import *
import sys
import resource_rc
class MainWindow(QQmlApplicationEngine):
def __init__(self):
super().__init__()
self.load("main.qml")
self.rootContext().setContextProperty("MainWindow", self)
self.window = self.rootObjects()[0]
self.cardLeft = self.window.findChild(QObject, "cardLeft")
@pyqtSlot()
def changeImage(self):
self.cardLeft.setProperty("source", "./images/3_of_clubs.png")
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
sys.exit(app.exec_())
主.qml
^{pr2}$
您必须传递一个
QUrl
,您必须使用QUrl::fromLocalFile()
:相关问题 更多 >
编程相关推荐