应用窗口样式

时间:2014-12-30 09:20:32

标签: c++ qt qstyle

虽然我的操作系统是Windows,但我希望我的应用程序看起来像Mac应用程序。我知道我可以使用QApplication::setStyle轻松更改该样式。

QApplication::setStyle(new QWindowsVistaStyle)

我知道Qt也提供MacStyleMacStyle

QApplication::setStyle(new QMacStyle)

但是,似乎没有声明QMacSytle。编译器没有认识到它。 Qt网页上写着

Warning: This style is only available on Mac OS X because it relies on the HITheme APIs.

还有其他方法可以使用Mac OS样式窗口吗?因为我需要使用它。

1 个答案:

答案 0 :(得分:8)

Qt5提供了设置样式的新方法。例如:

QApplication a(argc, argv);
qDebug() << QStyleFactory::keys();
a.setStyle(QStyleFactory::create("Fusion"));

在我的电脑输出中是:

  

(“Windows”,“WindowsXP”,“WindowsVista”,“Fusion”)

如您所见,mac os样式不可用。

  

QStyleFactory类创建QStyle对象。

     

QStyle类是一个封装外观的抽象基类   和GUI的感觉。 QStyleFactory使用。创建一个QStyle对象   create()函数和标识样式的键。风格是   从样式插件中内置或动态加载(请参阅   QStylePlugin)。

     

可以使用keys()函数检索有效密钥。通常   它们包括“窗户”和“融合”。 视平台而定   可以使用“windowsxp”,“windowsvista”,“gtk”和“macintosh”。   请注意,键不区分大小写。