Qt实现Word文档界面样式--QtitanRibbon

QtitanRibbon - Microsoft Ribbon for Nokia's Qt概念的实现


QtitanRibbon组件实现了Microsoft Ribbon for Qt的概念,设计用于任何使用Qt开发的商业应用。这个组件和Qt一道为获取一些应用提供了一个难得的机会,这些应用在全球三大主要平台Windows、Linux和Mac OS X上都有现代化的外观和感觉。

QtitanRibbon为最终应用提供了5种主题:蓝色、黑色、浅绿色、银色和风景画。下面是真实效果的一些截图。

Windows平台:

QtitanRibbon QT Ribbon

Linux平台:

QtitanRibbon QT Ribbon

Mac平台:

QtitanRibbon QT Ribbon

正如你所看到的,外观在三个平台上简直完全一样,这是我们精心设计的结果。仅仅有一个默认的区别:每个平台主题UI的初始化不同。Windows代表了经典,所以是蓝色主题。Linux平台总让人联想起黑客和爆脾气的人,因而它的初始化主题是黑色的。Mac OS X象征着智慧与奢华,所以默认主题是风景优美的图画。任何时候,Ribbsson UI的初始化主题都可以被修改,与平台无关。

QtitanRibbon作为Ribbon UI for Nokia's Qt的实现标准


QtitanRibbon的实现严格遵守Microsoft的标准和规范,并应用到Ribbon UI概念。Ribbon UI概念从用户中发展建立起来。因而如果您使用的是QtitanRibbon,那么您的用户能轻松地学习和快速启动您的应用。控件的组成相当于一个集合,Ribbon UI 说明书对其进行了描述。QtitanRibbon组件提供以下元素:

QtitanRibbon QT Ribbon

QtitanRibbon QT Ribbon

QtitanRibbon QT Ribbon

下表是一些已实现和计划中的元素:

Ribbon UI Elements Stage
Ribbon Bar Implemented
Ribbon Tabs Implemented
Ribbon Groups Implemented
Application Button Implemented
Backstage View Implemented
Contextual Tabs Implemented
Quick Access Bar Implemented
Button Control Implemented
Button Group Control Implemented
Calendar Control Planned
Check Box Control Implemented
Combo Box Control Implemented
Data/Time Picker Control Planned
Drop-Down Button Control Implemented
Gallery Control Implemented
Key Tip Control Implemented
Label Control Implemented
Masked Text Control Planned
Numeric Up-Down Control Implemented
Panel Control Implemented
Radio Button Control Implemented
Screen Tip Control Implemented
Scroll Bars Control Implemented
Separator Control Implemented
Slider Control Implemented
Split Button Control Implemented
Status Bar Control Implemented
Tab Control Control Implemented
Text Box Control Implemented
Toggle Button Control Implemented

本产品中,我们与Ribbon UI一起还提供了一种Style OfficeStyl(它继承自QStyle),您可以使用它创建与Microsoft Office 2007或者2010非常相似的应用。Style OfficeStyle能很好的提供5种主题:蓝色、黑色、银色、浅绿色和风景画。

QtitanRibbon -实现细节


这个组件100%使用原生Qt/C++设计,没有借助其他工具和第三方库。然而,每个平台上的部分代码是以不同的方式实现的,缘由于Qt的部分特性,也是为了提高渲染性能。

QtitanRibbon支持Qt4.5.x、Qt4.6.x、Qt4.7.x、Qt4.8.x以及Qt5.x.x的所有版本。

集成Qt Designer


QtitanRibbon组件便捷集成了Qt Designer。这允许您在运行时管理表格中Ribbon UI的位置。

QtitanRibbon功能特点


概述

QtitanRibbon是一组窗体部件集(控件元素),能帮助您轻松、快速地为应用添加下一代用户界面(见图1)。产品完全基于Qt SDK。

QtitanRibbon QT Ribbon

我们使用几种全新的方法为您提供市场上最佳、最全面的UI解决方案。以下是它的一些最重要的功能:

  • 与Microsoft Ribbon功能完全相同。

  • 能轻松集成到已有的或新的应用中。

  • 样式选择多变,包括Office 2007、Office 2010(蓝色、银色、黑色、浅绿色、风景画), Office 2013正在开发中。

  • 优化的绘画引擎。

  • 纯Qt代码,无条件支持Windows和Linux系统。

QtitanRibbon使用Qt SDK通过C++编写,并支持以下环境:

  • Visual Studio 2003

  • Visual Studio 2005

  • Visual Studio 2008

  • Visual Studio 2010

  • Visual Studio 2012

  • Qt Creator

  • Qt产品集成的任何其他IDE

  • Qt 4.5 - 4.8, Qt 5 (32位/64位)

  • Windows、Linux、Mac OSX

QtitanRibbon元素

