一.簡介
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"));