Qt Gui 第一章~第二章
一、Qt启动
qmake -project; 创建xxx.pro
qmake xxx.pro; 生成makefile文件
make;构建该程序,生成可执行文件
运行程序:windows:xxx;mac:open xxx.app
二、Qt特性
1、支持html文本的label;
2、使用信号SIGNAL和槽SLOT;用了这两个的类都要继承QObject、在类的开头添加Q_OBJECT、signals里面的函数不用实现;SLOT函数的参数SIGNAL要一一对应,SIGNAL函数的参数个数可以比SLOT多,但是不能少;使用信号和槽连接用QObject::connect(); 连接的有:多个信号单个槽、单个信号多个槽、信号连接信号;如果不连接了可以用disconnect断开连接;手动发射信号通过emit关键字:emit signals_func(param1, param2...);
3、UI文件;uic命令可以将xxx.ui文件生成对应的.h文件(mac 环境):uic gotocelldialog.ui -o ui_gotocelldialog.h 自动生成了对应的.h文件;当使用了对应的ui文件,则需要在构造函数添加对应的函数:setupUi(this); 并且继承ui_gotocelldialog.h 中对应的类,一般是namespace Ui 中的那个类,即:Ui::GotoCelldialog
下面是Ui文件生成时的另一个特性

4、UI文件;直接载入的方式;在qt4中,pro文件要添加CONFIG+=uitools,qt5则添加QT+=uitools;
//Qt4的头文件
//#include<QtUiTools/QUiLoader> //qt5的头文件
#include <QtUiTools> QUiLoader uiLoader;
QFile file("sortdialog.ui");
QWidget* sortDialog = uiLoader.load(&file);
文件载入方式可以不用修改代码地更新界面等;但是需要逻辑比较复杂的则比较难以实现
三、点滴知识
triggered()和toggled(bool)的区别:triggered是指被触发了的事件,比如按钮被点击了(pushdown和pushup,并不只是其中之一),总之一点就是本身固有特性被触发了; toggled则是有开关的意思;比如check按钮选中或者不选中;
moc工具生成了Q_OBJECT要求QObject子类要实现的一些函数:metaObject(),tr(),qt_metacall(); 具体可以看文件列表中多生成的moc_predefs.h和moc_xxx.cpp;
问题及解决:
1、qt4的pro用qt5编译时显示:WARNING: TARGET is empty; 解决方案:在pro文件中添加:TARGET = sort1;指定要编译成的目标文件名
Qt Gui 第一章~第二章的更多相关文章
- 《细说PHP》第四版 样章 第二章 PHP的应用与发展 1
<细说PHP>第四版 样章 第二章 PHP的应用与发展 1 学习任何编程语言之前,先了解一下它的应用与发展是很有必要的.从Web开发的历史看来,PHP.Python和Ruby几乎是同时出现 ...
- CSS3秘笈复习:第一章&第二章&第三章
第一章: 1.<cite>标签不仅可以将网页设置为斜体,还能给标题做上标记,使它便于被搜索引擎搜索到. 第二章: 1.import指令链接样式表: CSS本身有一种添加外部样式的方法:@i ...
- Practical Vim 第一章 & 第二章
第一章:Vim 解决问题的方式 前言 本质上讲,我们的工作是重复性的.凡是可以简化重复性操作的方式,都会成倍地节省我们的时间. Vim 对重复性操作进行了优化.它之所以能高效地重复,是因为它会记录我们 ...
- Linux第一章第二章学习笔记
第一章 Linux内核简介 1.1 Unix的历史 它是现存操作系统中最强大最优秀的系统. 设计简洁,在发布时提供原代码. 所有东西都被当做文件对待. Unix的内核和其他相关软件是用C语言编写而成的 ...
- Linux内核设计与实现 第一章 第二章
第一章 Linux内核简介 Unix特点: (1) Unix很简洁,仅仅提供几个几百个系统调用并且有一个非常明确的设计目的 (2) 在Unix中,所有的东西都被当作文件对待,通过一套相 ...
- 通过游戏学python 3.6 第一季 第二章 实例项目 猜数字游戏--核心代码--猜测次数 可复制直接使用 娱乐 可封装 函数
猜数字游戏--核心代码--猜测次数 #猜数字--核心代码--猜测次数 number=33 amount=3 count=0 while count<=amount: conversion ...
- progit 学习笔记-- 1 第一章 第二章
* 1 起步** 关于版本控制*** 什么是版本控制?记录文件变化,查阅特定版本,回溯到之前的状态.任何类型的文件进行版本控制.复制整个目录 加上备份时间 简单 混淆 无法恢复本地版本控制 数据库记 ...
- Java入门 第一季第二章 变量和常量
这是我学习慕课网Java课程的笔记.原视频链接为:http://www.imooc.com/learn/85 2-1 Java中的keyword PS:Javakeyword区分大写和小写 2-2 认 ...
- 《Linux内核设计与实现》课本第一章&第二章学习笔记
<Linux内核设计与实现>课本学习笔记 By20135203齐岳 一.Linux内核简介 Unix内核的特点 Unix很简洁,所提供的系统调用都有很明确的设计目的. Unix中一切皆文件 ...
随机推荐
- NServiceBus 入门到精通(一)
什么是NServiceBus?NServiceBus 是一个用于构建企业级 .NET系统的开源通讯框架.它在消息发布/订阅支持.工作流集成和高度可扩展性等方面表现优异,因此是很多分布式系统基础平台的理 ...
- MySQL必知必会--汇 总 数 据
聚集函数 我们经常需要汇总数据而不用把它们实际检索出来,为此MySQL提 供了专门的函数.使用这些函数,MySQL查询可用于检索数据,以便分 析和报表生成.这种类型的检索例子有以下几种. 确定表中行数 ...
- gitlab被屏蔽问题
There was an error with the reCAPTCHA. Please solve the reCAPTCHA again. 解决办法 俗话说:哪里有碍事的墙,哪里就使劲推好了 h ...
- Bootstrap 手机屏幕自适应的响应式布局开关
head中添加 <meta name="viewport" content="width=device-width, initial-scale=1, shrink ...
- Git 的 .gitignore 配置说明 (C#)
1.配置语法: 以斜杠“/”开头表示目录: 以星号“*”通配多个字符: 以问号“?”通配单个字符 以方括号“[]”包含单个字符的匹配列表: 以叹号“!”表示不忽略(跟踪)匹配到的文件或目录: 此外,g ...
- Spring boot2.0学习笔记(一)
学习环境: jdk1.8 (Spring Boot 推荐jdk1.8及以上): java version "1.8.0_241" Maven 3.x (maven 3.2 以上版本 ...
- P1339 [USACO09OCT]热浪Heat Wave(SPFA)
-------------------------------------- 农夫约翰再显神威,双向热浪,双倍数组 (双倍大小,否则RE) ------------------------------ ...
- Django---Django连接Mysql数据库
前面介绍了Django平台的数据交互,这些数据都是在本地存放着,修改内容或者重新启动服务,数据就消失了,如果我们把数据存放在数据库中,不就保存了吗? Django数据库 Django中自带的也有数据库 ...
- pycharm-1
Python 1.4解释器(运行文件) 1.5注释:#单行,ctrl+/ 多行注释 ””” ””” 2.1变量 assert,except:lambda; nonlocal; 2.2数据类 ...
- 用友UAP NC 开发环境抛出"JDK默认编辑器找不到"
此节点是升级65之前开发的,已经很久不使用,今天在开发环境使用,点查询抛出此异常. 最后问了人解决方法,就是往JRE系统库加入对应的jar包