转自:https://blog.youkuaiyun.com/qq_38313246/article/details/81866604
https://blog.youkuaiyun.com/weixin_44100850/article/details/90521859
一、使用QIcon类
QIcon icon;
icon.addFile(tr("res/icon/wall.png"));
ui->toolButton->setIcon(icon);
二、使用QPixmap和QBitmap类
QPixmap icon1(tr("res/icon/wall.png"));
ui->toolButton->setIcon(icon1);
ui->toolButton->setFixedSize(icon1.size());
三、将所需要用到的图片添加到资源文件里,然后给按钮添加图标
1、右击项目文件夹选择添加新文件——选择Qt——Qt resource file
2、填写好name后点下一步、完成,然后双击项目中生成的.qrc文件,点击添加,选择添加前缀
3、添加好前缀之后就可以添加文件了,选择需要添加的文件,这里需要把需要添加的文件先放到项目目录下的一个文件夹下,添加好之后保存,就能在资源浏览器中看到了,也就能在代码中引用了。
4、设置按钮图标代码如下:
QIcon icon_playButton(":/new/icon/res/bfzn_004.png");
m_playButton->setIcon(icon_playButton);
m_playButton->setIconSize(QSize(45,45));
m_playButton->setFlat(true); //设置图标按钮为透明
m_playButton->setStyleSheet("background-color:rgba(0,0,0,0)");
m_playButton->setFocusPolicy(Qt::NoFocus); //去除按钮按下时的阴影
注意:需要把按钮上面的文字去掉,要不然的话添加图标后会是左边图标,右边文字的效果
四、设置图标按钮为透明的几种方法
1)setFlat(true)
2)找到按钮属性里最下面的flag属性,勾选对话框(其实与1)一样的意思)
3)在按钮stylesheet属性里输入“background-color:transparent”或者“border:none”等
4)setStyleSheet(“background-color: rgba(0, 0, 0, 0)”);
或 setStyleSheet("background-color:transparent");