7、菜单栏、工具栏、状态栏、浮动窗口、TextEdit
新建项目,基类选择QMainWindow,不勾选ui
mainwindow.cpp代码:
#include "mainwindow.h" #include <QMenuBar> //引入菜单栏 #include <QMenu> //菜单 #include <QAction> //菜单项 #include <QToolBar> //引入工具栏 #include <QPushButton> #include <QDebug> #include <QStatusBar>//状态栏 #include <QLabel> #include <QTextEdit>//文本编辑 #include <QDockWidget> //浮动窗口 MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { //菜单栏// QMenuBar *mBar=menuBar(); //菜单栏,QMenuBar *mBar=new QMenuBar(this);等效 QMenu *pFile=mBar->addMenu("文件"); //菜单 QAction *pNew = pFile->addAction("新建"); //菜单项 connect(pNew,&QAction::triggered,[](){ qDebug()<<"新建被按下"; }); pFile->addSeparator(); //分割线 QAction *pOpen=pFile->addAction("打开"); //菜单项 //工具栏// QToolBar *tBar=addToolBar("工具栏");//鼠标右键,可以显示、隐藏“工具栏” tBar->addAction(pNew); QPushButton *b=new QPushButton(this); //创建对象,并指定父窗体 b->setText("点击被更改"); tBar->addWidget(b); //添加按钮控件 connect(b,&QPushButton::clicked, [b](){ b->setText("被更改"); }); //状态栏// QStatusBar *sBar=statusBar(); QLabel *label=new QLabel(this); label->setText("状态栏"); sBar->addWidget(label); //默认从左往右添加 sBar->addWidget(new QLabel("状态栏2",this)); sBar->addPermanentWidget(new QLabel("状态栏3",this));//右侧开始添加 //文本框// QTextEdit *tEdit=new QTextEdit(this); setCentralWidget(tEdit);//将控件放到窗体中心位置 //浮动窗口// QDockWidget *dWidget=new QDockWidget("浮动窗口",this);//鼠标右键,可以显示、隐藏“浮动窗口” addDockWidget(Qt::RightDockWidgetArea,dWidget);//位于窗体右侧 QTextEdit *tEdit2=new QTextEdit(this);//给浮动窗口添加控件 dWidget->setWidget(tEdit2); } MainWindow::~MainWindow() { }