【发布时间】:2018-10-24 19:02:57
【问题描述】:
我正在创建一个 Qt 应用程序,并且我有一个我想用作按钮而不是文本的图像。不幸的是,显示的只是一个空按钮。
我尝试了两种不同的方法来让它显示两种方法的相同结果。
方法一的代码:
ui->setupUi(this);
QPixmap pix(":/svg/resources/menu.svg");
int w = ui->menuButton->width();
int h = ui->menuButton->height();
ui->menuButton->setMask(pix.scaled(w,h,Qt::KeepAspectRatio).mask());
我在这里找到了第二种方法的信息:Adding image to QPushButton on Qt
方法二的代码:
ui->setupUi(this);
QIcon icon(":/svg/resources/menu.svg");
ui->menuButton->setIcon(icon);
有人可以帮我弄清楚为什么我的图片没有显示并且按钮只是空的吗?
【问题讨论】:
-
您是否检查过资源是否正确加载——第一个示例为pix.isNull(),第二个示例为icon.isNull()。另请注意,在您提供的第一个示例中,您使用缩放像素图中的 alpha 掩码来设置
QPushButton的形状——而不是设置像素图本身。 -
我查过了,它是一个空像素图...
-
当我尝试使用图标而不是像素图时,它不会显示为 null。但我仍然得到相同的结果。
标签: c++ qt qpushbutton