未分类

QT笔记

最近终于入了QT的坑,来记录一下最近遇到的一些问题。

安装的坑

安装时建议使用:

.\qt-unified-windows-x64-4.5.2-online.exe --mirror https://mirrors.cloud.tencent.com/qt/

更换为国内源,以提升速度。

如果没找到自己想要的版本,点击右边的Archive

QT的界面逻辑

QT和MFC、Duilib的整个封装相当完善:线程、网络、甚至硬件(蓝牙)都被封装进了QT,大有一种“write once,run everywhere”的意思。

消息机制大有不同,依靠的是信号和槽,写代码时,能不止局限于处理QT定义的信号,更多的时候可以自己去写信号进行处理。而且信号与槽在编码时可以传递参数,能很方便的把后台的处理结果返回给界面。

在刚开始用QT时还不是很习惯,这里需要记住一个要点:虽然QT看上去前后端界面、逻辑不分家,但是不要让后端的代码影响界面,在后端处理时,需要更新界面的时候,一定要用发送消息的方式、不要直接在后端处理数据的地方操作界面

信号与槽的连接:

    connect(this, &lidarCalib::goBack, this, &lidarCalib::onBackwardClicked);// 普通方式
    connect(this, &lidarCalib::setPwrStepStart, this, 
        [this](int value) {ui.inputPwrStepStart->setText(QString::number(value));
    });// lamda表达式方式


其中一个坑,这里要勾选从父级继承

留言

您的电子邮箱地址不会被公开。 必填项已用*标注