文档章节

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

天蚕宝衣
 天蚕宝衣
发布于 2017/03/19 17:40
字数 684
阅读 111
收藏 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

共有 人打赏支持
上一篇: 磁化强度
天蚕宝衣
粉丝 24
博文 240
码字总数 179371
作品 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.7K
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 白掌柜说了卖货不卖身

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @爱漫爱 :这是一场修行分享羽肿的单曲《Moony》 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :开不开心? 开心呀, 我又不爱睡懒觉…...

小小编辑
今天
7
0
大数据教程(11.7)hadoop2.9.1平台上仓库工具hive1.2.2搭建

上一篇文章介绍了hive2.3.4的搭建,然而这个版本已经不能稳定的支持mapreduce程序。本篇博主将分享hive1.2.2工具搭建全过程。先说明:本节就直接在上一节的hadoop环境中搭建了! 一、下载apa...

em_aaron
今天
2
0
开始看《JSP&Servlet学习笔记》

1:WEB应用简介。其中1.2.1对Web容器的工作流程写得不错 2:编写Servlet。搞清楚了Java的Web目录结构,以及Web.xml的一些配置作用。特别是讲了@WebServlet标签 3:请求与响应。更细致的讲了从...

max佩恩
今天
4
0
mysql分区功能详细介绍,以及实例

一,什么是数据库分区 前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可...

吴伟祥
今天
3
0
SQL语句查询

1.1 排序 通过order by语句,可以将查询出的结果进行排序。放置在select语句的最后。 格式: SELECT * FROM 表名 ORDER BY 排序字段ASC|DESC; ASC 升序 (默认) DESC 降序 1.查询所有商品信息,...

stars永恒
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部