我在将简单图像显示到应用程序时遇到问题。 这是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所在的文件夹中]
答案 0 :(得分:0)
您的代码看起来正确。我的窗户盒上有类似的问题。在树莓机上工作的代码无法在Windows机器上运行。删除并重新安装PyQt5再次运行。
pip3 uninstall pyqt5
答案 1 :(得分:0)
它与我试图显示的图像有关(正如@Jason R. Mick所提到的),我相信我试图使用的图像是通过更改它的扩展名来转换的。
作为一个完整性检查,您可以发布您尝试的图像 显示器和显示器图像/文件夹内容列表? - 杰森R.米克
答案 2 :(得分:0)
您应该更好地检查当前路径。
您可以使用sys.argv[0]
打印出当前路径。
获取路径后,将图像文件复制到该路径。
然后,再次运行。
我也认为这不是源代码的问题,而是开发环境。