《QAction类参考(中文)》由会员分享,可在线阅读,更多相关《QAction类参考(中文)(8页珍藏版)》请在金锄头文库上搜索。
1、QAction类参考QAction类提供了一个可以同时出现在菜单和工具条上的抽象用户界面操作。 详情请见#include Inherits QObject。Inherited by QActionGroup。所有成员函数的列表。公有成员QAction( QObject * parent, const char * name = 0, bool toggle = FALSE )QAction( const QString & text, const QIconSet & icon, const QString & menuText, QKeySequence accel, QObject * p
2、arent, const char * name = 0, bool toggle = FALSE )QAction( const QString & text, const QString & menuText, QKeySequence accel, QObject * parent, const char * name = 0, bool toggle = FALSE )QAction()virtual void setIconSet ( const QIconSet & )QIconSet iconSet () constvirtual void setText ( const QSt
3、ring & )QString text () constvirtual void setMenuText ( const QString & )QString menuText () constvirtual void setToolTip ( const QString & )QString toolTip () constvirtual void setStatusTip ( const QString & )QString statusTip () constvirtual void setWhatsThis ( const QString & )QString whatsThis (
4、) constvirtual void setAccel ( const QKeySequence & key )QKeySequence accel () constvirtual void setToggleAction ( bool )bool isToggleAction () constbool isOn () constbool isEnabled () constvirtual bool addTo ( QWidget * w )virtual bool removeFrom ( QWidget * w )公有槽void toggle ()virtual void setOn (
5、 bool )virtual void setEnabled ( bool )信号void activated ()void toggled ( bool )属性QKeySequence accel - 操作快捷键bool enabled - 操作是否生效QIconSet iconSet - 操作的图标QString menuText - 操作的菜单文本bool on - 切换操作是否打开QString statusTip - 操作的状态提示QString text - 操作的描述文本bool toggleAction - 操作是否是切换操作QString toolTip - 操作的工具提示Q
6、String whatsThis - 操作的“这是什么?”帮助文本保护成员virtual void addedTo ( QWidget * actionWidget, QWidget * container )virtual void addedTo ( int index, QPopupMenu * menu ) 详细描述QAction类提供了一个可以同时出现在菜单和工具条上的抽象用户界面操作。 在图形用户界面应用程序中很多命令可以通过菜单选项、工具条按钮和键盘快捷键调用。因为同一个操作将会被执行,而与它的调用方法无关,并且因为菜单和工具条必须保持同步,所以提供一个操作这样的命令很有用。一个
7、操作可以被添加到菜单和工具条中并且将会自动使它们同步。例如,如果用户按下“加粗”工具条按钮,“加粗”菜单项将会自动被选中。QAction可以包含图标、菜单文本、快捷键、状态条文本、这是什么文本和工具提示。它们可以分别通过setIconSet()、setText()、setMenuText()、setToolTip()、setStatusTip()、setWhatsThis()和setAccel()来设置。操作可以是一个切换操作,例如,一个“加粗”工具条按钮,或者一个命令操作,例如“打开文件”来调用打开文件对话框。当切换操作的状态改变了,它发射toggled()信号。当命令操作和切换按钮被调用时
8、,它们都发射activated()信号。使用setToggleAction()来设置操作的切换状态。如果要看操作是否是切换操作,请使用isToggleAction()。切换操作可以是“开”,isOn()返回真,或者“关”,isOn()返回假。操作可以使用addTo()被添加到窗口部件(菜单或者工具条)中,并且使用removeFrom()来移除。一旦QAction已经被创建,它应该被添加到相应的菜单或者工具条重并且然后连接到执行这个操作的槽。例如: fileSaveAction = new QAction( Save File, QPixmap( filesave ), &Save, CTRL+
9、Key_S, this, save ); connect( fileSaveAction, SIGNAL( activated() ) , this, SLOT( save() ) );我们创建一个菜单文本为“保存(&S)”并且Ctrl+S为键盘快捷键的“文件保存”操作。我们连接fileSaveAction的activated()信号到我自己的save()槽。注意在这时还没有菜单或者工具条操作,接下来我们将添加它们: QToolBar * fileTools = new QToolBar( this, file operations ); fileSaveAction-addTo( fileT
10、ools ); QPopupMenu * file = new QPopupMenu( this ); menuBar()-insertItem( &File, file ); fileSaveAction-addTo( file );我们创建了一个工具条并把我们的fileSaveAction添加进去。类似的,我们创建一个菜单,添加一个顶级菜单项并且把我们的fileSaveAction添加进去。(对于一个更详细的实例请参考有QAction特征的简单应用程序排演。)我们建议把操作为它所在的窗口的子对象来创建。在绝大多数情况下操作是应用程序主窗口的子对象。为了防止循环,不要在一个稍后要添加操作的窗
11、口部件的子对象中创建操作。也可以参考主窗口和相关类和基本窗口部件。成员函数文档QAction:QAction ( QObject * parent, const char * name = 0, bool toggle = FALSE )构造一个父对象为parent并且名称为name的操作。 如果toggle为真,操作将是切换操作,否则它就是命令操作。如果parent是QActionGroup,新的操作会把自己插入到parent中。为了使快捷键和状态提示能够工作,parent必须是一个窗口部件或者一个父对象为窗口部件的操作组。QAction:QAction ( const QString &
12、text, const QIconSet & icon, const QString & menuText, QKeySequence accel, QObject * parent, const char * name = 0, bool toggle = FALSE )构造一个有如下属性的操作:描述为text、图标为icon、菜单文本为menuText并且键盘快捷键为accel。它是parent的子对象并且名称为name。如果toggle为真,操作将是切换操作,否则它就是命令操作。 如果parent是QActionGroup,新的操作会把自己插入到parent中。为了使快捷键和状态提示能够
13、工作,parent必须是一个窗口部件或者一个父对象为窗口部件的操作组。text和accel将会用于工具提示和状态提示,除非你使用setToolTip()和setStatusTip()为它们提供特定文本。QAction:QAction ( const QString & text, const QString & menuText, QKeySequence accel, QObject * parent, const char * name = 0, bool toggle = FALSE )这个构造函数的结果是没有图标的操作:描述为text、菜单文本为menuText并且键盘快捷键为acce
14、l。它是parent的子对象并且名称为name。如果toggle为真,操作将是切换操作,否则它就是命令操作。 如果parent是QActionGroup,新的操作会把自己插入到parent中。为了使快捷键和状态提示能够工作,parent必须是一个窗口部件或者一个父对象为窗口部件的操作组。text和accel将会用于工具提示和状态提示,除非你使用setToolTip()和setStatusTip()为它们提供特定文本。QAction:QAction ()销毁这个对象并且释放已经分配的资源。 QKeySequence QAction:accel () const返回操作的快捷键。详细情况请参考“a
15、ccel”属性。void QAction:activated () 信号当操作被用户激活时,也就是说当用户点击菜单选项或者工具条按钮或者按下操作的快捷键组合时,这个信号被发射。对于命令操作连接这个信号。对于切换按钮连接toggled()信号。例如:action/application.cpp、chart/chartform.cpp和themes/themes.cpp。bool QAction:addTo ( QWidget * w ) 虚把这个这个操作添加到窗口部件w。 现在操作可以被添加到QToolBar和QPopupMenu窗口部件中。被添加到菜单条中的操作会自动被显示为一个按钮,被添加到弹出菜单中的操作会自动显示为一个菜单项。如果操作被添加成功,addTo()返回真,否则返回假。(如果w不是QToolBar或者QPopupMenu,操作将不会被添加并且将返回假。)也可以参考removeFrom()。例如:action/application.cpp、action/toggleaction