Don*_*alo 1 c++ user-interface qt
我正在使用Windows 7 Ultimate 32位上的Qt 4.7编写GUI应用程序.我想让用户从主菜单中更改GUI样式.可以从菜单中选择几个QStyles(QCDEStyle,QWindowsStyle,QCleanlooksStyle等),我用它QApplication::setStyle()
来设置新样式.
我想有一个选项可以返回到Windows 7的默认样式.默认样式,我的意思是QApplication::style()
在明确使用任何样式之前使用返回的样式QApplication::setStyle()
.以下是不起作用的尝试:
QStyle *default_style;
// During initialization of QMainWindow
default_style = QApplication::style();
// When default style is chosen from main menu
QApplication::setStyle(default_style);
Run Code Online (Sandbox Code Playgroud)
以上将无法工作,因为QApplication::setStyle()
取得对象的所有权并删除以前QStyle*
.
如何将QApplication
样式更改为默认样式?谢谢.
在一些sourcediving之后,事实证明样式的对象名称设置为样式名称,因此您可以说:
QString defaultStyle = this->style()->objectName();
Run Code Online (Sandbox Code Playgroud)
然后
qApp->setStyle(defaultStyle);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
790 次 |
最近记录: |