QAction成员函数文档

本文详细介绍了QAction类的各种构造函数及成员函数,包括如何创建不同类型的QAction对象、设置其属性如快捷键、图标等,以及如何响应用户交互。
 

成员函数文档

QAction::QAction( QObject * parent,const char * name= 0, bool toggle = FALSE )

构造一个父对象为 parent并且名称为 name的操作。

如果toggle为真,操作将是切换操作,否则它就是命令操作。

如果parentQActionGroup,新的操作会把自己插入到parent中。

为了使快捷键和状态提示能够工作,parent必须是一个窗口部件或者一个父对象为窗口部件的操作组。

QAction::QAction ( const QString & 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为真,操作将是切换操作,否则它就是命令操作。

如果parentQActionGroup,新的操作会把自己插入到parent中。

为了使快捷键和状态提示能够工作,parent必须是一个窗口部件或者一个父对象为窗口部件的操作组。

textaccel将会用于工具提示和状态提示,除非你使用setToolTip()和setStatusTip()为它们提供特定文本。

QAction::QAction ( const QString & text,const QString & menuText,QKeySequence accel,QObject * parent,const char * name= 0, bool toggle = FALSE )

这个构造函数的结果是没有图标的操作:描述为 text、菜单文本为 menuText并且键盘快捷键为 accel。它是 parent的子对象并且名称为 name。如果 toggle为真,操作将是切换操作,否则它就是命令操作。

如果parentQActionGroup,新的操作会把自己插入到parent中。

为了使快捷键和状态提示能够工作,parent必须是一个窗口部件或者一个父对象为窗口部件的操作组。

textaccel将会用于工具提示和状态提示,除非你使用setToolTip()和setStatusTip()为它们提供特定文本。

QAction::~QAction ()

销毁这个对象并且释放已经分配的资源。

QKeySequenceQAction::accel () const

返回操作的快捷键。详细情况请参考“accel”属性。

void QAction::activated () [信号]

当操作被用户激活时,也就是说当用户点击菜单选项或者工具条按钮或者按下操作的快捷键组合时,这个信号被发射。

对于命令操作连接这个信号。对于切换按钮连接toggled()信号。

例如:action/application.cppchart/chartform.cppthemes/themes.cpp

bool QAction::addTo (QWidget * w) [虚]

把这个这个操作添加到窗口部件 w

现在操作可以被添加到QToolBarQPopupMenu窗口部件中。

被添加到菜单条中的操作会自动被显示为一个按钮,被添加到弹出菜单中的操作会自动显示为一个菜单项。

如果操作被添加成功,addTo()返回真,否则返回假。(如果w不是QToolBar或者QPopupMenu,操作将不会被添加并且将返回假。)

也可以参考removeFrom()。

例如:action/application.cppaction/toggleaction/toggleaction.cppchart/chartform.cpptextedit/textedit.cpp

QActionGroup中被重新实现。

void QAction::addedTo ( QWidget * actionWidget,QWidget * container) [虚 保护]

当它在 container中为这个操作创建一个窗口部件时( actionWidget),这个函数被 addTo()调用。

void QAction::addedTo ( int index,QPopupMenu * menu) [虚 保护]

这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。

当它在弹出菜单menu中为这个操作创建一个索引为index的菜单项时,这个函数被addTo()调用。

QIconSetQAction::iconSet () const

返回操作的图标。详细情况请参考“iconSet”属性。

bool QAction::isEnabled () const

如果操作生效,返回真,否则返回假。详细情况请参考“enabled”属性。

bool QAction::isOn ()const

如果切换操作是开的,返回真,否则返回假。详细情况请参考“on”属性。

bool QAction::isToggleAction () const

如果操作是切换操作,返回真,否则返回假。详细情况请参考“toggleAction”属性。

QStringQAction::menuText ()const

返回操作的菜单文本。详细情况请参考“menuText”属性。

bool QAction::removeFrom ( QWidget * w) [虚]

从窗口部件 w中移除操作。

如果操作被成功移除,返回真,否则返回假。

也可以参考addTo()。

void QAction::setAccel ( const QKeySequence & key) [虚]

设置操作的快捷键为key。详细情况请参考“accel”属性。

void QAction::setEnabled ( bool ) [虚 槽]

设置操作是否生效。详细情况请参考“enabled”属性。

void QAction::setIconSet (const QIconSet &) [虚]

设置操作的图标。详细情况请参考“iconSet”属性。

void QAction::setMenuText (const QString &) [虚]

设置操作的菜单文本。详细情况请参考“menuText”属性。

void QAction::setOn (bool ) [虚 槽]

设置切换按钮为开。详细情况请参考“on”属性。

void QAction::setStatusTip (const QString &) [虚]

设置操作的状态提示。详细情况请参考“statusTip”属性。

void QAction::setText ( const QString &) [虚]

设置操作的描述文本。详细情况请参考“text”属性。

void QAction::setToggleAction ( bool )[虚]

设置操作是否是切换按钮。详细情况请参考“toggleAction”属性。

void QAction::setToolTip (const QString &) [虚]

设置操作的工具提示。详细情况请参考“toolTip”属性。

void QAction::setWhatsThis (const QString &) [虚]

设置操作的“这是什么?”帮助文本。详细情况请参考“whatsThis”属性。

QStringQAction::statusTip ()const

返回操作的状态提示。详细情况请参考“statusTip”属性。

QStringQAction::text () const

返回操作的描述文本。详细情况请参考“text”属性。

void QAction::toggle () [槽]

切换切换按钮的状态。

也可以参考ontoggled()和toggleAction

void QAction::toggled ( bool ) [信号]

当切换按钮改变状态时,这个信号被发射,命令操作和QActionGroups不发射toggled()。

参数表示新的状态,也就是如果切换按钮被打开,为真,或者如果它被关闭,为假。

依赖切换按钮是否被打开或者关闭来触发用户命令要把它连接到一个可以得到bool变量来识别状态的槽,例如:

        QMainWindow * window = new QMainWindow;
        QAction * labelonoffaction = new QAction( window, "labelonoff", TRUE );
        QObject::connect( labelonoffaction, SIGNAL( toggled( bool ) ),
window, SLOT( setUsesTextLabel( bool ) ) );

也可以参考activated()、toggleActionon

实例:action/toggleaction/toggleaction.cpp

QStringQAction::toolTip () const

返回操作的工具提示。详细情况请参考“toolTip”属性。

QStringQAction::whatsThis ()const

返回操作的“这是什么?”帮助文本。详细情况请参考“whatsThis”属性。


属性文档

QKeySequenceaccel

这个属性保存的是操作的快捷键。

键代码可以在Qt::KeyQt::Modifier中找到。这里没有默认快捷键。

通过setAccel()设置属性值并且通过accel()来获得属性值。

bool enabled

这个属性保存的是操作是否生效。

失效的操作不能被用户选择。它们不从菜单/工具条上消失,但是会以某种方式表面它们不可用,例如,它们也许被变灰。

失效操作上的“这是什么?”帮助还是由被设置的QAction::whatsThis属性提供。

通过setEnabled()设置属性值并且通过isEnabled()来获得到属性值。

QIconSeticonSet

这个属性保存的是操作的图标。

这个图标会用在工具条按钮和菜单中菜单文本的左面。这里没有默认图标。

(请参考action/toggleaction/toggleaction.cpp实例。)

通过setIconSet()设置属性值并且通过iconSet()来获得属性值。

QStringmenuText

这个属性保存的是操作的菜单文本。

如果操作备添加为菜单中的一个菜单选项将会由图标(如果有的话)、菜单文本和快捷键(如果有的话)组成。如果没有菜单文本在构造函数或者使用setMenuText()中明确设置,操作的描述文本将用来作为菜单文本。这里没有默认菜单文本。

也可以参考text

通过setMenuText()设置属性值并且通过menuText()来获得属性值。

bool on

这个属性保存的是切换按钮是否为开。

对于命令操作和QActionGroup这个属性总是开的(真),setOn()对于它们没有效果。对于为真的操作,这个属性的默认值是关(假)。

也可以参考toggleAction

通过setOn()设置属性值并且通过isOn()来获得属性值。

QStringstatusTip

这个属性保存的是操作的状态提示。

这个状态提示将会被显示在操作的顶级父窗口部件提供的所有状态条上。

如果没有状态提示被定义,操作使用工具条提示文本。

这里没有默认的状态提示。

也可以参考statusTiptoolTip

通过setStatusTip()设置属性值并且通过statusTip()来获得属性值。

QStringtext

这个属性保存的是操作的描述文本。

如果QMainWindow::usesTextLabel为真,文本将会作为相应工具按钮上的文本。如果没有菜单文本和工具条提示被定义,它也可以作为相应的默认文本。这里没有默认的文本。

也可以参考menuTexttoolTipstatusTip

通过setText()设置属性值并且通过text()来获得属性值。

bool toggleAction

这个属性保存的是操作是否是切换操作。

切换操作的状态为开/关中的一种。例如,“加粗”工具条按钮是开或者是开。不是切换操作的操作是命令操作,命令操作被简单执行。这个属性默认为假。

在一些情况下,切换操作的状态依赖于其它切换操作状态。例如,“左对齐”、“中间对齐”和“右对齐”切换操作是互斥的。为了达到互斥切换,把相关切换操作添加到QActionGroup中,并且把QActionGroup::exclusive属性设置为真。

通过setToggleAction()设置属性值并且通过isToggleAction()来获得属性值。

QStringtoolTip

这个属性保存得失操作的工具提示。

这个文本用于工具提示。如果没有状态提示被设置,工具提示会被用作状态提示。

如果没有指定工具提示,那么操作的文本被使用并且如果没有指定操作的文本没有被指定,那么描述文本将被用作工具提示。

这里没有默认工具提示文本。

也可以参考statusTipaccel

通过setToolTip()设置属性值并且通过toolTip()来获得属性值。

QStringwhatsThis

这个属性保存的是操作的“这是什么?”帮助文本。

“这是什么?”文本被用来提供操作的简要描述。这个文本中可以使用多信息文本(比如HTML标记——对于支持的标记得列表请参考QStyleSheet)。这里没有默认的“这是什么?”文本。

也可以参考QWhatsThis

通过 setWhatsThis()设置属性值并且通过 whatsThis()来获得属性值。


欢迎您使用http://Blogmove.cn提供的"博客搬家"和"博文三窟"服务.
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值