文档章节

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

天蚕宝衣
 天蚕宝衣
发布于 2017/03/19 17:40
字数 684
阅读 84
收藏 0

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

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

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

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

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

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

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

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

/******

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

********/

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

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

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

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

但是发现无论是在将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)

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

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

[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是一样的。

本文转载自:http://blog.csdn.net/yansmile1/article/details/52910083

共有 人打赏支持
天蚕宝衣
粉丝 20
博文 239
码字总数 179054
作品 0
天津
Qt自定义控件的创建与初步使用

本篇博客的目的是简单介绍:创建一个用QLabel类来显示图片的自定义控件的编写。在写自定义控件的过程中遇到了很多的难题,但都慢慢解决了,本人对Qt自定义控件的认识还不深刻,做的不对的地方...

qq_15094525
2017/01/06
0
0
【Qt笔记】资源文件

Qt 资源系统是一个跨平台的资源机制,用于将程序运行时所需要的资源以二进制的形式存储于可执行文件内部。如果你的程序需要加载特定的资源(图标、文本翻译等),那么,将其放置在资源文件中...

大道无名
2016/07/29
10
0
《Genesis-3D游戏引擎系列教程-进阶篇》3:转动的球体

注:本系列进阶教程仅针对引擎编辑器:v1.2.2及以下版本 转动的球体 资源下载 工程文件 当我们掌握了一些Genesis-3D编辑器的操作技巧之后,现在来尝试着做一个非常简单的游戏,一个转动的球体...

Genesis-3D
2014/01/20
0
0
Qt使用教程之指定生成设置(二)

<Qt Enterprise最新版下载> 在指定生成设置(一)一文中,我们为大家介绍了编辑生成配置、启动外部进程、使用环境变量以及使用Qt Creator变量等内容。在本文中我们将继续为大家介绍如何生成步...

Miss_Hello_World
2015/11/12
0
0
QT工程中使用图片的三种方法

图片是一种资源,而在Qt中,对于资源的使用是有其独特的方式的! ①:一般来说:资源在内存中是用资源对象树来表示的,该树在程序启动时创建。 ②:而对于资源而言:我们都是需要先将其加入到...

晨曦之光
2012/04/13
5.6K
0

没有更多内容

加载失败,请刷新页面

加载更多

阿里开源的 java 诊断工具—— Arthas

Arthas 是 阿里巴巴最近开源出来的一个针对 java 的工具,主要是针对 java 的问题进行诊断! 一、概述 这个工具可以协助你做下面这些事情: 这个类是从哪个 jar 包加载而来的? 为什么会报各...

xiaomin0322
19分钟前
1
0
去除shell read 读取的最后一个字符

# 读取管道数据cat | while read line; do echo $line # 此时 line包含 \n or \r\ndone# 去除 read 读取的特殊字符line=${line%?} # 去除最后一个字符...

tigerBin
20分钟前
1
0
Qt之listView设置编辑状态

QListView默认是可以编辑的,可以用setEditTrigers设置QListView的条目是否可以编辑,以及如何进入编辑状态。比如: ui->listView->setEditTriggers(QAbstractItemView::DoubleClicked | QAb...

OceanStar
20分钟前
1
0
Linux批量替换

sed -i "s/http://cache.co188.com///image.co188.com/g" grep http:\/\/image.co188.com -rl . *.html sed -i "s/http://cache.co188.com///cache.co188.com/g" grep http:\/\/cache.co188.......

cpaku
30分钟前
1
0
设置plsql永久注册码

填写注册码: Product Code:4t46t6vydkvsxekkvf3fjnpzy5wbuhphqz serial Number:601769 password:xs374ca...

小橙子的曼曼
35分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部