一.簡介
MainWindow類提供一個有菜單條 工具欄 狀態條的主應用程序窗口
它是最常見的GUI主窗口形式,它由外到內依次是菜單欄 狀態欄 工具欄 停靠窗口 中心窗口
二.窗體框架
1.One.pro
#-------------------------------------------------
#
# Project created by QtCreator 2019-06-18T13:29:09
#
#-------------------------------------------------
# 表示項目加入core gui模塊,用於GUI設計的類庫模塊
QT += core gui
# 條件執行語句,當QT主版本大於4才加入widgets模塊
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
# 生成的目標可執行文件名稱
TARGET = One
# 項目使用的模板是app,一般應用程序
TEMPLATE = app
DEFINES += QT_DEPRECATED_WARNINGS
CONFIG += c++11
#QT會自動修改以下新增/刪除文件
SOURCES += \
main.cpp \
mainwindow.cpp
HEADERS += \
mainwindow.h
FORMS += \
mainwindow.ui
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
2.mainwindow.h
QWidget是所有用戶界面對象的基類,QMainWindow和QDialog都是QWidget的子類
QMainWindow類提供一個菜單條/工具條/狀態條的主應用程序窗口
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
3.mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
4.main.cpp
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
5.hellodialog.ui
可視化設計的窗體的定義文件,是一個XML文件
三.菜單欄 工具欄 狀態欄
// 創建菜單欄 QMenu* file = menuBar()->addMenu(tr("k5")); // 創建工具欄 QToolBar* toolBar = addToolBar(tr("k4"));

