菜单栏、工具栏、状态栏——QT

本文详细介绍如何使用Qt构建图形用户界面,包括菜单栏、工具栏、状态栏及浮动窗口的创建与配置过程。通过实例演示了如何添加菜单项、工具栏按钮,并展示了如何设置状态栏信息及实现浮动窗口的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

菜单栏

创建菜单栏

  • 关键词:QMenuBar:声明一个菜单
  • 需要添加#include <QMenuBar>头文件
  • 菜单栏最多有一个

添加菜单:addMenu

    //重置窗口大小
    resize(600,400);

    //菜单栏  只能最多有一个
    //菜单栏创建
    QMenuBar * bar = menuBar();
    //将菜单栏放入到窗口中
    setMenuBar(bar);

    //创建菜单
    // 需要添加#include <QMenuBar>头文件
    bar->addMenu("文件");
    bar->addMenu("编辑");

运行结果:
在这里插入图片描述
声明菜单需要一个返回值来接收他,返回值类型为:QMenu

QMenu * filemenu = bar->addMenu("文件");
QMenu * editment = bar->addMenu("编辑");

添加菜单项

用菜单对象调用addAction

    //创建菜单
    QMenu * filemenu = bar->addMenu("文件");
    QMenu * editment = bar->addMenu("编辑");

    //创建菜单项
    filemenu->addAction("新建");
    filemenu->addAction("打开");
    filemenu->addAction("最近访问");

运行结果:
在这里插入图片描述

添加分割线

关键词:addSeparator

    QMenu * filemenu = bar->addMenu("文件");
    QMenu * editment = bar->addMenu("编辑");

    //新建菜单项
    filemenu->addAction("新建");
    filemenu->addAction("打开");

    //添加菜单项之间的分割线
    filemenu->addSeparator();

    filemenu->addAction("设置");
    filemenu->addAction("首选项");

运行结果:新建、打开和设置、首选项之间有一条分割线
在这里插入图片描述

工具栏

创建工具栏

  • 关键词:QToolBar
  • 需要添加头文件:#include <QToolBar>
  • 工具栏 可以有多个
  //新建工具栏
  QToolBar * toobar = new QToolBar(this);
  //菜单默认是不会依附于窗口,需要:
  addToolBar(toobar);

运行结果:
在这里插入图片描述
新建的工具栏默认在上方,可以在创建是修改其位置

// 停靠在左边
addToolBar(Qt::LeftToolBarArea,toolBar);

设置 只允许 左右停靠

toolBar->setAllowedAreas( Qt::LeftToolBarArea | Qt::RightToolBarArea );

设置浮动,关闭浮动

toolBar->setFloatable(false);

设置工具栏内容

关键词:addAction

    //新建工具栏
    QToolBar * toobar = new QToolBar(this);
    //菜单默认是不会依附于窗口,需要:
    addToolBar(toobar);

    // 设置工具栏内容
    toobar->addAction("字体");
    toobar->addAction("主题");

运行结果:
在这里插入图片描述

工具栏的添加按钮

  • 关键词:addWidget
 	//新建工具栏
    QToolBar * toobar = new QToolBar(this);
    //菜单默认是不会依附于窗口,需要:
    addToolBar(toobar);

    //工具栏的添加按钮
    QPushButton * btn = new QPushButton("开始",this);
    toobar->addWidget(btn);

在这里插入图片描述

状态栏

新建状态栏

关键词:statusBar
包含头文件:#include <QStatusBar>
状态栏 最多有一个

    // 新建状态栏
    QStatusBar * sta = statusBar();
    //放到窗口中
    setStatusBar(sta);

运行结果:
在这里插入图片描述
在状态栏中添加标签
创建标签需要添加头文件:#include <QLabel>

    // 新建状态栏
    QStatusBar * sta = statusBar();
    //放到窗口中
    setStatusBar(sta);

    //放标签控件
    QLabel * label = new QLabel("提示信息",this);
    // 将标签放到状态栏中
    sta->addWidget(label);

运行结果:
在这里插入图片描述右侧显示状态栏信息

    //放标签控件在右侧
    QLabel * label2 = new QLabel("右侧提示信息",this);
    sta->addPermanentWidget(label2);

运行结果:
在这里插入图片描述

浮动窗口

关键词:QDockWidget
包含头文件:#include <QDockWidget>
浮动窗口可有多个

    // 浮动窗口
    QDockWidget * dock = new QDockWidget("浮窗",this);
    addDockWidget(Qt::BottomDockWidgetArea,dock);

在这里插入图片描述
浮动窗口是围绕与中心部件的

    //设置中心部件 只能一个
    QTextEdit * edit = new QTextEdit(this);
    setCentralWidget(edit);

    // 浮动窗口
    QDockWidget * dock = new QDockWidget("浮窗",this);
    addDockWidget(Qt::BottomDockWidgetArea,dock);

可以拖动浮窗移动
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值