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]
打印出当前路径。
获取路径后,将图像文件复制到该路径。
然后,再次运行。
我也觉得这不是源代码的问题,而是开发环境的问题
我无法在我的应用程序中显示简单图像。 这是 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]
打印出当前路径。
获取路径后,将图像文件复制到该路径。
然后,再次运行。
我也觉得这不是源代码的问题,而是开发环境的问题