⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 Linux下的基于X11的图形开发环境。
💻 CPP
字号:
#include "qaccessiblewidget.h"#include "qaccessiblemenu.h"#include <qtoolbutton.h>#include <qtoolbar.h>#include <qvariant.h>class AccessibleFactory : public QAccessibleFactoryInterface, public QLibraryInterface{public:    AccessibleFactory();    QRESULT queryInterface( const QUuid &, QUnknownInterface **iface );    Q_REFCOUNT    QStringList featureList() const;    QRESULT createAccessibleInterface( const QString &classname, QObject *object, QAccessibleInterface **iface );    bool init();    void cleanup();    bool canUnload() const;};AccessibleFactory::AccessibleFactory(){}QRESULT AccessibleFactory::queryInterface( const QUuid &iid, QUnknownInterface **iface ){    *iface = 0;    if ( iid == IID_QUnknown )	*iface = (QUnknownInterface*)(QFeatureListInterface*)(QAccessibleFactoryInterface*)this;    else if ( iid == IID_QFeatureList )	*iface = (QFeatureListInterface*)this;    else if ( iid == IID_QAccessibleFactory )	*iface = (QAccessibleFactoryInterface*)this;    else if ( iid == IID_QLibrary )	*iface = (QLibraryInterface*)this;    else	return QE_NOINTERFACE;    (*iface)->addRef();    return QS_OK;}QStringList AccessibleFactory::featureList() const{    QStringList list;    list << "QLineEdit";    list << "QComboBox";    list << "QSpinBox";    list << "QSpinWidget";    list << "QDial";    list << "QScrollBar";    list << "QSlider";    list << "QToolButton";    list << "QCheckBox";    list << "QRadioButton";    list << "QButton";    list << "QViewportWidget";    list << "QClipperWidget";    list << "QTextEdit";#ifndef QT_NO_ICONVIEW    list << "QIconView";#endif    list << "QListView";    list << "QListBox";    list << "QTable";    list << "QDialog";    list << "QMessageBox";    list << "QMainWindow";    list << "QLabel";    list << "QGroupBox";    list << "QStatusBar";    list << "QProgressBar";    list << "QToolBar";    list << "QMenuBar";    list << "QPopupMenu";    list << "QHeader";    list << "QTabBar";    list << "QTitleBar";    list << "QWorkspaceChild";    list << "QSizeGrip";    list << "QSplitterHandle";    list << "QToolBarSeparator";    list << "QDockWindowHandle";    list << "QDockWindowResizeHandle";    list << "QTipLabel";    list << "QFrame";    list << "QWidgetStack";    list << "QWidget";    return list;}QRESULT AccessibleFactory::createAccessibleInterface( const QString &classname, QObject *object, QAccessibleInterface **iface ){    *iface = 0;    if ( classname == "QLineEdit" ) {	*iface = new QAccessibleText( object, EditableText );    } else if ( classname == "QComboBox" ) {	*iface = new QAccessibleComboBox( object );    } else if ( classname == "QSpinBox" ) {	*iface = new QAccessibleRangeControl( object, SpinBox );    } else if ( classname == "QSpinWidget" ) {	*iface = new QAccessibleSpinWidget( object );    } else if ( classname == "QDial" ) {	*iface = new QAccessibleRangeControl( object, Dial );    } else if ( classname == "QScrollBar" ) {	*iface = new QAccessibleScrollBar( object );    } else if ( classname == "QSlider" ) {	*iface = new QAccessibleSlider( object );    } else if ( classname == "QToolButton" ) {	QToolButton *tb = (QToolButton*)object;	if ( !tb->popup() )	    *iface = new QAccessibleButton( object, PushButton );	else if ( !tb->popupDelay() )	    *iface = new QAccessibleButton( object, ButtonDropDown );	else	    *iface = new QAccessibleButton( object, ButtonMenu );    } else if ( classname == "QCheckBox" ) {	*iface = new QAccessibleButton( object, CheckBox );    } else if ( classname == "QRadioButton" ) {	*iface = new QAccessibleButton( object, RadioButton );    } else if ( classname == "QButton" ) {	*iface = new QAccessibleButton( object, PushButton );    } else if ( classname == "QViewportWidget" ) {	*iface = new QAccessibleViewport( object, object->parent() );    } else if ( classname == "QClipperWidget" ) {	*iface = new QAccessibleViewport( object, object->parent()->parent() );    } else if ( classname == "QTextEdit" ) {	*iface = new QAccessibleTextEdit( object );#ifndef QT_NO_ICONVIEW    } else if ( classname == "QIconView" ) {	*iface = new QAccessibleIconView( object );#endif    } else if ( classname == "QListView" ) {	*iface = new QAccessibleListView( object );    } else if ( classname == "QListBox" ) {	*iface = new QAccessibleListBox( object );    } else if ( classname == "QTable" ) {	*iface = new QAccessibleScrollView( object, Table );    } else if ( classname == "QDialog" ) {	*iface = new QAccessibleWidget( object, Dialog );    } else if ( classname == "QMessageBox" ) {	*iface = new QAccessibleWidget( object, AlertMessage );    } else if ( classname == "QMainWindow" ) {	*iface = new QAccessibleWidget( object, Application );    } else if ( classname == "QLabel" || classname == "QLCDNumber" ) {	*iface = new QAccessibleDisplay( object, StaticText );    } else if ( classname == "QGroupBox" ) {	*iface = new QAccessibleDisplay( object, Grouping );    } else if ( classname == "QStatusBar" ) {	*iface = new QAccessibleWidget( object, StatusBar );    } else if ( classname == "QProgressBar" ) {	*iface = new QAccessibleRangeControl( object, ProgressBar );    } else if ( classname == "QToolBar" ) {	QToolBar *tb = (QToolBar*)object;	*iface = new QAccessibleWidget( object, ToolBar, tb->label() );    } else if ( classname == "QMenuBar" ) {	*iface = new QAccessibleMenuBar( object );    } else if ( classname == "QPopupMenu" ) {	*iface = new QAccessiblePopup( object );    } else if ( classname == "QHeader" ) {	*iface = new QAccessibleHeader( object );    } else if ( classname == "QTabBar" ) {	*iface = new QAccessibleTabBar( object );    } else if ( classname == "QTitleBar" ) {	*iface = new QAccessibleTitleBar( object );    } else if ( classname == "QWorkspaceChild" ) {	*iface = new QAccessibleWidget( object, Window );    } else if ( classname == "QSizeGrip" ) {	*iface = new QAccessibleWidget( object, Grip );    } else if ( classname == "QSplitterHandle" ) {	*iface = new QAccessibleWidget( object, Separator, QString::null, 					QString::null, QString::null, QString::null, 					QString::null, QString::null, QAccessible::Moveable );    } else if ( classname == "QToolBarSeparator" ) {	*iface = new QAccessibleWidget( object, QAccessible::Separator, QString::null, 					QString::null, QString::null, QString::null, 					QString::null, QString::null, QAccessible::Unavailable );    } else if ( classname == "QDockWindowHandle" ) {	*iface = new QAccessibleWidget( object, QAccessible::Grip, object->property( "caption" ).toString(),					QString::null, QString::null, QString::null,					QString::null, QString::null, QAccessible::Moveable );    } else if ( classname == "QDockWindowResizeHandle" ) {	*iface = new QAccessibleWidget( object, QAccessible::Separator, QString::null,					QString::null, QString::null, QString::null,					QString::null, QString::null, QAccessible::Moveable );    } else if ( classname == "QTipLabel" ) {	*iface = new QAccessibleWidget( object, ToolTip );    } else if ( classname == "QFrame" ) {	*iface = new QAccessibleWidget( object, Border );    } else if ( classname == "QWidgetStack" ) {	*iface = new QAccessibleWidgetStack( object );    } else if ( classname == "QWidget" ) {	*iface = new QAccessibleWidget( object );    } else	return QE_NOINTERFACE;    (*iface)->addRef();    return QS_OK;}bool AccessibleFactory::init(){    return TRUE;}void AccessibleFactory::cleanup(){}bool AccessibleFactory::canUnload() const{    return (QAccessibleWidget::objects == 0);}Q_EXPORT_COMPONENT(){    Q_CREATE_INSTANCE( AccessibleFactory )}

⌨️ 快捷键说明

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