Ribbon

Ribbon是用户界面的主要元素,包含了多个标签。 每个标签的内容都进行了分组(见图2、图3)。

QtitanRibbon QT Ribbon

图2. 主标签选项卡

QtitanRibbon QT Ribbon

图3. 主标签选项卡和激活的内容菜单

组允许您自动定位窗体部件,它还有另一个非常有用的功能,可以最小化无论宽度是否改变的ribbon,并且提供对其特性的所有访问权限(见图4)。

QtitanRibbon QT Ribbon

图4. 基于ribbon宽度的组定位

当一个组最小化之后,用户可以左击组打开一个弹出式窗口,通过它来访问组的控件元素。

QtitanRibbon QT Ribbon

图5. 访问最小化组的控制元素

 

系统按钮

左上角的按钮可以打开应用菜单(见图6):

QtitanRibbon QT Ribbon

MDI

QtitanRibbon支持MDI(多文档界面) (见图7、图8)。

QtitanRibbon QT Ribbon

图7. 应用的子窗口排列

QtitanRibbon QT Ribbon

图8. 应用子窗口的最大化

您也可以使用MDITabs管理子窗口。

QtitanRibbon QT Ribbon

图9. MDITabs的使用  

QtitanRibbon风格

支持以下风格:

  • Office 2007蓝色 (见图10)

  • Office 2007银色 (见图11)

  • Office 2007黑色 (见图12)

  • Office 2007浅绿色 (见图13)

您可以在Qt用户界面的经典视图中使用上面列出的风格(见图14),这样所有Qtitan的风格都继承自QStyle。

QtitanRibbon QT Ribbon

图10.Office 2007蓝色

QtitanRibbon QT Ribbon

图11.Office 2007银色

QtitanRibbon QT Ribbon

图12.Office 2007黑色

QtitanRibbon QT Ribbon

图13.Office 2007浅绿色

您可以在Qt用户界面的经典视图中使用上面列出的风格(见图14),这样所有Qtitan的风格都继承自QStyle。

QtitanRibbon QT Ribbon

控件元素(窗体部件)

Qtitan Ribbon每一个控件元素的开发都是为了兼容了以下需求:

  • 控件元素能用于不同的环境中,例如ribbon、表格和弹出式菜单。

  • 控件元素应尽可能是一个窗口,它保存系统资源,避免一系列问题。

  • 控件元素应该有几个可视化的演示。例如,对于ribbon,控制元素的图标可大可小,文本可有可无。当ribbon的宽度发生了变化,元素能有相应的变化。

按钮

按钮提供了以下使用选项:

  • 支持弹出式菜单(工具按钮弹出模式)

  • 支持KeyTip

  • 支持ScreenTip

  • 支持可变和复选状态

  • 支持显示ToolButtonStyle

  • 支持文本和图像调整

您可以依据大小和当前状态来预览ribbon上的按钮。见图15:

QtitanRibbon QT Ribbon

弹出式按钮

带弹出菜单的按钮允许用户从列表中选择操作命令,它也提供一下功能(见图16):

  • 支持KeyTip

  • 支持ScreenTip

  • 支持可变和复选状态

  • 支持显示ToolButtonStyle

  • 支持文本和图像调整

QtitanRibbon QT Ribbon

图16.带有下拉菜单的几种按钮

按钮具有混合功能(见图17、图18),有两种工作模式-常规按钮和带弹出式菜单按钮。允许用户从菜单列表选择命令的按钮拥有以下属性:

  • 支持KeyTip

  • 支持ScreenTip

  • 支持可变和复选状态

  • 支持显示ToolButtonStyle

  • 支持文本和图像调整

QtitanRibbon QT Ribbon

图17.Split Button状态选项

QtitanRibbon QT Ribbon

图18.Split Button状态选项

按钮组

您可以将小型按钮加入分组(见图19)。

QtitanRibbon QT Ribbon

复选框和单选按钮

复选框和单选按钮提供了常规QCheckBox和QRadioButton的功能(见图20):

  • 能于用在ribbon和表格

  • 支持KeyTip

  • 支持ScreenTip

  • 支持可变和复选状态 

QtitanRibbon QT Ribbon

组合框

ComboBox拥有常规QComboBox的所有功能(见图21):

  • 能用于ribbon和表格

  • 支持KeyTip

  • 支持ScreenTip

  • 支持可变状态

  • 支持Text Box 

QtitanRibbon QT Ribbon

滑动条

滑动条控件元素允许用户在设定的范围内改变值:

  • 能用于ribbon和表格

  • 支持可变状态(见图22、图23) 

QtitanRibbon QT Ribbon

图22.在ribbon group中使用Slider组件

QtitanRibbon QT Ribbon

图23.在status bar中使用Slider组件

SpinBox (数值升降)

