零基础学Qt 4编程实例之如何设置Qt应用程序的观感-使用QStyle类

本文介绍了如何利用Qt的QStyle类设置应用程序的观感,通过QStyleFactory创建不同风格,并展示了如何通过QApplication::setStyle()和QWidget::setStyle()方法改变应用程序和窗口部件的样式。通过一个实例演示了如何在Qt Creator中创建和使用QStyle来定制界面观感。
摘要由CSDN通过智能技术生成

Qt样式表是专为设置应用程序的观感(look and feel)而生的,它是从Qt 4.2开始引入的描述窗口部件观感的强大机制,允许你按照自己的需求定制应用程序的观感。并且从Qt 4.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 XPWindows VistaMac所特有的样式只能在它们的本地平台上有效,因为它们需要依赖相应平台的主题引擎。

还有另外的一种样式QtDotNet,它来自于Qt Solutions模块。你也可以创建出自己所特别喜好的与众不同的样式,这部分内容已经超出了本书讨论的范围,如有需要请参阅相关文档。

9.1.2 如何设置样式

要设置整个应用程序的样式,可以调用QApplication::setStyle()方法,或者由用户在应用程序运行时输入-style命令行参数来指定:

     ./myapplication -style motif

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

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

9.2 QStyle类的使用

说到样式表,就不可避免的要谈到Qt的样式(Qt Style)。

Qt样式表出现之前,我们主要是通过子类化QStyle类或者预定义一个样式,例如QWindowStyle,来定制应用程序的观感,而Qt本身也是使用这种方法来为它所支持的不同平台提供特定的观感的。

QStyle类的应用比较广泛。它封装了GUI应用程序所使用的观感样式,是一个抽象基类。Qt包含了一系列的QStyle的子类,它们模拟了在各种不同平台上的GUI界面的观感,这些观感可以通过设置QWindowStyleQMacStyleQMotifStyle等样式来实现,而且在我们调用QtGui这个模块时,如果事先没有显式的指定,那么Qt会自动判断环境并选择最为适合的样式。此外,样式也可作为插件来被应用程序使用。

下面我们使用Qt Creator结合代码,创建一个实例,大家从中可以学习到使用QStyle类配置应用程序的观感的方法。

9.2.1 实例-使用QStyle

本实例的代码见styleCreator实例。

1步,创建项目。

启动Qt Creator,在弹出的【New...】对话框中选择Empty Qt4 Project类型,如图所示,点击【OK】按钮进入到下一步的设置界面。

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值