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/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM