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

Qt功能区:Ribbon控件

控件

  • 1. 按钮
    • 1.1 多选按钮
    • 1.2
  • 2. 下拉列表框SARibbonComboBox
    • 2.1 简介
    • 2.2 代码实现

1. 按钮

1.1 多选按钮

软件功能:用于实现Category的名称居中。
SARibbonCheckBox继承于QCheckBox,使用方法完全相同。

SARibbonCheckBox* checkBox = new SARibbonCheckBox(this);checkBox->setText(tr("Alignment Center"));checkBox->setObjectName("checkBoxAlignmentCenter");checkBox->setWindowTitle(checkBox->text());pannelStyle->addSmallWidget(checkBox);connect(checkBox, &SARibbonCheckBox::stateChanged, this, [=](int state) {if (state == static_cast<int>(Qt::Checked)) {ribbonBar()->setRibbonAlignment(SARibbonAlignment::AlignCenter);}else {ribbonBar()->setRibbonAlignment(SARibbonAlignment::AlignLeft);}});

在这里插入图片描述

1.2

Ribbon中的按钮采用QAction类来实现。

2. 下拉列表框SARibbonComboBox

2.1 简介

实现功能:设置程序窗口的样式
窗口的样式为枚举类型:

enum class SARibbonTheme
{RibbonThemeOffice2013,      ///< office2013主题RibbonThemeOffice2016Blue,  ///< office2016-蓝色主题RibbonThemeOffice2021Blue,  ///< office2021-蓝色主题RibbonThemeWindows7,        ///< win7主题RibbonThemeDark,            ///< 暗色主题RibbonThemeDark2
};

SARibbonComboBox直接继承于QComboBox,并没有添加什么函数
在这里插入图片描述

 * @brief QComboBox的Ribbon显示,可以显示QIcon和windowTitle在左侧*/
class SA_RIBBON_EXPORT SARibbonComboBox : public QComboBox
{Q_OBJECT
public:explicit SARibbonComboBox(QWidget *parent = nullptr);~SARibbonComboBox();
};

2.2 代码实现

//设置下拉列表框mComboboxRibbonTheme = new SARibbonComboBox();mComboboxRibbonTheme->setWindowTitle(tr("RibbonTheme"));mComboboxRibbonTheme->setObjectName("RibbonTheme");mComboboxRibbonTheme->addItem("Theme Win7", static_cast<int>(SARibbonTheme::RibbonThemeWindows7));mComboboxRibbonTheme->addItem("Theme Office2013", static_cast<int>(SARibbonTheme::RibbonThemeOffice2013));mComboboxRibbonTheme->addItem("Theme Office2016 Blue", static_cast<int>(SARibbonTheme::RibbonThemeOffice2016Blue));mComboboxRibbonTheme->addItem("Theme Office2021 Blue", static_cast<int>(SARibbonTheme::RibbonThemeOffice2021Blue));mComboboxRibbonTheme->addItem("Theme Dark", static_cast<int>(SARibbonTheme::RibbonThemeDark));mComboboxRibbonTheme->addItem("Theme Dark2", static_cast<int>(SARibbonTheme::RibbonThemeDark2));mComboboxRibbonTheme->setCurrentIndex(mComboboxRibbonTheme->findData(static_cast<int>(ribbonTheme())));pannelStyle->addSmallWidget(mComboboxRibbonTheme);connect(mComboboxRibbonTheme,QOverload< int >::of(&SARibbonComboBox::currentIndexChanged),  //信号重载,Overload 是一个模板类,用于显式指定要连接的信号或槽的参数类型,从而消除歧义this,[=](int index) {SARibbonTheme t = static_cast<SARibbonTheme>(index);setRibbonTheme(t);});

在这里插入图片描述

http://www.xdnf.cn/news/7792.html

相关文章:

  • BEVDet
  • opencv_version_win32
  • Leetcode-2 最小偶倍数
  • pikachu靶场 暴力破解
  • 服务器安装xfce桌面环境并通过浏览器操控
  • SpringBoot外部化配置
  • NIFI的处理器:ExecuteGroovyScript 2.4.0
  • 第14天-Matplotlib实现数据可视化
  • ollama使用gpu运行大模型
  • Xilinx 7Series\UltraScale 在线升级FLASH STARTUPE2和STARTUPE3使用
  • Java 定时任务中Cron 表达式与固定频率调度的区别及使用场景
  • 唯创安全优化纸业车间安全环境:门口盲区预警报警器的应用与成效
  • STL中的Vector(顺序表)
  • RabbitMQ——消息确认
  • NLP学习路线图(三): 微积分(梯度、导数等)
  • 有没有其他影视app可以像群晖video station一样可以被Windows的本地网络驱动器找到
  • 【Vue3】数据的返回和响应式处理(ref reactive)
  • 自建srs实时视频服务器支持RTMP推流和拉流
  • Kotlin 极简小抄 P8(不可空类型、可空类型、注意事项、非空断言 !!)
  • 什么是endpoints?
  • php://filter的trick
  • Server-Driven UI:Kotlin 如何重塑动态化 Android 应用开发
  • 《算法笔记》12.1小节——字符串专题->字符串hash进阶 问题 A: 求最长公共子串(串)
  • 代码随想录打卡|Day45 图论(孤岛的总面积 、沉没孤岛、水流问题、建造最大岛屿)
  • ARM反汇编浅析
  • 【JAVA】比较器Comparator与自然排序(28)
  • Flannel后端为UDP模式下,分析数据包的发送方式(一)
  • 【react18】在styled-components中引入图片报错
  • 项目中Warmup耗时高该如何操作处理
  • 深度解析 Java 中介者模式:重构复杂交互场景的优雅方案