VS2022部署qt

  1. 下载qt扩展

    image-20211219162125329

  1. 配置qt扩展

    image-20211219162216887

  1. 创建新项目 Qt Widgets Application

    image-20211219162436178

  1. 项目命名并选择要添加的模块,例如串口模块

    image-20211219162647912

    image-20211219162846859

  1. 确认类名和继承关系

    image-20211219163116234

  1. 创建成功

    image-20211219163655483

  1. 其他配置

    • ui文件无法正常打开:右键ui文件,打开方式,添加,手动选择designer路径,设为默认值

      image-20211219164140406

    • 输出显示很多加载,卸载,线程退出:工具,选项,调试,输出窗口,关闭相应输出

      image-20211219164634025

    • 调试显示自动窗口等:先调试运行,调试,窗口,选择对应

      image-20211219165046852

    • ui与实际生成窗口大小不一:在main函数中添加

      if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0))
          QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);

      image-20211219165447530

    • 添加调用资源文件

      • 添加:vs内qt项目自带qrc,所以创建一个images文件夹,直接在designer内添加文件即可img

      • 调用:

        this->setWindowIcon(":/前缀/图片路径")

        img

  2. 信号和槽

    • 两种连接方式

      connect(ui.pushButton,&QPushButton::clicked,this,&QtWidgetsApplication1_2022::print1);
      connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(print1()));

      img

      都需要在h文件中给出声明,cpp文件中给出定义

      img

    • lambda表达式

      1. 适合复用性低,不需要函数封装,直接调用的逻辑

        connect(ui.pushButton_2, &QPushButton::clicked, this, [=]() {
        
            for (int i = 0; i < 100; i++) {
                qDebug() << i;
            }
        
        });

        img

      2. ()内可接受参数,接收带参数信号里的参数

        signals:
            void SendDataArray(QVector<QVector<QPointF>> data_1_2);
        connect(GetDataThread, &GetData::SendDataArray, this, [=](QVector<QVector<QPointF>> Data_1_2) {
            ....
        }

转自:https://www.dianjilingqu.com/

posted @ 2022-04-12 10:03  元宇宙-Metaverse  阅读(858)  评论(0编辑  收藏  举报