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格式学习笔 ...
随机推荐
- git 删除远程分支文件夹
把不需要版本控制的文件提交到远程分支上后,需要删除远程分支上的文件,用以下操作即可: git rm -r –cached dirname //删除远程文件夹,但保留本地文件夹 git commit - ...
- Python代码注释应该怎么写?
https://zhuanlan.zhihu.com/p/22663276?refer=passer http://zh-google-styleguide.readthedocs.io/en/lat ...
- asp.net mvc 微信公众号token验证
本人的公众号要申请成为开发者,必须经过token认证.微信公众号的官方代码只列出了PHP代码的实例,明显是歧视.net用户.我用的asp.net mvc中的web api,结果调了好久都没有成功,最后 ...
- android开发学习笔记系列(6)--代码规范
在开发android的时候,我对自己写的代码很是不满,原因在于自己看到别人的代码,很是头痛,原因很简单,别人写的代码,我就要去猜他的意思,极其烦恼,嗯,就是他没有遵循代码规范,因此我在博客园上寻找一篇 ...
- 没有什么,开发ASP.NET时随便写写,想到什么写什么
没有什么,开发ASP.NET时随便写写,想到什么写什么,这次想写点开发过程中,比如在数据库,某一张表中有一个字段,如下: 上面代码示例中高亮字段,数据类型为BIT,它存储的值将为"True& ...
- Java基础——TreeSet
TreeSet是SortedSet接口的实现类,Sorted的英文意思是分类的:选择的. TreeSet可以确保集合元素处于排序状态.与HashSet集合相比,TreeSet还提供了如下几个额外方法: ...
- JdbcTemplate完全学习
概述 Spring JDBC抽象框架core包提供了JDBC模板类,其中JdbcTemplate是core包的核心类,所以其他模板类都是基于它封装完成的,JDBC模板类是第一种工作模式. JdbcTe ...
- java中那些类是线程安全的?
Java中各种集合(字符串类)的线程安全性!!! 一.概念: 线程安全:就是当多线程访问时,采用了加锁的机制:即当一个线程访问该类的某个数据时,会对这个数据进行保护,其他线程不能对其访问,直到该线程读 ...
- Dubbox分布式框架
一:简介:前身是阿里巴巴的一个开源的项目,后来停止维护,由当当网继续维护,它致力于rpc远程的调度方案.是一个服务框架 二:执行原理图: 节点角色说明: · Provider: 暴露服务的服务提供方. ...
- 关于项目管理工具 maven
众所周知,maven是目前很常用的项目管理工具.一般情况下,通过在pom.xml添加相应内容,再maven-->update就会自动把相应的jar包下载.配置好,非常方便. 一般每新建一个wor ...