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

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中为工程添加资源文件、给按钮添加图片_第1张图片

 

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

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

 

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

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

 

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

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

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

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

 

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

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

/******

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

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

 

*******/

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

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

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

 

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

button_movie->setIcon(button_ico);

 

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

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

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

但是发现无论是在将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中为工程添加资源文件、给按钮添加图片_第8张图片

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

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

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

  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));

 

你可能感兴趣的:(学习,生活,qt,添加图片,qt添加图片)