XuSenfeng

个人站

复读了,更新随缘,有的文件不全或者图片缺失具体看我的笔记库(https://github.com/XuSenfeng/note)


菜单栏工具栏

目录

菜单栏工具栏

是一个为用户提供的类, 包括一个菜单栏(menu bar), 多个工具栏(tool bars), 多个锚点工具也叫浮动工具(dock widgets), 一个状态栏(status bar), 以及一个中心部件(central widget)

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{

    resize(800, 600);

    //创建菜单,最多只能有一个
    QMenuBar * bar = menuBar();
    //把文件栏放入
    setMenuBar(bar);
    //创建文件菜单, 有一个返回值
    QMenu * fileMenu = bar->addMenu("文件");
    QMenu * editMenu = bar->addMenu("编辑");

    //创建菜单项
    QAction * newAction =  fileMenu->addAction("新建");
    //添加分隔线
    fileMenu->addSeparator();
    QAction * openAction =  fileMenu->addAction("打开");

        
    //工具栏可以有多个
    QToolBar * toolBar = new QToolBar(this);
    //进行添加,默认在左边
    addToolBar(Qt::LeftToolBarArea, toolBar);
    //只允许左右停靠
    toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);
    //设置浮动
    toolBar->setFloatable(false);
    //设置移动(总开关)
    toolBar->setMovable(false);
    //在工具栏中设置内容,使用上面的两个
    toolBar->addAction(newAction);
    toolBar->addAction(openAction);
    
    //添加控件
    QPushButton *btn = new QPushButton("test", this);
    //放在工具栏
    toolBar->addWidget(btn);
	
        
    //状态栏,最多一个
    QStatusBar * stBar = statusBar();
    setStatusBar(stBar);
    //放置标签控件
    QLabel * label = new QLabel("提示的信息", this);
    stBar->addWidget(label);
    QLabel * label2 = new QLabel("右侧提示的信息", this);
    stBar->addPermanentWidget(label2);

    //铆接部件(浮动)可以有多个
    QDockWidget *dockWidget = new QDockWidget("浮动", this);
    addDockWidget(Qt::BottomDockWidgetArea, dockWidget);
    //设置只允许上下
    dockWidget->setAllowedAreas(Qt::TopDockWidgetArea);


    //中心部件只有一个
    QTextEdit *edit = new QTextEdit;
    setCentralWidget(edit);
}

最多有一个的使用set进行设置, 有多个的使用add进行添加

总结

  • QMenuBar 菜单
  • QMenu 菜单栏内容
  • QAction 文件项

  • QToolBar 工具栏

  • QStatusBar 状态栏

  • QDockWidget 铆接部件

  • QTextEdit 中心部件