【发布时间】:2013-07-03 06:36:11
【问题描述】:
如何在 Qt 创建的 GUI 上放置图像? 屏幕的西南部分是空的,所以我希望通过单击按钮将图片放在那里,但我无法使用 QPixmap 和 setPixmap。请帮我解决这个问题!
【问题讨论】:
-
使用QLabel,它有
setPixmap()方法。
如何在 Qt 创建的 GUI 上放置图像? 屏幕的西南部分是空的,所以我希望通过单击按钮将图片放在那里,但我无法使用 QPixmap 和 setPixmap。请帮我解决这个问题!
【问题讨论】:
setPixmap()方法。
在 Qt Creator 中使用 QLabel 然后转到 QLabel 的属性 转到像素图 选择文件
完成了。
【讨论】:
您可以在要添加图像的位置创建 QWidget 或 QFrame。然后,您可以使用样式表在该图片上设置背景图像。您可能希望将图像添加到资源 (.qrc)。
使用 QtDesigner 是完成此类任务的好主意。
编辑: 这是一种无需使用 QPixMap 的简单方法。
QWidget *frame = new QWidget(this);
frame->setGeometry(x, y, width, height);
frame->setStyleSheet("background-image: url(:/path/to/image.png)");
: 指定您要在 Qt 资源中使用该路径。如果您使用 QtDesigner 定义此 QWidget,则不需要前两行。
另外,不要忘记导入您的resources.qrc(无论您如何称呼它)文件(包括您的资源)并将其添加到您的.pro:
RESOURCES = resources.qrc
【讨论】:
":/home/medha/Desktop/random.jpg" 看起来像您的文件系统中的路径,您需要资源文件中的路径。在Qt Creator中,打开资源文件,右键图片,在上下文菜单中可以复制资源文件路径。
您应该使用标签 (QLabel)。您可以在表单中添加标签并在 Qt Designer 中编辑其pixmap 属性(您将能够选择已添加到项目资源中的图像之一)。您还可以使用setPixmap() 以编程方式在QLabel 上设置图像。
【讨论】: