(QMenuBar)菜单栏 (最多只有一个)
QMenuBar * bar = menuBar();
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
resize(600,400);
QMenuBar * bar = menuBar();//创建菜单栏
setMenuBar(bar);//将菜单栏放入窗口
QMenu * b = bar->addMenu("文件");//添加了一个菜单
QMenu * a = bar->addMenu("信息");//a是addMenu的返回值
a->addAction("新建");//创建菜单项
a->addSeparator();//添加分隔符 就是新建和打开之间有条线
QAction * newAction = a->addAction("打开");//创建菜单项 可以用QAction接收返回值 方便后面使用
}
(QToolBar)工具栏(可以有多个)
QToolBar * toolBar = new QToolBar(this);//创建工具栏
addToolBar(Qt::LeftToolBarArea,toolBar);//第一个参数是规定工具栏的初始位置(默认位置是在上面的) 第二个参数就是增加哪个工具栏在窗口
toolBar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);//设置工具栏允许停靠的范围(图1)
toolBar->setFloatable(false);//设置是否可以浮动 也就是上面设置了工具栏允许停靠范围(上面设置的是左右可以停靠) 如果此时将工具栏移到上面 则会发送浮动情况 就是工具栏缩成一小团(图2) 如果这里设置不能浮动 则移到中间时 会直接弹回原位置 无法浮动
toolBar->setMovable(flase);//设置工具栏是否可以移动
图1 工具栏停靠在左侧
图2 工具栏浮动在中间
增加工具项
//方法一
toolBar->addAction("新建");
//方法二 因为上面使用了QAction * newAction = a->addAction("打开"); 所以可以直接调用
toolBar->addSeparator();//增加分割线
toolBar->addAction(newAction);//如果这样使用的话 使用的就是同一个项了 比如说 上面菜单栏的打开是打开4399 在这里工具栏点击打开 也是打开4399
//工具栏中添加控件
QPushButton * btn = new QPushButton("aa", this);
toolBar->addWidget(btn);
(QStatuBar)状态栏(最多一个)
//状态栏
QStatusBar * stBar = statusBar();
setStatusBar(stBar);//设置到窗口中
//放标签控件
QLabel * label = new QLabel("提示信息",this);
stBar->addWidget(label);//将标签默认放在状态栏左侧
QLabel * label2 = new QLabel("右侧提示信息",this);
stBar->addPermanentWidget(label2);//将标签放在状态栏右侧
(QDockWidget)铆接部件(浮动窗口) 可以有多个
QDockWidget * dockWidget = new QDockWidget("浮动",this);
addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
窗口可以拖拽出来
(QTextEdit)中心部件 (只能有一个)
QTextEdit * edit = new QTextEdit(this);
setCentralWidget(edit);