Qt自定义外观主要有以下三种方法:
- 使用Qt样式表
- 子类化窗口部件并重写绘制和鼠标事件
- 子类化QStyle或者一个预定义的风格
本篇文章主要介绍第一种通过样式表定义外观的使用方法,鉴于编写CSS文件内容相关的文章已经有很多,这里就不赘述,本篇主要通过一个ResourceManager类的的设计来说明在客户端中如何通过样式表来自定义外观。
设计思路
ResourceManager的主要功能是通过CSS自定义外观,通过两个方式, 一是读取本地的CSS文件,通过类声明中的initialize方法实现,二是在代码中一些CSS语句来实现,通过yellowButtonStyle方法实现(鉴于篇幅,此处只举此一例)。第一种方法适用于特定的控件,需要根据控件名来具体描述,第二种适合于一些通用控件,对某一类控件进行统一描述。
因为一个客户端用于自定义外观的对象只需要有一个,所以将该类设计成单例。
ResourceManager类声明
#ifndef RESOURCEMANAGER_H
#define RESOURCEMANAGER_H
#include <QObject>
class QApplication;