main.cpp

来自「Linux下的基于X11的图形开发环境。」· C++ 代码 · 共 83 行

CPP
83
字号
#include <private/qstyleinterface_p.h>#include <qobjectcleanuphandler.h>#include "qwindowsxpstyle.h"class WindowsXPStyle : public QStyleFactoryInterface, public QLibraryInterface{public:    WindowsXPStyle();    QRESULT queryInterface( const QUuid&, QUnknownInterface ** );    Q_REFCOUNT;    QStringList featureList() const;    QStyle *create( const QString& );    bool init();    void cleanup();    bool canUnload() const;private:    QObjectCleanupHandler styles;};WindowsXPStyle::WindowsXPStyle(){}QRESULT WindowsXPStyle::queryInterface( const QUuid &uuid, QUnknownInterface **iface ){    if ( uuid == IID_QUnknown )	*iface = (QUnknownInterface*)(QStyleFactoryInterface*)this;    else if ( uuid == IID_QFeatureList )	*iface = (QFeatureListInterface*)this;    else if ( uuid == IID_QStyleFactory )	*iface = (QStyleFactoryInterface*)this;    else if ( uuid == IID_QLibrary )	*iface = (QLibraryInterface*)this;    else        return QE_NOINTERFACE;    (*iface)->addRef();    return QS_OK;}QStringList WindowsXPStyle::featureList() const{    QStringList list;    list << "WindowsXP";    return list;}QStyle* WindowsXPStyle::create( const QString& s ){    if ( s.lower() == "windowsxp" ) {	QStyle *style = new QWindowsXPStyle();	styles.add( style );	return style;    }    return 0;}bool WindowsXPStyle::init(){    return qWinVersion() == Qt::WV_XP;}void WindowsXPStyle::cleanup(){    styles.clear();}bool WindowsXPStyle::canUnload() const{    return styles.isEmpty();}Q_EXPORT_COMPONENT(){    Q_CREATE_INSTANCE( WindowsXPStyle )}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?