【发布时间】:2018-07-15 11:58:57
【问题描述】:
在我的应用程序中显示简单图像时遇到问题。 这是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 所在的同一文件夹]
【问题讨论】:
-
您可以尝试在图片中添加
sourceSize.width: 100; sourceSize.height: 100;吗?Image有这个奇怪的sourceSize属性... -
对我来说它工作正常,你可以解释你是如何执行你的应用程序的。
-
作为健全性检查,您能否发布您要显示的图像和文件夹内容的图像/列表?
-
@eyllanesc 我直接从 IDLE (F5) 运行它,我尝试使用 cx_freeze 创建一个可执行文件,但图像仍然没有显示。
-
@Jason R. Mick 我认为你可能是对的。我尝试使用来自互联网的随机徽标,它显示正确。 brandmark.io/logo-rank/random/pepsi.png
标签: python qml pyqt5 qqmlapplicationengine