Qt菜單欄-工具欄-狀態欄

#include "mainwindow.h"

//添加頭文件
#include<QMenuBar>
#include <QToolBar>
#include <QPushButton>
#include <QStatusBar>
#include <QLabel>
#include<QDockWidget>
#include <QTextEdit>
#include <QMessageBox>
#include <QDebug>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{

    //重置窗口大小
    resize(600,400);


    //菜單欄 最多只能有一個
    //菜單欄創建
    QMenuBar *bar=menuBar();
    //將菜單欄放入到窗口中
    setMenuBar(bar);
    //創建菜單
    QMenu*fileMenu=bar->addMenu(tr("文件"));
    QMenu*editMenu=bar->addMenu(tr("編輯"));

    //創建菜單項
    QAction *newAction=fileMenu->addAction("新建");
    //添加分隔線
    fileMenu->addSeparator();
    QAction *openAction=fileMenu->addAction("打開");

    //////////////////////////////
    //工具欄 可以有多個
    QToolBar *toolBar=new QToolBar(this);
    addToolBar(Qt::LeftToolBarArea,toolBar);

    //設置只允許左右停靠
    toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);

    //設置浮動
    toolBar->setFloatable(false);

    //設置移動(總開關)
    toolBar->setMovable(false);

    //工具欄中設置內容
    toolBar->addAction(newAction);
    //添加分割線
    toolBar->addSeparator();
    toolBar->addAction(openAction);

    //工具欄中添加控件
    QPushButton *btn=new QPushButton("add",this);
    toolBar->addWidget(btn);

    //狀態欄 最多有一個
     QStatusBar *stBar=statusBar();
     //設置到窗口中
     setStatusBar(stBar);

     //放標籤控件
     QLabel *label=new QLabel("提示信息",this);
     stBar->addWidget(label);
     QLabel *label2=new QLabel("右側提示信息",this);
     stBar->addPermanentWidget(label2);

     //鉚接部件(浮動窗口) 可以有多個
     QDockWidget *dockWidget=new QDockWidget("浮動",this);
     addDockWidget(Qt::BottomDockWidgetArea,dockWidget);

     //設置後期停靠區域,只允許上下
     dockWidget->setAllowedAreas(Qt::TopDockWidgetArea|Qt::BottomDockWidgetArea);

     //設置中心部件  只能有一個
     QTextEdit *edit=new QTextEdit(this);
     setCentralWidget(edit);

    //連接信號槽函數
     connect(newAction,SIGNAL(triggered()),this,SLOT(printMS()));


}

MainWindow::~MainWindow()
{

}

 void MainWindow::printMS()
 {
    qDebug()<<"hrr";
 }

 

// 剛開始連接信號與自定義槽函數時嘗試使用clicked()信號,好像不支持,改爲triggered()

 

 

 

 

 

 

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