1

我无法在我的应用程序中显示一个简单的图像。这是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"
            }
    }
}

在应用程序窗口中,似乎分配了空间,但没有显示任何内容。[logo_name.jpg 位于 basic.qml 和 main.py 所在的同一文件夹]

4

3 回答 3

0

您的代码看起来正确。我在我的 Windows 盒子上遇到了类似的问题。在覆盆子上工作的代码在 Windows 机器上不起作用。删除并重新安装 PyQt5 让它再次工作。

pip3 uninstall pyqt5 
于 2018-02-06T04:19:51.833 回答
0

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

作为健全性检查,您能否发布您尝试显示的图像和文件夹内容的图像/列表?——杰森·米克

于 2018-02-06T13:52:50.667 回答
0

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

我也认为这不是源代码的问题,而是开发环境的问题。

于 2018-02-07T08:13:28.787 回答