OJW*_*OJW 5 c++ qt qstyle qapplication
在 Qt GUI 应用程序中,QApplication::style()->objectName()将返回当前样式,例如“windowsvista”。
它如何/在哪里选择此默认样式,以及它使用哪些信息来决定?
Qt 带有内置样式,这些是(在我的 5.9.2 上):
每个都有自己的类,派生于QStyle.
要查看哪些可用(这取决于 Qt 构建配置):
const auto & styles = QStyleFactory::keys();
for(const auto & s : styles)
{
qDebug() << s;
}
Run Code Online (Sandbox Code Playgroud)
自定义插件(即 QTDIR/plugins/styles 目录中的库)也会显示(如果存在)。
默认样式是如何选择的?
默认样式在qapplication.cppQApplication文件的method中搜索,按以下顺序:style()
QT_STYLE_OVERRIDE(在 中设置QApplicationPrivate::process_cmdline());QApplicationPrivate::desktopStyleKey()(此方法从当前平台主题加载样式列表,并从该列表中选择列表中存在的第一个名称QStyleFactory::keys());QStyleFactory::keys()。如果无法确定样式,该函数将断言
Q_ASSERT(!"No styles available!");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5902 次 |
| 最近记录: |