Qt 中按钮与标签显示图片的实现方法

在 Qt 界面开发中,常常需要在按钮(QPushButton)和标签(QLabel)中显示图片,提升界面美观度和交互体验。本文整理了两种常见控件显示图片的实现方法。


1. 在按钮中显示图片

使用 QPushButtonsetIcon() 方法可以给按钮设置图标,配合设置按钮大小和图标大小来控制显示效果。

示例代码:

QPushButton *resistanceBtn = new QPushButton(element);
resistanceBtn->setFixedSize(120, 50);               // 设置按钮固定大小
resistanceBtn->setIconSize(QSize(100, 45));         // 设置图标大小

QPixmap resistance(":/new/image/resistance1.png");  // 加载资源图片
resistanceBtn->setIcon(resistance);                  // 设置图标到按钮

2. 在标签中显示图片

方法一:标签随比例缩放显示图片

为了让图片自动适应标签大小,可以使用 setScaledContents(true),并用 QPixmap::scaled() 保持图片宽高比,平滑缩放。

ui->label->setScaledContents(true);                             // 标签图片随控件大小缩放
QPixmap pixmap("./01.jpg");                                     // 加载图片
QPixmap s_img = pixmap.scaled(ui->label->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation);  // 等比例缩放
ui->label->setPixmap(s_img);                                   // 设置图片到标签

方法二:单独显示图片的 QLabel

如果 QLabel 独立存在,其大小默认是图片大小。如果 QLabel 放入 QMainWindow,大小默认是初始大小。

QLabel *label = new QLabel();
QImage image("/home/ws/Pictures/cat.png");
label->setPixmap(QPixmap::fromImage(image));
label->show();

小结

  • 按钮显示图片主要使用 setIcon()setIconSize() 方法。

  • 标签显示图片时,可以使用 setScaledContents(true) 配合 QPixmap::scaled() 保持图片比例缩放。

  • 独立的 QLabel 大小默认与图片一致,放入窗口中时大小可调整。


💡 如果你觉得有帮助,欢迎点赞 👍、收藏 ⭐、评论 💬 支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值