我想要做的是在 PyQt5 中使用 QML 更新图像的源。当我element.setProperty("source", "./testImage.png")用来更改图像时,我收到以下错误消息。
QML 图像:协议“”未知
关于如何解决这个问题的任何想法?
我已经研究了与 QML 元素交互的其他方法,如果可能的话,我想坚持通过 Python 代码而不是仅通过 QML 更改图像。
主文件
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_())
白衣非少年
相关分类