Qt学习笔记

一、Qt简介

1、Qt是什么
    图形用户应用程序框架,是对底层应用编程接口进行面向对象的封装。
    是一套基于C++语言的类库,专注但不局限于用户界面的开发,也可以进行系统调用、网络通信、数据库、2D/3D的图像处理。
    特点:跨平台,支持Linux、windows、MacOS、iOS、android等系统。
2、为选择Qt
    基于C++语言,简单易用
    优良的跨平特性,个人计算机、工控、嵌入式的界面占用主导地位。

二、Qt环境与工具

1、工具
    Qt助手:Qt的参考手册,涉及Qt中的每个类,是学习Qt的必备手册,在终端可以使用assistant命令打开。
    Qt设计器:对于程序员来说是最纯粹的方式就使用代码来实现程序的图形界面,但这种方式费时费力,而使用Qt设计器可以以绘图的方式制作图形界面(所见即所得)。
    Qt界面编译器:负责把Qt设计器制作出的界面文件.ui 翻译成C++代码。
    Qt构造器:对源文件、头文件、界面文件进行解析生成项目脚本。
        qmake -project 根据当前目录下的文件生成项目脚本.pro
        qmake 根据项目脚本生成Makefile脚本
    Qt创造器:它是由Qt助手+Qt设计器+Qt界面编译器+Qt构造器+文本编辑器+C++编译器+Qt库组合而成的一个集成开发环境。
2、头文件和库
    Qt安装好之后会在/usr/include/目录下创建一个qt4目录,里面存储着Qt所有的头文件。
    共享库存储在/usr/lib/i386-linux-gnu/qt4目录下。
    静态库需要下载Qt源码进行手动编译。

三、第一个Qt程序

#include <QtGui/QApplication> Qt界面程序必备的头文件
#include <QLabel> 标签控件

int main(int argc,char* argv[])
{
    // 创建一个应用程序对象
    QApplication app(argc,argv);
    // 创建一个标签对象
    QLabel* lab = new QLabel;
    // 显示标签对象
    lab->show();
    // 运行应用程序
    return app.exec();
}
构建项目:
    qmake -project 生成pro脚本
    qmake 生成Makefile脚本
    make 编译项目

四、Qt创造器的使用方法

1、创建项目
    Qt控制项目 -> Qt Gui应用 -> 输入项目名称(不要有中文) -> 选择项目路径 -> 选择主界面 -> 完成。
2、编译运行项目
    点击绿色按钮,编译运行项目,编译运行之前要先保存代码。
    Ctrl+s+r 保存所有文件,再编译运行。
3、常用快捷键
    Alt+0 显示/隐藏侧边栏
    Ctrl+e 松开后按3 垂直分割当前窗口
    Ctrl+e 松开后按2 水平分割当前窗口
    Ctrl+e 松开后按1 删除当前的分割窗口
    Ctrl+e 松开后按0 删除所有的分割窗口
    Ctrl+b 编译项目
    Ctrl+s+b 保存所有文件后,再编译
    Ctrl+r 编译并运行
    Ctrl+s+r 保存所有文件,再编译运行
    Ctrl+/ 注释或取消注释
    Ctrl+i 把代码格式规范化
    Ctrl+Shift+r 批量修改变量名,按Enter确认
    Ctrl+f 搜索、替换代码
    Ctrl+单击 定义与声明之间的切换,Shift+f2具有同样的功能。
    Alt+u 大写转换成小写
    Alt+Shift+u 小写转换成大写
    F4 头文件与源文件之间的切换
    F1 打开该类的帮助手册

五、帮助手册

Inherits:该类继承了哪些父类
Public Types:访问属性是public的成员
Properties:访问属性是protected的成员
Public Functions:访问属性是public的成员函数
Public Slots:访问属性是public的槽函数,也可以当作普通的成员函数调用,主要用来与信号连接。
Signals:信号,可以与其它类的槽函数进行连接。
    注意:它不是函数,可以使用emit发送。
Static Public Member:访问属性是public的静态成员函数,这种函数与类对象无法,一般都用于管理对象的公共资源。
Protected Functions:访问属性是protected的成员函数
Macros:与本类相关的宏
Property Documentation:对本类的详细说明,使用方法,调用的上下文要注意的事项,有些类会有示例代码。

六、中文乱码

注意:Qt的4.8版默认的不是utf-8,所以可能会出现中文乱码。
1、导入字符编码头文件 QTextCodec
2、在main函数中
        // 创建一个字符编码对象
        QTextCodec* codec = QTextCodec::codecForName("utf-8");
        // 告诉Qt当前系统所使用的字符编码
        QTextCodec::setCodecForCStrings(codec);
        // 告诉Qt程序内部中所使用字符编码
        QTextCodec::setCodecForCStrings(codec);
        // 告诉Qt程序外部中所使用的字符编码
        QTextCodec::setCodecForTr(codec);

七、窗口容器

1、QMainWindow主窗口容器
成员有:标题栏,菜单栏,工具条,状态栏,中央显示区域。

2、QDialog 对话框容器
可以管理多个不同的交互式控制。

3、QWidget
是纯粹的窗口容器,只有一块显示区域,它是QMainWindwo和QDialog的父类。

常用的设置有:
    resize(w,h) 设置窗口的宽和高
    move(x,y) 设置窗口的位置
当容器对象创建完成后,把容器对象的地址给控件,控件就会显存容器上。

八、Qt中的字符串和数据输出

QString类 具备string类的所有功能
    字符串字面值也可以直接转换成QString
    QString也可以与string进行转换 toStdString。
    建议在Qt中使用QString而不是string和char*。

数据输出:
    是为了测试效果,打印提示信息、警告、错误等,这类数据不适合显示在界面上。
    C/C++中的printf/puts/cout可以继续使用。
    在Qt中建议使用qDebug,默认的使用方式与pritnf一样,添加QDebug头文件后,可以像cout一样使用。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值