初次使用QT遇到的問題及解決

初次使用QT遇到的問題及解決

近期要實現一個攝像頭相機畸變矯正的小工具,GUI界面通過VS2017+QT5.12.3實現。
QT安裝教程有很多,儘量用離線安裝包,在線安裝的話,很容易漏掉一些包裝不全。
VS配置QT環境請移步:https://www.jianshu.com/p/3fea9b7b111c

小白會遇到很多問題:

  • 選擇創建何種項目? 因爲暫時開發windows程序,Qt Creator下創建第一個GUI項目:Application -> Qt Widgets Application在這裏插入圖片描述
  • 名稱,路徑在這裏插入圖片描述
  • 合適的編譯環境,這裏用MSVC2017 32bit,因爲要在VS2017上開發,MSVC2017環境是最合適的。
  • 在這裏插入圖片描述
  • 創建基本文件在這裏插入圖片描述
  • 文件結構如下:在這裏插入圖片描述
  • mianwindow.ui 文件友Qt Designer 設計而成,並且編譯時會轉換爲ui_mainwindow.h文件,裏面包含設計好的各種控件的對象及其屬性信息,如QLabel *label_3;
  • mainwindow.cpp中已經 #include “ui_mainwindow.h”。mainwindow.h中主類MainWindow繼承QMainWindow框架,並聲明私有對象,Ui::MainWindow *ui; 因此可以在mainwindow.cpp用ui對象調用控件,如獲取label的內容:ui->label->text();
  • main.cpp主函數可設置窗口大小、標題等…
int main(int argc, char *argv[])
{
   QApplication app(argc, argv);

   MainWindow w;

   w.resize(800,600); // 調整窗口小部件的大小
   w.setWindowTitle("Camera Calibration Tool");
   w.show();
   return app.exec();  //exec()方法是應用程序的主循環。
}
//mainwindow.h
namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
};
//mainwindow.cpp
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    ui->label_4->setText("");
    ui->label_5->setText("");
    ui->label_6->setText("");
    // 創建一個新的QPushButton。
    // 手動調整它的大小並使用setGeometry()方法將它放在窗口上。

    //退出button
    QPushButton *quitBtn = new QPushButton("Quit", this);
    quitBtn->setGeometry(100, 200, 75, 30);

    connect(quitBtn, &QPushButton::clicked, qApp, &QApplication::quit);
}

在VS下開發目錄結構等的類似,需創建Qt Gui Application項目

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章