重在帮助手册的查询使用,明确在哪个类下查找需要的函数,以及使用的参数如何添加。
菜单栏
this指定当前窗口为父对象, 在堆区创建名为menubar的【QMenuBar类】的控件,实例化一个对象
QMenuBar*menuBar=new QMenuBar(this);
- 将菜单栏添加到主窗口(this)中,【动作发起者是主窗口,所以找主窗口的函数】【学会找手册】【找MainWindow】
this->setMenuBar(menuBar);
- 在菜单栏中 添加 菜单【动作发起者是菜单栏】【QMenuBar】
QMenu*file=new QMenu("文件",this);
QMenu*edit=new QMenu("编辑",this);
menuBar->addMenu(file);
menuBar->addMenu(edit);
- 在菜单添加菜单项【动作发起者是菜单】【QMenu】
QAction *New=new QAction("New",this);
QAction *Save=new QAction("Save",this);
file->addAction(New);
file->addAction(Save);
- 给菜单项添加快捷键【动作发起者是菜单项】【QKeySequence的参数查找】
构造函数QKeySequence()
New->setShortcut(QKeySequence(Qt::CTRL+Qt::Key_N));
让New动起来
connect(New,&QAction::triggered,[=](){
qDebug()<<"新建文件"<<endl;
});
工具栏
- 创建一个工具栏
QToolBar*tool=new QToolBar(this);
- 找【主窗口的函数】
this->addToolBar(tool);
- 将菜单项New Edit放入工具栏中
tool->addAction(New);
tool->addAction(Save);
- 工具栏默认允许浮动,false不允许浮动【参数默认值】
tool->setFloatable(false);
设置工具栏的停靠位【枚举传参】
tool->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);
状态栏
void QStatusBar::addWidget(QWidget * widget, int stretch = 0),创建label【继承下来的】传入参数
QStatusBar*status=new QStatusBar(this);
this->setStatusBar(status);
//创建label
QLabel*label1=new QLabel("左侧提示信息",this);
QLabel*label2=new QLabel("右侧提示信息",this);
status->addWidget(label1);
status->addPermanentWidget(label2);
铆接部件
【Qt::TopDockWidgetArea|Qt::RightDockWidgetArea】传入多个枚举类型
//添加铆接部件【浮动窗口】
QDockWidget*dock=new QDockWidget("铆接",this);
//将铆接部件添加到主窗口
this->addDockWidget(Qt::TopDockWidgetArea,dock);
//设置铆接部件的停靠位置【动作发起者是dock】
dock->setAllowedAreas(Qt::TopDockWidgetArea|Qt::RightDockWidgetArea);
中心部件
创建一个文本域【this指的是主窗口】
QTextEdit*text=new QTextEdit(this);
text->setText("窗墙\n地上");
this->setCentralWidget(text)