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

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);});

在这里插入图片描述

相关文章:

  • 在 Qt 中实现动态切换主题(明亮和暗黑)
  • Dify的大语言模型(LLM) AI 应用开发平台-本地部署
  • 基于Qt的app开发第十天
  • 微软 Build 2025:开启 AI 智能体时代的产业革命
  • QT中信号和事件的区别
  • 精益制造数字化转型智能工厂三年规划建设方案
  • 《算法笔记》11.8小节——动态规划专题->总结 问题 G: 点菜问题
  • 工具环境与系统部署
  • React中使用 Ant Design Charts 图表
  • 【人工智能发展史】从黎明到曙光01
  • 精益数据分析(75/126):用户反馈的科学解读与试验驱动迭代——Rally的双向验证方法论
  • react中运行 npm run dev 报错,提示vite.config.js出现错误 @esbuild/win32-x64
  • PHP伪随机数
  • Java Collection(集合) 接口
  • windows powershell 判断 进程号是否存在
  • OS进程调度
  • LeetCode 3355.零数组变换 I:差分数组
  • Java课堂笔记7
  • php://filter的trick
  • 直线型绝对值位移传感器:精准测量的科技利刃
  • 学校网站下载/老域名
  • 怎么把自己做的网站放到网上/今日国际新闻事件
  • 动态网站开发加载图片/搜索引擎优化的流程
  • ic交易网站建设/河南seo推广
  • 石家庄物流网站建设/快速排名教程
  • 石家庄高端网站建设/seo专业培训班