Qt菜单栏、工具栏、状态栏、铆接部件、核心部件

3 篇文章 0 订阅

 mainwindow.cpp:

#include "mainwindow.h"
#include<QMenuBar>
#include<QToolBar>

#include<QLabel>
#include<QStatusBar>
#include<QDockWidget>
#include<QTextEdit>
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{

   //重置窗口大小
    resize(600,400);
    //包含菜单栏,只有一个
   QMenuBar* bar = menuBar();

   //将菜单栏放入到窗口中
   this->setMenuBar(bar);

   //如果栏是空的,将不会显示
   //来一个创建文件的菜单
   //同样的方式创建多个菜单
   QMenu* fileMenu = bar->addMenu("文件"); //返回QMunu类型
   QMenu* editMenu = bar->addMenu("编辑");
   QMenu* buildMenu = bar->addMenu("构建");
   QMenu* debugMenu = bar->addMenu("分析");
   QMenu* toolMenu = bar->addMenu("工具");
   QMenu* kongjianMenu = bar->addMenu("控件");
   QMenu* helpMenu = bar->addMenu("帮助");


   //添加菜单项
   /*QAction* qa = fileMenu->addAction("新建文件");
   QAction* qb = fileMenu->addAction("打印");
   QAction* qc = fileMenu->addAction("结束");
   QAction* qd = fileMenu->addAction("重新打开");*/

   //在fileMenu菜单中添加菜单项:
   QAction* newAction = fileMenu->addAction("新建");
   //添加分割线
   fileMenu->addSeparator();  //在新建和打开这两个菜单项中添加分割线
   QAction* openAction = fileMenu->addAction("打开");


   //在editMenu菜单中添加菜单项
   //QAction* allSelectAction = editMenu->addAction("选");
  // QAction* copyAction = editMenu->addAction("贴");
    // QAction* allAction = editMenu->addAction("全选");



   //工具栏 可以有多个
   //addToolBar()是一个重载函数,默认位置为:TopToolBarArea,是一个枚举类型
   QToolBar* toolBar = new QToolBar(this); //指定父亲this
   addToolBar(toolBar);  //添加到当前窗口
   addToolBar(Qt::LeftToolBarArea,toolBar);  //设置工具栏的停靠范围为左侧,默认停靠在左侧

   //只允许工具栏左、右侧停靠
   //toolBar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea),在QToolBar下的共有成员函数

   //只允许工具栏左、下侧停靠,void setAllowedAreas(Qt::ToolBarAreas areas),
   toolBar->setAllowedAreas(Qt::LeftToolBarArea|Qt::BottomToolBarArea);


   //设置浮动: void setMovable(bool movable),在QToolBar下的共有成员函数
    toolBar->setFloatable(false);

    //设置移动(总开关)
    toolBar->setMovable(false);  //设置为不移动后,就不能移动了(不能改变停靠)

    //工具栏添加菜单项
    toolBar->addAction(newAction); // toolBar->addAction("新建")
    toolBar->addSeparator(); //可以加分割线
    toolBar->addAction(openAction); // toolBar->addAction("打开")


    //状态栏
    QStatusBar* staBar=statusBar();
    this->setStatusBar(staBar); //将状态栏放到窗口中,默认在下侧
    QLabel* label = new QLabel("提示信息",this);
    staBar->addWidget(label);  //添加提示信息到左侧

    QLabel* label2 = new QLabel("右侧提示信息",this);
    staBar->addPermanentWidget(label2);  //在右侧添加:addPermanentWidget()



    //铆接部件、浮动窗口 可以有多个
    QDockWidget* dock = new QDockWidget;

    //添加浮动窗口(铆接部件)到窗口中
    addDockWidget(Qt::BottomDockWidgetArea,dock);  //addDockWidget()函数是重载函数,查addDockWidget()函数

    //设置铆接部件的停靠范围,停靠在上侧、右侧
    dock->setAllowedAreas(Qt::TopDockWidgetArea|Qt::RightDockWidgetArea);

    //核心部件,核心部件只能有一个,锚接部件跟
    QTextEdit* edit = new QTextEdit; //文本编辑器
    setCentralWidget(edit);

    /*可以有多个的,是add...,只有是一个的,是set...*/

}

MainWindow::~MainWindow()
{
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt工具栏中创建下拉菜单可以通过以下步骤实现: 1. 首先,在 Qt 设计器中打开你的窗口/对话框界面,将工具栏添加到界面上。 2. 在工具栏上右键单击,选择 "Add Action Group",创建一个动作组。 3. 在动作组中添加一个动作,该动作将作为下拉菜单的标题显示。 4. 在动作组中添加子动作,这些子动作将作为下拉菜单的选项。 5. 右键单击动作组中的子动作,选择 "Set Menu",然后选择对应的菜单。 6. 在代码中,连接菜单的信号和槽函数,以便在选择菜单项时执行相应的操作。 下面是一个简单的示例代码,演示如何在工具栏上创建一个下拉菜单: ```cpp // 创建工具栏 QToolBar* toolbar = new QToolBar(this); addToolBar(toolbar); // 创建动作组 QActionGroup* actionGroup = new QActionGroup(this); // 创建主动作并设置为不可点击 QAction* mainAction = new QAction("下拉菜单", this); mainAction->setCheckable(true); mainAction->setEnabled(false); toolbar->addAction(mainAction); // 创建下拉菜单 QMenu* menu = new QMenu(this); mainAction->setMenu(menu); // 创建子动作并添加到下拉菜单 QAction* action1 = new QAction("选项1", this); QAction* action2 = new QAction("选项2", this); menu->addAction(action1); menu->addAction(action2); // 将子动作添加到动作组 actionGroup->addAction(action1); actionGroup->addAction(action2); // 连接菜单的信号和槽函数 connect(actionGroup, SIGNAL(triggered(QAction*)), this, SLOT(menuActionTriggered(QAction*))); // 槽函数的实现 void YourClass::menuActionTriggered(QAction* action) { if (action == action1) { // 处理选项1的操作 } else if (action == action2) { // 处理选项2的操作 } } ``` 通过以上步骤,你可以在 Qt工具栏上成功创建一个下拉菜单,并在选择菜单项时执行相应的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值