当前位置: 首页 > news >正文

qt QToolBar详解

1、概述

QToolBar是Qt框架中的一个控件,用于在工具栏中显示一组操作按钮和其他控件。它提供了一种方便的方式来组织和管理应用程序中的工具和操作。工具栏通常位于软件或应用程序界面的上方,包含一系列常用工具和命令按钮,用于快速访问和执行常用功能。这些工具和命令通常以图标、文本或图标加文本的形式展示,用户可以通过单击这些按钮来执行相应的操作,从而提高工作效率。

2、重要方法

QToolBar提供了多种方法来定制和管理工具栏的外观和行为,以下是一些重要的方法:

  • addAction():向工具栏中添加一个动作(QAction)。这个动作可以是一个按钮、下拉菜单项或其他可交互的控件。
  • addSeparator():在工具栏中添加一个分隔符,用于将工具栏中的控件分组。
  • addWidget():向工具栏中添加一个自定义的QWidget控件。
  • setAllowedAreas():设置工具栏可以停靠的位置。这些位置包括左侧、右侧、顶部和底部等。
  • setFloatable():设置工具栏是否可以浮动。如果设置为true,工具栏可以在窗口中自由拖动;如果设置为false,工具栏则固定在其停靠位置。
  • setMovable():设置工具栏是否可以移动。如果设置为true,工具栏可以在其允许的停靠位置之间拖动;如果设置为false,工具栏则固定在当前位置。
  • setIconSize():设置工具栏中图标的大小。
  • setStyleSheet():设置工具栏的样式表,用于自定义工具栏的外观。
3、重要信号
  • actionTriggered(QAction* action):当工具栏上的某个动作被触发时发出该信号。参数action指向被触发的动作。
#include <QApplication>
#include <QMainWindow>
#include <QToolBar>
#include <QAction>
#include <QMessageBox>
#include <QVBoxLayout>
#include <QPushButton>int main(int argc, char *argv[])
{QApplication app(argc, argv);// 创建一个QMainWindow对象作为主窗口QMainWindow window;window.setWindowTitle("QToolBar Example");window.resize(800, 600);// 创建一个QToolBar对象QToolBar *toolBar = new QToolBar("Main Toolbar", &window);window.addToolBar(toolBar);// 创建动作QAction *newAction = new QAction(QIcon(QApplication::style()->standardIcon(QStyle::SP_FileDialogNewFolder)), "New", &window);QAction *openAction = new QAction(QIcon(QApplication::style()->standardIcon(QStyle::SP_DialogOpenButton)), "Open", &window);QAction *saveAction = new QAction(QIcon(QApplication::style()->standardIcon(QStyle::SP_DialogSaveButton)), "Save", &window);QAction *exitAction = new QAction("Exit", &window);// 将动作添加到工具栏toolBar->addAction(newAction);toolBar->addAction(openAction);toolBar->addAction(saveAction);toolBar->addSeparator();toolBar->addAction(exitAction);// 设置工具提示newAction->setToolTip("Create a new file");openAction->setToolTip("Open an existing file");saveAction->setToolTip("Save the current file");exitAction->setToolTip("Exit the application");// 连接动作触发信号到槽函数QObject::connect(newAction, &QAction::triggered, []() {QMessageBox::information(nullptr, "New", "New file created.");});QObject::connect(openAction, &QAction::triggered, []() {QMessageBox::information(nullptr, "Open", "File opened.");});QObject::connect(saveAction, &QAction::triggered, []() {QMessageBox::information(nullptr, "Save", "File saved.");});QObject::connect(exitAction, &QAction::triggered, &window, &QMainWindow::close);// 显示窗口window.show();return app.exec();
}

觉得有帮助的话,打赏一下呗。。

           

http://www.lryc.cn/news/477768.html

相关文章:

  • MongoDB基础介绍以及从0~1语法介绍
  • 利用Docker Compose构建微服务架构
  • 数据中台一键大解析!
  • MySQL45讲 第十六讲 “order by”是怎么工作的?
  • 智慧商城项目-VUE2
  • 音视频入门基础:FLV专题(22)——FFmpeg源码中,获取FLV文件音频信息的实现(中)
  • Chrome与火狐哪个浏览器的性能表现更好
  • uniapp在js方法中,获取当前用户的uid(uni-id-user)表中的用户id
  • 影响神经网络速度的因素- FLOPs、MAC、并行度以及计算平台
  • 【万字详解】如何在微信小程序的 Taro 框架中设置静态图片 assets/image 的 Base64 转换上限值
  • 复合选择器,CSS特性,背景属性,显示模式(HTML)
  • 加密货币行业与2024年美国大选
  • Hive SQL中判断内容包含情况的全面指南
  • 匿名管道 Linux
  • 苍穹外卖WebSocket无法建立连接 (修改前端代码)
  • 音频内容理解
  • MQTT实用示例集:Air201版
  • Day23 opencv图像预处理
  • 优化模型训练过程中的显存使用率、GPU使用率
  • RocketMQ学习笔记
  • Linux第三讲:环境基础开发工具使用
  • 日本TikTok直播的未来:专线网络助力创作者突破极限
  • 如何在家庭网络中设置静态IP地址:一份实用指南
  • qt QFile详解
  • ESP8266 自定义固件烧录-Tcpsocket固件
  • 内网项目,maven本地仓库离线打包,解决Cannot access central in offline mode?
  • stack和queue --->容器适配器
  • ffmpeg视频解码
  • 前端入门一之CSS知识详解
  • 【JS学习】10. web API-BOM