QML 图像未在应用程序中显示

QML Image not displaying in Application

我无法在我的应用程序中显示简单图像。 这是 main.py:

import sys
from PyQt5.QtQml import QQmlApplicationEngine
from PyQt5.QtGui import QGuiApplication
from PyQt5.QtCore import QObject, QUrl


if __name__ == '__main__':
    sys.argv += ['--style', 'material']
    app = QGuiApplication(sys.argv)
    engine = QQmlApplicationEngine('basic.qml')
    sys.exit(app.exec_())  

和 basic.qml:

import QtQuick 2.0
import QtQuick.Controls 2.1
import QtQuick.Controls.Material 2.1

ApplicationWindow {
    visible: true
    width: 200
    height: 400
    title: qsTr("Hello World")
    Material.theme: Material.Light
    Material.accent: Material.Orange
    Column {
        anchors.centerIn: parent
        Button {
            width: 200; height:50;
            font.capitalization: Font.MixedCase
            text: qsTr("Button Name")
            objectName: "button_obj_name"
            highlighted: true
            Material.background: Material.Orange

        }
        Image{
                width: 100; height: 100
                fillMode: Image.PreserveAspectFit
                source: "logo_name.jpg"
            }
    }
}

在应用程序 window 中似乎分配了 space 但没有显示任何内容。 [logo_name.jpg 与 basic.qml 和 main.py 位于同一文件夹中 ]

您的代码看起来正确。我在 windows 盒子上遇到了类似的问题。在 raspberry 上工作的代码在 windows 机器上不工作。删除并重新安装 PyQt5 使其再次运行。

pip3 uninstall pyqt5 

这与我尝试显示的图像有关(正如@Jason R. Mick 提到的),我相信我尝试使用的图像是通过更改其扩展名来转换的。

As a sanity check can you please post the image you're trying to display & image/listing of folder contents? – Jason R. Mick

你最好检查一下当前路径。 您可以使用 sys.argv[0] 打印出当前路径。 获取路径后,将图像文件复制到该路径。 然后,再次运行。

我也觉得这不是源代码的问题,而是开发环境的问题