SpinBox允许用户改变其数值,并且有两个按钮:增加按钮和减少按钮。这个组件提供以下功能: 

  • 能用于ribbon和表格

  • 支持KeyTip

  • 支持ScreenTip

  • 支持可变状态

  • 支持Text Box

QtitanRibbon QT Ribbon

图24.Qtitan Ribbon中的SpinBox

滚动条

根据当前选定的主题,可以对ribbon和表格进行水平和垂直滚动操作。

QtitanRibbon QT Ribbon

图25.水平滚动和垂直滚动

标签

虽然所有的控件元素都支持自己的文本,但是在某些情况下使用标签还是更方便,它的功能如下:

  • 能用于ribbon和表格

  • 支持显示文本和图像(见图26)

QtitanRibbon QT Ribbon

图26.使用Label显示文本和图像

选项卡控件

常规控件元素QTabBar是通过选定的主题定义的。

QtitanRibbon QT Ribbon

图27.TabControl in QtitanRibbon

状态栏

标准状态栏(QStatusBar)的外观也取决于当前选定的主题。
您也可以使用状态栏中的以下控件元素:

  • 下压按钮

  • 切换按钮

  • 进度条

  • 滑动条

  • 标签

QtitanRibbon QT Ribbon

图28.StatusBar in QtitanRibbon

类型 标题 发布时间
版本更新 QtitanRibbon v4.13.0

跨平台Ribbon UI组件QtitanRibbon发布v4.13.0,新版本为Office 2013-1016主题中的OfficePopupWindow添加了样式。

2017-11-17
版本更新 QtitanRibbon v4.12.0

跨平台Ribbon UI组件QtitanRibbon发布v4.12.0,新版本添加了对Qt 5.9的支持。

2017-08-15
文章 【更新】Ribbon UI组件QtitanRibbon发布v4.13.0|附下载

跨平台Ribbon UI组件QtitanRibbon发布v4.13.0,新版本为Office 2013-1016主题中的OfficePopupWindow添加了样式。

2017-11-17
文章 【更新】Ribbon UI组件QtitanRibbon发布v4.12.0|附下载

跨平台Ribbon UI组件QtitanRibbon发布v4.12.0,新版本添加了对Qt 5.9的支持。

2017-08-15

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/509295.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

选夫婿2

Problem Description 倾国倾城的大家闺秀潘小姐要选夫婿啦!武林中各门各派,武林外各大户人家,闻讯纷纷前来,强势围观。前来参与竞选的男生藏龙卧虎,高手云集,才子遍布,帅哥纷纭,更不…

Unity3d访问数据库

找到System.Data.dll文件,默认的地址是在C:\Program Files\Unity\Editor\Data\Mono\lib\mono\unity,这个根据你所安装的路径有关。 2、将该文件复制到你的工作空间下的Asset文件夹内 3、在你的编辑器中添加引用,我用的是VS 4、在命名空间内

轻松反编译C#的DLL

深入了解Unity,需要知道它内部是怎样工作的,API的代码长什么样,本文以UnityEditor.dll为例,演示如何轻松搞定C#库的反编译。 使用的软件是jetbrains系的doPeek,.NET Reflector 9.0也能做同样的工作,但不太推…

商人的诀窍

Problem Description E_star和von是中国赫赫有名的两位商人,俗话说的好无商不奸,最近E_star需要进一批苹果。可是他需要的苹果只有von才有,von的苹果都存在他的传说中很牛叉的仓库里,每个仓库都存了不同种类的苹果,而且…

训练总结(大一下)

ACM训练总结写这次的训练总结也就意味着这个学期快要结束了,“光阴似箭,日月如梭”,总觉得时间过得很快反而学的很少,但是这个学期待在ACM还是有收获的,从开学接触链表时候的一脸茫然 ,到现在已经学完了线段…

来淄博旅游

Problem Description 淄博某旅行社每天都要接待来自全国各地的游客,他们从各个城市来到张店区,游玩后又去淄博的其他旅游景点。从各个城市来张店的游客只是在网上报名,然后旅行社根据统计的人数,用大巴把他们从不同城市拉到张店。…

UTF-8中的BOM-带还是不带?

转自:http://blog.csdn.net/fanpei_moukoy/article/details/21464305 UTF-8 不需要 BOM,尽管 Unicode 标准允许在 UTF-8 中使用 BOM。所以不含 BOM 的 UTF-8 才是标准形式,在 UTF-8 文件中放置 BOM 主要是微软的习惯(顺便提一下&a…

ACM训练总结(大二)

时光飞速,不知不觉,现在是第三次写总结报告了,第一次的解题报告是在大一上学期的期末,那时候是满怀信心、充满斗志,觉得以后肯定在ACM这条路上有所作为,记得那次写解题报告的主要内容是一个自我提醒、自我激…

