欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Qt中为工程添加资源文件、给按钮添加图片

程序员文章站 2022-05-30 10:16:40
...

Qt中为工程添加资源文件、给按钮添加图片

  • 1.使用QIcon类。代码如下:
 QIcon icon;
 icon.addFile(tr("res/icon/wall.png"));
 ui->toolButton->setIcon(icon);
  • 2.使用QPixmap和QBitmap类。代码如下:
 QPixmap icon1(tr("res/icon/wall.png"));
 ui->toolButton->setIcon(icon1);
 ui->toolButton->setFixedSize(icon1.size());
  • 3.使用样式表。添加一个qrc文件到工程,添加要使用的图片,然后代码如下:
ui->toolButton->setStyleSheet(tr("background-image: url(:/icon/res/icon/wall.png);"));

这里需要注意相对路径的问题。将res文件夹放置在程序目录下,然后添加如下代码,设置工作路径到程序目录:

 QDir::setCurrent(QCoreApplication::applicationDirPath());

 

为工程添加资源文件、给按钮添加图片

 

下面转载自https://blog.csdn.net/yansmile1/article/details/52910083

上一次布局好之后做了小小的改动,就是在左边放按钮的上面添加了一个放logo的label(虽然还没有想好要放什么logo—— )

现在的布局就是这样子了:

Qt中为工程添加资源文件、给按钮添加图片

 

下面要做的是给按钮添加图标,还有在logo和右边的大label上放上初始的图片,这里就需要为工程添加资源文件了,步骤如下:

1、右击项目文件夹选择添加新文件——选择Qt——Qt resource file

 

Qt中为工程添加资源文件、给按钮添加图片

Qt中为工程添加资源文件、给按钮添加图片

 

2、填写好name后点下一步、完成,然后双击项目中生成的.qrc文件,点击添加,选择添加前缀

Qt中为工程添加资源文件、给按钮添加图片

2、添加好前缀之后就可以添加文件了,选择需要添加的文件,这里需要把需要添加的文件先放到项目目录下的一个文件夹下,添加好之后保存,就能在资源浏览器中看到了,也就能在代码中引用了。

Qt中为工程添加资源文件、给按钮添加图片

 

明天就可以把图标和logo添加上去了

————————————————————————————————————————

/******

这里有个小插曲,我发现一开始我的movie都写成了moive ,以为要一个个改感觉好麻烦,后来发现可以将光标移动到需要更改的变量上,按Ctrl + Shift + R,这样就能把项目中的这个变量名称一起改掉了

Qt中为工程添加资源文件、给按钮添加图片

 

*******/

回到正题——给按钮添加图标,一共分为以下几步:

1、申明一个QIcon对象用来存放图标

QIcon button_ico(":/new/icon/srcs/movieclicked.png");

 

2、按钮对象调用setIcon()函数把图片加载到button上

button_movie->setIcon(button_ico);

 

运行一下发现按钮的大小和图标的大小都感觉很别扭:

Qt中为工程添加资源文件、给按钮添加图片

我想最好能图标变大一点,然后按钮和图标一样大。

但是发现无论是在将button放到layout之前还是之后调用QPushButton的resize()函数都没有效果。

我想因为是放在layout里就算是resize后也会根据窗口的大小又自动改掉,所以就直接把按钮的最大最小值设置为一样就行了:

  1. QIcon button_ico(":/new/icon/srcs/movieclicked.png");

  2. button_movie = new QPushButton;

  3. button_movie->setMinimumSize(33,33);

  4. button_movie->setMaximumSize(33,33);

  5. button_movie->setIcon(button_ico);

  6. button_movie->setIconSize(QSize(28,28));

效果就是这样的:

Qt中为工程添加资源文件、给按钮添加图片

图标添加完了,接着就把logo和右边的label上添加上图片

Qt中为工程添加资源文件、给按钮添加图片

添加图片部分的代码如下:

  1. logo_label = new QLabel("LOGO"); //添加图片

  2. QImage *logo_img = new QImage(":/new/label/srcs/logo.png");

  3. QImage *scaled_logo_img = new QImage();

  4. *scaled_logo_img=logo_img->scaled(150,120,Qt::KeepAspectRatio);

  5. logo_label->setPixmap(QPixmap::fromImage(*scaled_logo_img));