以Dialog為例(MainWindow同理)
Ubuntu+CLion+gcc
1.在External tools里打開UIDesigner,即先前設置好的QtDesigner
2.新建一個Form,選擇為底部帶有botton的Dialog
3.然后自行布局,保存到工程的某個文件夾下(例如ui文件夾下的dialog.ui)
4.選中dialog.ui文件,在external tools里運行UIC,即先前設置好的uic,將ui文件轉化為.h文件(這里轉化后的文件名直接默認為Ui_dialog.h)
注意到.h文件的末尾是:
namespace Ui {
class Dialog: public Ui_Dialog {};
} // namespace Ui
這個命名空間Ui和類Dialog就是等會我們要在MainDialog類的頭文件中先聲明的,這里不要弄錯
5.創(chuàng)建一個C++類MainDialog(將于界面相關的東西都放在ui文件夾中)
.h:
#ifndef INDOORROAD_MAINDIALOG_H
#define INDOORROAD_MAINDIALOG_H
#include <QtWidgets/QDialog>
namespace Ui{
class Dialog;
}
class MainDialog :public QDialog{
public:
explicit MainDialog(QWidget* parent=0);
~MainDialog();
private:
Ui::Dialog *ui;
};
.cpp:
#include "MainDialog.h"
#include "Ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent):
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
}
6.設置程序入口
Main.cpp
#include "ui/MainDialog.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainDialog d;
d.show();
return a.exec();
}
- CMAKELIST中的相應設置:
cmake_minimum_required(VERSION 3.8)
project(proName)
set(CMAKE_CXX_STANDARD 11)
find_package(Qt5 REQUIRED COMPONENTS Core Gui OpenGL)
set(SOURCE_FILES main.cpp ui/MainWindow.cpp ui/MainWindow.h ui/Ui_mainwindow.h)
add_executable(proName ${SOURCE_FILES})
target_link_libraries(proName Qt5::Core Qt5::Gui)
然后就可以運行了