IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Qt 学习笔记

    Kingfish404发表于 2020-06-13 00:00:00
    love 0

    Qt中的.ui文件

    Qt开发中,既可以手动通过代码的方式构建Qt桌面应用,也可以通过图形化窗口拖放设计界面,而后者主要通过.ui文件来实现。

    Qt在编译时,会自动检测项目中的.ui文件,并对其转换成源代码文件,一般情况下,C++开发环境下的widgets.ui文件会被转换成ui_widgets.h和ui_widgets.cpp,这两个文件可以直接编译成我们需要的应用,默认情况下不会直接编译这两个文件,而是将其包含进我们自己写的类文件里面,通过指针的方式,实现两个类(.ui文件自动生成的类和我们自己编写的类)组合成一个完整的类,最终编译成一个完整的应用。

    Qt中的信号响应:

    Qt使用信号(SIGNAL)与槽(SLOT)来建立事件的响应机制。因为有了信号(SIGNAL)与槽(SLOT)的编程机制,在 Qt 中处理界面各个组件的交互操作时变得更加直观和简单。信号就是在特定情况下被发射的事件,槽就是对信号响应的函数。信号(SIGNAL)与槽(SLOT)关联是用 QObject::connect() 函数实现的,其基本格式是:

    QObject::connect(sender, SIGNAL(signal()), receiver, SLOT(slot()));
    

    通过上述函数就可以将signal()函数与slot函数相关联,这里要注意的是slot函数在类定义时需要在函数修饰符后加入slots标记。如private slots:。通过上述connect函数就可以实现当signal()函数被调用时,slot()收到响应并执行。

    Qt GUI项目下隐藏控制台

    Qt的GUI项目在windows平台下运行时总是弹出控制台

    然后我想到了将以下命令加到CMakeLists.txt里面来实现隐藏控制台的效果

    IF (CMAKE_SYSTEM_NAME MATCHES "Windows")
        set( CMAKE_EXE_LINKER_FLAGS  -Wl,-subsystem,windows)
    ENDIF (CMAKE_SYSTEM_NAME MATCHES "Windows")
    

    Qt 杂谈

    Qt官方好像是为了更好的推广Qt,最新的5.15版本不在提供离线安装版本,必须去官网注册安装,不过源代码任然提供下载。

    我下载了Qt 5.15的源代码,不过不知道为什么,在win10 2004上使用Qt的minGW进行编译一直编译出错,在执行mingw32-make与mingw32-make install命令时总是出错。如果有成功编译的同学看到了,希望能在评论区留下教程。

    Qt 文档

    • 一个超级棒的中文Qt文档 http://c.biancheng.net/qt/
    • Qt官方文档 https://doc.qt.io/
    • Qt官方下载站 http://download.qt.io/
    • 清华Qt镜像站 https://mirrors.tuna.tsinghua.edu.cn/qt/


沪ICP备19023445号-2号
友情链接