QStyle 新风格的实现

 

 

    摸索了很久,实际实现才发现很简单。

    利用qt助手搜style可以发现style的实现和qapplication有关,在Qapplication里面搜到函数:

    void QApplication::setStyle(QStyle *style)

    接下来的问题就很简单了。注意到里面有一个example:

    QApplication::setStyle(new QWindowsStyle);

    只要把这句话加到main函数里面就可以使用新的风格了。当然为了使用对应的风格需要在头文件中包含进去。比如想要使用motifstlye需要在头文件中包含:

    #include <QMotifStyle>

    然后在main函数中添加:

    QApplication::setStyle(new QMotifStyle());

    即可使用。位置无所谓。

    

    至于各种风格的效果,可以在qt助手里面搜索gallery即可看到不同效果,个人推荐vista,很漂亮。然而很遗憾,在qt助手里有一句warning:This style is only available on the Windows XP platform because it makes use of Windows XP's style engine.与此类似,vista风格也不能使用。估计其他一些mac之类的也不能用。

    另外,可以直接输入字符串来进行风格变化,且在这种时候不需要包含头文件。如:

    QApplication::setStyle("cleanlooks");即可

原文地址:https://www.cnblogs.com/lvdongjie/p/5372882.html