QT

作者: 懒生活 | 来源:发表于2022-04-19 15:25 被阅读0次

vs2019下QT环境搭建

下载qt5.14 https://download.qt.io/archive/qt

其他高版本只能在线安装或者编译源安装了。
下载后安装,平台选着vs就好。不确定就全选。

在vs插件管理中下载并安装qt插件

安装插件重启vs后。注意在vs的配置选项中找到QT==>Version==>add new qt version. 指定需要的qt版本的qmake。

QT学习

教程 https://zetcode.com/gui/qt5

1 为什么需要QCoreApplication a(argc,argv)

qt的非控制台程序在创建的时候都会有

QCoreApplication a(argc,argv);
...
return a.exec();

的结构。
实际上不要这QCoreApplication a这个对象简单的程序也是可以运行的。QCoreApplication对象的存在,为程序引入了事件处理循环和一些遍历的静态函数。在这个循环里面我们的程序可以得到一些便利。比如可以利用静态函数applicationDirPath获取程序的当前运行路径。
比如还可以利用applicationVersion()获取程序的版本信息。程序版本信息可以在vs+qt的项目工程的Resource Files目录下添加version.rc实现。

2为什么定义Q_OBJECT 宏

当类中用到了qt自定义的关键字的时候,需要再类前面声明这个Q_OBJECT宏,否则编译器会报错。

3 QT new出的对象需要手动delete吗

’’’
MainWindow w;
QLabel *label = new QLabel("hello",&w);
QLabel *label1 = new QLabel("hello");
’’’
label 在new的时候指定了父对象w, w销毁的时候,他的所有子对象会自动销毁。所以不需要手动delete
没有指定父子关系的label1就需要手动删除了。

4 QT按键事件

按键事件会发给当前激活的窗口,每个继承与Qwidget的窗口,都绑定了keyPressEvent处理按键信号,如果需要该窗口对按键信号做特殊处理,需要重载这个函数。
类似的如窗口移动事件, 鼠标操作等事件都需要通过重载对应的slot函数。

取消slot与信号的关联

使用disconnect 取消signal和slot的关联
使用connect关联signal和slot。

如果一个信号连接了多个槽

槽的执行顺序和connect的编写顺序一致。

定时器的使用

startTimer(1000);这样的语句会让语句所在的窗口,没1000ms产生一个定时器事件。定时器事件的处理函数需要重载实现。starttimer函数会返回一个当前定时器的index。如果要删除该定时器通过killTimer(index)可以实现。
通过定时器事件e->timerId() 可以查到发送该定时器事件的定时器index。

检测qt程序的内存泄露工具

VLD https://blog.csdn.net/dyw/article/details/6860473

信号与槽之间的参数传递

传递是自动的要,要确保两点
1)当信号和槽函数参数数量相同的时候,他们参数类型要完全一致。
2)当信号的参数与槽参数数量不同的时候,必须保证信号的参数比较多。且前面相同数量的参数类型保持一致。信号中多余的参数会被槽忽略。

相关文章

  • Fedora19 如何安装QT

    sudo yum install qt qt-devel qt-x11 qt-doc qt-demos qt-ex...

  • Qt Designer使用技巧

    编译Qt Designer 安装Qt时,选择安装源码 用Qt Creator打开C:\Qt\Qt5.5.0\5.5...

  • Qt 安装环境

    Qt 安装 1.1 QT下载地址 http://download.qt.io/archive/qt/ 1.1.1 ...

  • QT5.9+MSVC2015+OPENCV4.0.0搭建

    1.资源准备 QT Qt所有版本http://download.qt.io/archive/qt/我下载了QT5....

  • Qt5学习地址

    Qt 学习之路 2(1):序(Qt 学习之路 2(1):序) Qt 学习之路 2(2):Qt 简介(Qt 学习之路...

  • QT

    vs2019下QT环境搭建 下载qt5.14 https://download.qt.io/archive/qt[...

  • Qt

    qt source http://download.qt.io/official_releases/qt/6.0/...

  • qt配置基于vs2019

    qt download:https://download.qt.io/archive/qt/[https://do...

  • QT下载归档目录

    https://download.qt.io/archive/qt/[https://download.qt.io...

  • All qt download link

    https://download.qt.io/archive/qt[https://download.qt.io/...

网友评论

      本文标题:QT

      本文链接:https://www.haomeiwen.com/subject/siisertx.html