QT的初步学习笔记
1、Qt是什么:图形用户界面程序框架
能做界面的还有什么:MFC、GTK+
2、Qt的由来和发展
3、为什么选择Qt
1、工具
是开发的必备:工具,在终端可以使用assistant开启。
b、构建器:负责把一个目录下的源码文件、头文件构建成一个Qt工程,并且自动生成Makefile文件。
c、Qt设计器:以画图的方式来进行设计界面,设计出的界面是没有功能的,如果需要完成相应的功能,还要与代码结合(界面文件可以转换成源码)。
d、Qt界面界面编译器:负责把以.ui结尾的界面文件,生成对应的代码。
e、Qt创造器:(Qt creator 集成开发环境:集合了编辑器、助手、构建器、设计器、编译器)
Qt框架的头文件存储在/usr/include/qt4,一般以Qt开头结尾无.h。
Qt框架中的共享库存在在/usr/lib/qt4/imports目录中,一般以libQt开头。
、编写源码
a、创建目录,每个Qt工程都要有一个单独的目录
b、编写入口
// 创建应用程序对象
QApplication app(argc,argv);
// 创建标签对象,此控件专门用来显示文字。
QLabel lab("hello world");
// 显示标签,几乎所有的控件默认都是隐藏的。
lab.show();
// 把程序的运算交给Qt(监控事件、等待用户操作)
return app.exec();
、生成工程文件
qmake -project -> 目录名.pro
此文件可以被Qt创造器打开。
、生成Makefile文件
qmake -> Makefile
、编译
Qt程序在编译时语法检查非法严格,错误信息也很多。
2、头文件,注意使用此控件时要包含什么头文件,一般情况下是类名。
3、Properties:具有保护属性的成员变量。
4、Public Functions:具有公开属性的成员函数,部分功能函数可能在父类中,当需要的成员函数找不到时,可以去父类中再看看。
5、Reimplemented Public Functions:可以重写的成员函数。
6、Public Slots:具有公开属性的槽函数,首先它具有某些功能的成员,但它可以与信号绑定,不光可以被信号调用,也可以被直接调用。
7、Signals:它们是以函数形式存在的,但它们并不实现出来,可以用emit显示的触发。
8、Reimplemented Protected Functions:可以重写的具有保护属性的成员函数。
9、Detailed Description:类的使用注意事项。
10、其它:静态成员、静态成员函数、相关的宏。
中国大陆:GBK2312(windows下常用的字符编码,每个汉字2字节)。
港台地区:BIG5
UTF-2: 双字节统一字符集。
UTF-4: 四字节统一字符集。
UTF-8: 用一到四字节表示一个Unicode字符
UTF-16: 用二到四字节表示一个Unicode字符
UTF-32: 用四字节表示一个Unicode字符
内部编码:Qt应用程序中所有的控件默认使用的是UTF-16编码。
外部编码:操作系统所使用的编码(ubntu默认使用的是UTF-8编码)。
Qt4.8默认的是UTF-16编码,因此必须手动设置后才能正确显示中文。
Qt5.0之后默认的是UTF-8编码。
QTextCodec* code = QTextCodec::codecForName("ut f-8");
QTextCodec::setCodecForTr(code);
QTextCodec::setCodecForLocale(code);
QTextCodec::setCodecForCStrings(code);
注意:当出现灵异错误时,可以把Qt所有生成的文件删除,再重新构建工程。
槽: 是一种特殊的函数,如果不配合信号,可以当作普通函数使用。
connect(负责发送信号的对象指针
信号函数签名:SIGNAL(函数名及参数)
接收信号的对象指针:
槽函数的函数名签名:SLOT(函数名及参数)
)
2、自定义的类必须要继承QObject类
3、在类的开头必须要有宏:Q_OBJECT
4、定义信号时要加关键字,信号以函数形式存在,但不需要实现。
signals:
5、定义槽函数时要加public slots:关键字,可以显示调用,也可以与信号连接,由信号触发调用。
6、信号由关键字emit 触发,可以带参数也可以不带。
如果想让信号给槽发送数据,它们的参数格式必须一样。
组成窗口界面的小工具叫控件,QLabel,QTextEdit,QPushButton。
QMainwindow:主窗口容器,由标题栏、菜单栏、工具栏、状态栏组成。
用户名、密码使用,QLineEdit,setEchoMode
QT的初步学习笔记的更多相关文章
- (转)Qt Model/View 学习笔记 (七)——Delegate类
Qt Model/View 学习笔记 (七) Delegate 类 概念 与MVC模式不同,model/view结构没有用于与用户交互的完全独立的组件.一般来讲, view负责把数据展示 给用户,也 ...
- (转)Qt Model/View 学习笔记 (五)——View 类
Qt Model/View 学习笔记 (五) View 类 概念 在model/view架构中,view从model中获得数据项然后显示给用户.数据显示的方式不必与model提供的表示方式相同,可以与 ...
- Android NDK开发及OpenCV初步学习笔记
https://www.jianshu.com/p/c29bb20908da Android NDK开发及OpenCV初步学习笔记 Super_圣代 关注 2017.08.19 00:55* 字数 6 ...
- 工厂方法FactoryMethod 初步学习笔记
一,意图 定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使一个类的实例化延迟到其子类. 二,别名 虚构造器 Virtual Constructor 三,适用性 当一个类不知道它 ...
- A.Kaw矩阵代数初步学习笔记 10. Eigenvalues and Eigenvectors
“矩阵代数初步”(Introduction to MATRIX ALGEBRA)课程由Prof. A.K.Kaw(University of South Florida)设计并讲授. PDF格式学习笔 ...
- A.Kaw矩阵代数初步学习笔记 9. Adequacy of Solutions
“矩阵代数初步”(Introduction to MATRIX ALGEBRA)课程由Prof. A.K.Kaw(University of South Florida)设计并讲授. PDF格式学习笔 ...
- A.Kaw矩阵代数初步学习笔记 8. Gauss-Seidel Method
“矩阵代数初步”(Introduction to MATRIX ALGEBRA)课程由Prof. A.K.Kaw(University of South Florida)设计并讲授. PDF格式学习笔 ...
- A.Kaw矩阵代数初步学习笔记 7. LU Decomposition
“矩阵代数初步”(Introduction to MATRIX ALGEBRA)课程由Prof. A.K.Kaw(University of South Florida)设计并讲授. PDF格式学习笔 ...
- A.Kaw矩阵代数初步学习笔记 6. Gaussian Elimination
“矩阵代数初步”(Introduction to MATRIX ALGEBRA)课程由Prof. A.K.Kaw(University of South Florida)设计并讲授. PDF格式学习笔 ...
随机推荐
- 【转载】CentOS中crontab定时计划任务的使用
转载自:http://blog.csdn.net/testcs_dn/article/details/48780971 概述 利用“任务计划”,可以将任何脚本.程序或文档安排在某个最方便的时间运行.通 ...
- Chapter 2 Open Book——13
"People in this town," he muttered. "Dr. Cullen is a brilliant surgeon who could prob ...
- 对html中iframe的研究
虽然平时不怎么用iframe,但经常在网上听一些前辈说iframe怎样怎样,今天索性对iframe来个大研究,那样就不必去记那些条条框框了,自己体验一遍比看什么都好. 创建两个文件一个index.ht ...
- dhcp服务器(一)
DHCP服务概述: 名称:DHCP -Dynamic Host Configuration Protocol动态主机配置协议. 功能:DHCP(Dynamic Host Configuration P ...
- 【IT笔试面试题整理】链表
如何准备 Linked list questions are extremely common These can range from simple (delete a node ina linke ...
- 手机App安全性测试初探
目前手机App测试还是以发现bug为主,主要测试流程就是服务器接口测试,客户端功能性覆盖,以及自动化配合的性能,适配,压测等,对于App安全性测试貌似没有系统全面统一的标准和流程,其实安全性bug也可 ...
- Deep learning with Python 学习笔记(2)
本节介绍基于Keras的CNN 卷积神经网络接收形状为 (image_height, image_width, image_channels)的输入张量(不包括批量维度),宽度和高度两个维度的尺寸通常 ...
- AngularJS学习笔记(一)走近AngularJS
什么是AngularJS AngularJS是一款优秀的前端JS框架,是Google多款产品之一,简称ng. ng有着诸多特性,最为核心的是:MVVM.模块化.自动化双向数据绑定.语义化标签.依赖注入 ...
- Shiro眼皮下玩ajax,玩出302 Found
2017/06/14这一天,是我玩Shiro安全框架最刻骨铭心的一天.因为Shiro今天给我深深的补了一刀,在这儿我也给各位补一刀吧,其实问题很简单,解决方式也极其简单,只是给各位分享一下这个错误,纯 ...
- Java - Iterator源码解析
java提高篇(三十)-----Iterator 迭代其实我们可以简单地理解为遍历,是一个标准化遍历各类容器里面的所有对象的方法类,它是一个很典型的设计模式.Iterator模式是用于遍历集合类的标准 ...