如何在使用Qt creator创建的GUI中添加图片

5

如何在Qt创建的GUI界面上放置图片? 屏幕的西南部分是空白的,因此我想要在单击按钮时将一张图片放置在那里,但我无法使用QPixmap和setPixmap。请帮助我解决这个问题!


使用QLabel,它有setPixmap()方法。 - SpongeBobFan
3个回答

11

在Qt Creator中使用QLabel
然后进入QLabel的属性页
找到Pixmap选项卡
选择文件

完成。


3
您可以在要添加图像的位置创建QWidget或QFrame。然后,您可以使用样式表在该图像上设置background-image。您可能希望将图像添加到资源(.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

我已经在资源中添加了我的图片。但是即使在void FF::on_pushButton_3_clicked()函数中编写了这段代码,我仍然无法获取图像:QPixmap pixmap(":/home/medha/Desktop/random.jpg"); QPainter painter;。现在该怎么办? painter.drawPixmap(30,251,721,261,pixmap); - Medha Anand
你的路径 ":/home/medha/Desktop/random.jpg" 看起来像是文件系统路径,而你需要资源文件中的路径。在 Qt Creator 中打开资源文件,在图片上右键点击,在上下文菜单中可以复制资源文件路径。 - WoJo
我也尝试了你的方法,将路径名更改为资源路径,但图片仍然无法显示在界面上!:( - Medha Anand

3

您应该使用一个标签 (QLabel)。您可以在Qt Designer中向表单添加标签,并编辑其pixmap属性(您将能够选择已添加到项目资源中的图像之一)。此外,您还可以使用setPixmap()在编程方式下设置QLabel上的图像。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接