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

上一次布局好之后做了小小的改动,就是在左边放按钮的上面添加了一个放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对象用来存放图标

[cpp] view plain copy

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

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

[cpp] view plain copy

  1. button_movie->setIcon(button_ico);  

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

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

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

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

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

[cpp] view plain copy

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

效果就是这样的:(下面图案边框可以去掉,button_movie ->setFlat(ture)            http://jingyan.baidu.com/article/cd4c29791c3e16756f6e6043.html)

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

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

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

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

[cpp] view plain copy

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

右边图片的添加方法和这个logo是一样的。

转载于:https://my.oschina.net/wangsifangyuan/blog/862589