第9 章Qt 样式表与应用程序观感本章重点★ 掌握设置应用程序观感的方法★ 了解 Qt 窗口部件的样式★ 了解 Qt 样式表的作用★ 掌握 Qt 样式表的基本语法★ 掌握样式表与Qt Designr 的集成使用★ 了解子类化 QStyle 类的方法★ 掌握不使用样式表改变应用程序观感的方法Qt 样式表是专为设置应用程序的观感(look and feel)而生的,它是从 Qt 4.2 开始引入的描述窗口部件观感的强大机制,允许你按照自己的需求定制应用程序的观感。并且从 Qt4.5 开始,Qt 样式表全面支持 Mac OS X 平台。Qt 样式表的设计灵感主要来自于 HTML 的层叠样式表(Cascading Style Sheets,CSS),但它同时适用于窗口部件。在介绍 Qt 样式表之前,我们先来看看什么是应用程序的外观(或者叫做观感)。9.1 应用程序的观感相信大家已经发现,Qt 应用程序在每一个所支持的平台上都可以看起来像原生的本地程序一样。Qt 是通过模拟各个平台的观感来实现这一点的,而不是使用特定的平台或者工具包的窗口部件集。图 9-1 显示了在不同平台下的 Qt 组件中的 ComboBox 的观感。图 9-1 窗口部件在不同平台上的观感9.1.1 应用程序的风格每个应用程序都有自己的样式(Style)。运行于 KDE 下的 Qt/X11 应用程序的默认样式是 Plastique,而运行于 GNOME 下的应用程序的默认样式是 Cleanlooks。这些样式使用了渐变和抗锯齿效果,以用来提供一种时尚的观感。运行 Qt 应用程序的用户可以通过使用命令行参数-style 覆盖原有的默认样式。例如,在 X11 下,要想使用Motif 样式来运行名为 app 的程序,只需要简单的输入以下命令即可:./app –style motif与其他样式不同,Windows XP、Windows Vista 和 Mac 所特有的样式只能在它们的本地平 台 上 有 效 , 因 为 它 们 需 要 依 赖 相 应 平 台 的 主 题 引 擎 。还 有 另 外 的 一 种 样 式 QtDotNet, 它 来 自 于 Qt Solutions 模 块 。 你 也 可 以 创 建 出 自 己 所特 别 喜 好 的 与 众 不 同 的 样 式 , 这 部 分 内 容 已 经 超 出 了 本 书 讨 论 的 范 围 , 如 有 需 要 请 参 阅 相 关文 档 。9.1.2 如 何 设 置 样 式要 设 置 整 个 应 用 程 序 的 样 式 , 可 以 调 用 QApplication::setStyle()方 法 , 或 者 由 用 户...