QT学习记录2
主要学习了QT中mainwindow中不同工具栏、状态栏、菜单栏的实现(写出很简单的页面。。)
1. 菜单栏的实现
在QT中菜单栏最多有一个!并且使用
setMenuBar(bar);
来把菜单栏放到窗口中。在菜单栏内什么内容都没有的时候窗口上不显示(但是实际上创建成功了~)
成品如下:
2. 工具栏的实现
2.1 工具栏基本设置
QToolBar *tool=new QToolBar(this);
addToolBar(Qt::RightToolBarArea,tool);
这个代码片段用于创建一个工具栏,并且把它默认在右边。
tool->`setAllowedAreas`(Qt::LeftToolBarArea|Qt::RightToolBarArea);
把工具栏的可移动位置设置为左边或者右边。(在此情况下停靠左右是正常状态,停靠上下方为一点点但是还是可以显示,如下图)
tool->setFloatable(false);
用于设置工具栏是否可以滑动(如果设置不能滑动,则不能如上停靠在上下方,直接弹回左右)
tool->setMovable(false);
总开关,设置工具栏是否可以移动。如果为不能移动工具栏完全不能拉动~
而在工具栏的内容填写中,除了可以对于工具栏内容直接用到了addAction()
进行编辑:
tool->addAction("新建");
如果需要与菜单栏中共享相同的内容,也可以在之前设置为指针直接传入内容,如下:
QAction *open=filemenu->addAction("打开");
filemenu->addSeparator();
QAction *newmake=filemenu->addAction("新建");
filemenu->addSeparator();
QAction *close=filemenu->addAction("关闭");
设置了三个指针,再在tool中调用:
tool->addAction(open);
tool->addAction(newmake);
tool->addAction(close);
结果也能正确显示~
2.2 在工具栏中添加控件
添加一个很简单的按钮:
QPushButton *button=new QPushButton("点了就退出",this);
tool->addWidget(button);
connect(button,&QPushButton::clicked,this,&MainWindow::close);
顺便增加了点击就退出效果(回顾一下信号槽)
3. 状态栏的实现
状态栏也是最多有一个的!记住每次添加一个新的东西先增加头文件!!#include<QStatusBar>
之前也是如此
对于状态栏的创建也都差不多:
QStatusBar *zzqsta=new QStatusBar();
setStatusBar(zzqsta);
关于在状态栏中放置标签:
QLabel *lab=new QLabel("运行时间",this);
zzqsta->addWidget(lab);
在状态栏中放置浮动的窗口,并且把它设置在下方:
QDockWidget *dock=new QDockWidget("可拉动窗口",this);
addDockWidget(Qt::BottomDockWidgetArea,dock);
这里说一下对于状态栏中的可浮动窗口后期允许的停靠位置也是可以设置的,具体和工具栏中的一致~也是使用setAllowedAreas()
来进行相关的设置!(qt好通用我爱了!)
4. 设置中心部件
中心部件也只能有一块!(要不说啥中心呢)
(最大的那一块!设置的是文本框这样的)
QTextEdit *text=new QTextEdit(this);
setCentralWidget(text);
完成后结果图: