这一篇主要讲MainWindow这个基础类——因为我学qt的终极目标是做一个文本编辑器,所以这个就很重要。 我实在是懒得描述这四个
【中午没买咖啡,我现在困的像狗】 菜单栏只能有一个,在最上面,类似于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("历史记录"); }效果如下
工具栏可以有很多,基础设置代码如下
//创建一个工具栏 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("新建");效果如下
类似于vs中的资源管理器,可以停靠可以浮动 具体的设置代码如下
//铆接部件(浮动窗口),可以有多个 QDockWidget *dock = new QDockWidget("浮动",this); //设置初始位置 addDockWidget(Qt::BottomDockWidgetArea,dock); //设置后期停靠的位置,只能上下 dock->setAllowedAreas(Qt::BottomDockWidgetArea | Qt::TopDockWidgetArea);效果如下
类似于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);包含以上所有控件,效果如图
1,无论使用哪个控件,都要添加头文件 2,菜单栏和状态栏这一上一下是有构成函数的,其他的要new一个 3,位置的枚举库都是Qt,后面跟着方向,然后是控件名称