这一篇主要讲MainWindow这个基础类——因为我学qt的终极目标是做一个文本编辑器,所以这个就很重要。
我实在是懒得描述这四个
1,菜单栏
【中午没买咖啡,我现在困的像狗】
菜单栏只能有一个,在最上面,类似于word里面的那一排“文件”“格式”“布局”什么的
基础设置代码如下
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QPushButton>
#include <QDebug>
#include <QMenuBar>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
resize(600,400);
//创建菜单栏
QMenuBar *mebar = menuBar();
//把菜单栏放进窗口
setMenuBar(mebar);
//创建菜单项
QMenu *filemenu = mebar -> addMenu("文件");
QMenu *exidmenu = mebar -> addMenu("编辑");
//添加cai菜单选项
filemenu -> addAction("新建");
filemenu -> addAction("保存");
//添加分割线
filemenu -> addSeparator();
filemenu -> addAction("历史记录");
}
效果如下
2,工具栏
工具栏可以有很多,基础设置代码如下
//创建一个工具栏
QToolBar *tolbar = new QToolBar(this);
//把工具栏添加到窗体,固定开始的位置
addToolBar(Qt::LeftToolBarArea,tolbar);
//设置能否移动
tolbar -> setMovable(false);
//设置能否浮动
tolbar -> setFloatable(false);
//设置,只允许左右停靠
tolbar -> setAllowedAreas(Qt::RightToolBarArea | Qt::LeftToolBarArea);
//设置内容,第一个用的是正常添加,第二个是添加了之前菜单栏的action,方便后续的代码。
tolbar -> addAction("切换");
tolbar -> addAction(newaction);
//添加分割线
tolbar -> addSeparator();
//在工具栏中添加控件
QPushButton *bu = new QPushButton("分析",this);
tolbar -> addWidget(bu);
}
顺便一说,为了添加之前菜单的action(便于管理),我修改了前面的一行代码
QAction *newaction = filemenu -> addAction("新建");
效果如下
3,铆接部分(浮动窗口)
类似于vs中的资源管理器,可以停靠可以浮动
具体的设置代码如下
//铆接部件(浮动窗口),可以有多个
QDockWidget *dock = new QDockWidget("浮动",this);
//设置初始位置
addDockWidget(Qt::BottomDockWidgetArea,dock);
//设置后期停靠的位置,只能上下
dock->setAllowedAreas(Qt::BottomDockWidgetArea | Qt::TopDockWidgetArea);
效果如下
4,状态栏
类似于word下面标注字数和语病错误的固定栏,只能有一个
设置代码如下
//状态栏,只能有一个
QStatusBar *stbar = statusBar();
//设置到窗口中
setStatusBar(stbar);
//放标签控件
QLabel *lab = new QLabel("提示",this);
stbar -> addWidget(lab);
QLabel *lab2 = new QLabel("字数:100",this);
stbar -> addPermanentWidget(lab2);
效果如下
5,主窗体
顾名思义,类似于vs中写代码的地方,word里面写文字的地方
只能有一个哦
构成代码如下
//设置中心部件 只能有一个
QTextEdit *edit = new QTextEdit(this);
setCentralWidget(edit);
包含以上所有控件,效果如图
6,一点点心得和思考
1,无论使用哪个控件,都要添加头文件
2,菜单栏和状态栏这一上一下是有构成函数的,其他的要new一个
3,位置的枚举库都是Qt,后面跟着方向,然后是控件名称