递归的函数

Problem Description 给定一个函数 f(a, b, c)&#xff1a;如果 a ≤ 0 或 b ≤ 0 或 c ≤ 0 返回值为 1&#xff1b;如果 a > 20 或 b > 20 或 c > 20 返回值为 f(20, 20, 20)&#xff1b;如果 a < b 并且 b < c 返回 f(a, b, c−1) f(a, b−1, c−1) − f(a,…

Qt5中文乱码解决方案

升级到Qt5.X之后&#xff0c;原先解决的Qt显示中文乱码的方法突然不适用了&#xff0c;找了很多方式来解决这个问题 第一种&#xff1a; 在公司代码里看到的方法&#xff0c;先将对应的cpp文件用windows自带的记事本打开&#xff0c;另存为UTF-8格式&#xff0c;然后在代码中&a…

Linux常用压缩和解压命令

.tar 解包 tar xvf filename.tar .tar 打包 tar cvf filename.tar dirname .gz 解压1 gunzip filename.gz .gz 解压2 gzip -d filename.gz .gz 压缩 gzip filename .tar.gz 和 .tgz 解压 tar zxvf filename.tar.gz .tar.gz 和 .tgz 压缩 tar zcvf filename.tar.gz dirnam…

Qt字符编码认识

长期以来&#xff0c;很多人都清楚&#xff0c;一旦C源码中直接使用了中文&#xff0c;这样的源码想要跨平台(I18N)会非常困难。 随着&#xff1a; Windows下&#xff1a;MSVC2010成为主流Linux下&#xff1a;GCC升级到4.6 C中的中文问题 才算有了一个比较优雅的、跨平台的Wor…

汉诺塔系列1

Problem Description n个盘子的汉诺塔问题的最少移动次数是2^n-1,即在移动过程中会产生2^n个系列。由于发生错移产生的系列就增加了&#xff0c;这种错误是放错了柱子&#xff0c;并不会把大盘放到小盘上&#xff0c;即各柱子从下往上的大小仍保持如下关系 &#xff1a; nmpq a…

Linux上传文件和下载文件命令行方式

在Linux主机上&#xff0c;安装上传下载工具包rz及sz 只需要安装下面这个包即可&#xff0c;执行下面的安装命令 yum install -y lrzsz 上传 在Linux命令行下输入rz&#xff0c; rz 1 输入rz命令后&#xff0c;会弹出对话框&#xff0c;选择你要上传的文件&#xff0c;选…

带你玩转Visual Studio——带你理解多字节编码与Unicode码

转自&#xff1a;http://blog.csdn.net/luoweifu/article/details/49382969 上一篇文章带你玩转Visual Studio——带你跳出坑爹的Runtime Library坑帮我们理解了Windows中的各种类型C/C运行时库及它的来龙去脉&#xff0c;这是C开发中特别容易误入歧途的一个地方&#xff0c;我…

汉诺塔系列2

Problem Description 用1,2,...,n表示n个盘子&#xff0c;称为1号盘&#xff0c;2号盘,...。号数大盘子就大。经典的汉诺塔问 题经常作为一个递归的经典例题存在。可能有人并不知道汉诺塔问题的典故。汉诺塔来源于 印度传说的一个故事&#xff0c;上帝创造世界时作了三根金刚石…

如何快速高效读懂1本书

——半研墨拆书2《如何阅读1本书》 作为运营来讲&#xff0c;除了在实操中学习&#xff0c;还要扩充视角&#xff0c;开阔思维&#xff0c;建立更多解决问题的思考框架&#xff0c;这就要求我们&#xff0c;要多读书&#xff0c;还要会读书。就是说&#xff0c;我们在快速阅读的…

计算组合数

Problem Description 计算组合数。C(n,m),表示从n个数中选择m个的组合数。 计算公式如下&#xff1a; 若&#xff1a;m0&#xff0c;C(n,m)1 否则&#xff0c; 若 n1&#xff0c;C(n,m)1 否则&#xff0c;若mn&#xff0c;C(n,m)1 否则 …

查看mysql表的数据和结构

一、查看数据表列表的语法结构 SHOW TABLES [FROM db_name] [LIKE ‘pattern’ | WHERE expr] FROM db_name表示&#xff0c;我们不仅可以查看当前数据库里的数据表&#xff0c;还可以查看别的数据库里的数据表 mysql> show tables; —————- | Tables_in_test | ——…

c#学习书籍

楼主这些年一直追随微软技术&#xff0c;也看了不少书籍&#xff0c;整理出一些个人认为不错的经典&#xff0c;推荐给各位阅读&#xff0c;以共同进步。 推荐顺序是由浅入深&#xff0c;深入浅出。 《Professional C#》&#xff0c;中文名《C#高级编程》&#xff0c;最新版本&…