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格式学习笔 ...
随机推荐
- JavaScript中十种一步拷贝数组的方法
JavaScript中我们经常会遇到拷贝数组的场景,但是都有哪些方式能够来实现呢,我们不妨来梳理一下. 1.扩展运算符(浅拷贝) 自从ES6出现以来,这已经成为最流行的方法.它是一个很简单的语法,但是 ...
- Linux-(telnet,wget)
telnet命令 telnet命令通常用来远程登录.telnet程序是基于TELNET协议的远程登录客户端程序.Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和 ...
- shell脚本案例分享 - 业务系统日志自定义保留或删除需求
需求说明: 线上某些业务系统的日志不定期产生, 有的每天产生, 有的好几天才产生, 因为系统只有在用的时候才产生日志,日志文件均存放在以当天日期命名的目录下. 当日志目录越来越多时就需要处理, 由此 ...
- asp.net mvc 微信公众号token验证
本人的公众号要申请成为开发者,必须经过token认证.微信公众号的官方代码只列出了PHP代码的实例,明显是歧视.net用户.我用的asp.net mvc中的web api,结果调了好久都没有成功,最后 ...
- POJ 1730 Perfect Pth Powers(暴力枚举)
题目链接: https://cn.vjudge.net/problem/POJ-1730 题目描述: We say that x is a perfect square if, for some in ...
- 嵌入式Linux安装Dropbear SSH server
0. 背景 OpenSSH因为其相对较大,一般不太适用于嵌入式平台,多用于PC或者服务器的Linux版本中. Dropbear是一个相对较小的SSH服务器和客户端.它运行在一个基于POSIX的各种平台 ...
- 并发编程之 CyclicBarrier 源码分析
前言 在之前的介绍 CountDownLatch 的文章中,CountDown 可以实现多个线程协调,在所有指定线程完成后,主线程才执行任务. 但是,CountDownLatch 有个缺陷,这点 JD ...
- .Net Core使用Socket与树莓派进行通信
前言 去年买的树莓派一直放在抽屉里吃灰,前些阵子Debian 9发布,也不出意外的支持了树莓派. 于是重新拿出读卡器又重新了装上了Debian桌面版系统. 介绍 现在这个东西目前的程度只是了解一下Py ...
- Vue之组件使用(二)
补充一下:之前没提到,这里是一个父子组件通信的方法 如果想要使同一个组件实现不同的效果,那么可以这样做. 把需要封装的组件模板写在template中 <template id="cou ...
- 设计模式之单例模式(Singleton)(1)
单例模式是一种比较简单的设计模式,简单来说,就是确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例. 单例模式特点: 1)单例类只能有一个实例. 2)单例类必须自己创建自己的唯一实例. 3 ...