QT学习_01

什么是静态库和动态库

    静态库:速度略快
        把静态库的内容和项目程序绑定在一起

    动态库:内存消耗小,更新程序时较麻烦
        可以和项目程序分离,程序通过指定路径来调用动态库

    linux系统下
        静态库文件:.a
        动态库文件:.so

    Windows系统下
        静态库文件:.lib
        动态库文件:.dll

    可以把代码文件编译成库文件供多个项目使用

debug和release

    debug:生产可调试的程序

    release:单纯生成可执行文件

    debug比release生成出来的程序更大


在QT中很少修改main.cpp文件


exec函数本质是一个死循环
在死循环过程中,可以接收事件

信号和槽

    connect函数有5个参数,第五个参数修改连接方式

    第五个参数的作用
        默认:根据情况自动判断调用直接连接或多线程连接
        直接:同一线程的信号和槽进行连接
        多线程:不同线程, 如果多线程在忙,会排队调用槽函数
        阻塞多线程:不能在同一个线程中调用,不然会死锁
        唯一连接:只会绑定一次信号和槽的连接
        可以和其他类型同时使用


    返回值是真或假

    两个对象之间的通信才可以使用connect函数

    信号只有声明没有定义

    发射信号使用emit关键字

    优点:
        简单安全
        信号和槽是松耦合的,发送者不需要知道接收者的信息
        信号和槽可以使用任意类型的任意数量的参数


setupUi(初始化部件)


Qt的线性容器

    QByteArray

QString比QByteArray多了编码的类型

    QByteArray可以直接转为QString
    QString想要转为QByteArray则需要选择编码


编码就是字符的二进制数据的表示方法

    ASCII:单字节编码
    无法表示中文

    GB GBK

    Unicode:国际的双字节编码
    UTF-8


时间处理

    a.exec();
    监控事件

mainwindows

    菜单栏
    工具栏
    状态栏

Qt多线程

    继承QThread开启新线程

        自定义一个新类继承QThread类
        重写run函数
        


    movetoThread开启多线程

        自己定义一个新类继承QObject
        自己写一个多线程函数,可以自己命名
        实例化一个新类对象和qthread对象
        调用movetothread,参数为qthread对象
        信号和槽连接:qthread的started信号
        qthread对象的start方法
        退出线程


优雅退出

    exit和wait联合使用

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值