[发明专利]一种动态适配操作系统主题风格的Qt图形程序设计方法有效
申请号: | 201711247504.3 | 申请日: | 2017-12-01 |
公开(公告)号: | CN108008953B | 公开(公告)日: | 2021-05-07 |
发明(设计)人: | 刘步权;张冬松;蒋林轩;刘易;张恒;郑磊;刘号 | 申请(专利权)人: | 麒麟软件有限公司 |
主分类号: | G06F8/38 | 分类号: | G06F8/38;G06F8/34 |
代理公司: | 天津诺德知识产权代理事务所(特殊普通合伙) 12213 | 代理人: | 栾志超 |
地址: | 300000 天津市滨海新区滨海*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 动态 操作系统 主题 风格 qt 图形 程序设计 方法 | ||
一种动态适配操作系统主题风格的Qt图形程序设计方法,步骤包括:在当前国产操作系统上设计主题,创建用于安装的主题包;在所述国产操作系统上安装对应的所述主题包;在用户Qt图形程序中添加主题;在所述国产操作系统上编译和运行所述用户Qt图形程序,图形界面在所述国产操作系统上呈现相匹配的样式风格。本发明的有益效果是:能够自适应地展现与操作系统一致的主题风格,有效地避免了针对各个操作系统主题风格来手工修改Qt图形程序代码而导致的巨大工作量。
技术领域
本发明属于Qt图形程序设计技术领域,具体地说,涉及一种动态适配操作系统主题风格的Qt图形程序设计方法。
背景技术
Qt是一个跨平台的C++图形用户界面应用程序开发框架,本质上是一套函数库。它既可以用来开发图形界面程序,也可以用于开发非图形界面程序。Qt是面向对象的框架,很容易对其进行功能扩展。Qt具有很好的跨平台特性,可以运行于Windows和Linux操作系统中,甚至iOS和Android等各种操作系统。国产操作系统通常是在Linux的基础上二次开发而成,并且都能很好地支持Qt应用程序开发。
虽然在国产操作系统上开发Qt程序非常普遍,但在实际的应用过程中,不可避免地存在以下问题:
(1)国产操作系统主题风格的不一致性
所谓主题风格,包括一系列影响用户视觉体验的各种元素,诸如图形界面的窗口、菜单、标签、文本框、下拉框、单选框、复选框、按钮、滚动条的颜色、形状、大小等。国产操作系统并不特指某一个操作系统,当前的国产操作系统包括麒麟、深度、方德、普华等多个操作系统。这些操作系统都有自己的特色,所具有的主题风格也不一样;甚至同一个操作系统的不同版本的主题风格也不尽相同。
(2)Qt图形程序界面与国产操作系统主题风格的不一致性
一个Qt图形程序通常具有固定的界面风格,例如固定的窗口颜色、窗口形状、窗口大小等,这些界面风格使得Qt程序很难与所运行的国产操作系统的主题风格相一致。倘若为了与不同的国产操作系统甚至同一个国产操作系统的不同版本的主题风格相一致,采用手工方法修改Qt图形程序的源代码,则需要为各个操作系统和不同版本设计不同的程序代码,工作量非常大;并且当操作系统更新新的版本和新的主题风格后,则需要重新修改Qt图形程序代码,所以该方法不能较好地解决问题。
另外,Qt中的QStyle类提供了对Qt图形应用程序界面风格的封装,该类是一个抽象基类,它本身只定义与图形界面相关的一些方法,但这些方法并不由QStyle类实现,而是由继承该类的子类去实现。不同的子类就会对应一个具体的图形界面风格。典型风格包括QWindowsXPStyle、QWindowsVistaStyle、QMacStyle,分别对应Windows XP、WindowsVista、苹果Mac操作系统的图形界面风格。一个用户的Qt图形界面程序若采用QWindowsXPStyle,所设计的图形界面就会具有Windows XP操作系统风格。QStyle及其子类的继承关系如图6所示。
然而,由于国产操作系统起步较晚且市场占有率相对较低,因此当前还没有看到基于QStyle及其子类实现的与国产操作系统主题风格一致的C++类;并且由于国产操作系统品牌不一,用户编写的图形界面程序应该是一次编码就能够适应各种国产操作系统的主题风格,而不是针对每个操作系统都需要修改用户的图形程序代码。因此,为了有效地减少手工修改源代码带来的巨大工作量,如何做到Qt程序只需一次编码即可根据实际运行的国产操作系统平台来自适应地展现与操作系统一致的主题风格正是当前亟待解决的重要问题。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于麒麟软件有限公司,未经麒麟软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711247504.3/2.html,转载请声明来源钻瓜专利网。