Qt基础之五十:Qt设置样式的几种方式
Qt提供了多种设置样式的方式,本文以Qt5.12为例,详细分析这几种方式。
一、使用内置样式(QStyle)
// 设置应用程序全局样式
QApplication::setStyle(QStyleFactory::create("Fusion"));
// 或为单个控件设置样式
widget->setStyle(QStyleFactory::create("Windows"));
内置样式类型:
●"Windows", "WindowsVista"
●"Fusion"(跨平台)
●"Macintosh"(macOS)
●其他平台特定样式
Qt自带了一个Styles Example,这个例子不仅演示了如何使用"WindowsVista"等内置样式,还演示了如何子类化QProxyStyle来实现自定义样式。
QProxyStyle的继承关系如下:
QProxyStyle—>QCommonStyle—>QStyle
在上图中如果选择了Windows,实际上创建的是QWindowsStyle,它的继承关系如下
QWindowsStyle—>QCommonStyle—>QStyle
也就是说如果想更精细化的控制界面元素,可以直接子类化QCommonStyle来实现自定义样式
无论是Styles Example中的NorwegianWoodStyl