我正在尝试使用Debian for BBB的最后一张图片中的两个示例程序。他们在Windows上的常规Xubuntu 13.10发布广告中工作,但我无法确定为什么Qpixmap不能处理此图像。常规小部件工作正常,但Qpixmap没有显示图像。安装的pyqt版本是4.9。
我正在使用的一个例子如下。
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtGui, QtCore
class Imagen(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
hbox = QtGui.QHBoxLayout(self)
pixmap = QtGui.QPixmap("test.png")
lbl = QtGui.QLabel(self)
lbl.setPixmap(pixmap)
hbox.addWidget(lbl)
self.setLayout(hbox)
self.move(300, 200)
self.setWindowTitle('Test')
self.show()
def main():
app = QtGui.QApplication(sys.argv)
ex = Imagen()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
答案 0 :(得分:0)
假设您的png和python文件位于同一目录中,请添加以下代码:
导入os.path
import os.path as osp
将以下代码添加到initUI()
...
path = osp.join(osp.direname(__file__), 'test.png')
pixmap = QtGui.QPixmap(path)
...
答案 1 :(得分:0)
相对路径是相对于当前目录的,它不一定与脚本本身所在的目录相同。所以要么使用绝对路径名,要么cd到映像文件所在的目录在运行脚本之前。
但是,如果您有兴趣正确解决此常规问题 ,最好的方法是学习如何使用Qt Resource System和pyrcc tool。这允许您直接在应用程序中嵌入图标(或任何您喜欢的文件),从而完全解决查找文件的任何潜在问题。