9.1 应用程序的观感

相信大家已经发现,Qt 应用程序在每一个所支持的平台上都可以看起来像原生的本地程 序一样。Qt 是通过模拟各个平台的观感来实现这一点的 ,而不是使用特定的平台或者工具包 的窗口部件集。图 9-1 显示了在不同平台下的 Qt 组件中的 ComboBox 的观感。

9.1.1 应用程序的风格

图 9-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()方法,或者由用户在 应用程序运行时输入-style 命令行参数来指定:

./myapplication -style motif

如果没有显式的指定,那么 Qt 将根据用户的平台和桌面环境自行选择最为合适的样式 。

如果要单独设置某个窗口部件的样式,可以对其调用 QWidget::setStyle()方法。