具有自定义参数的QAction

麻生

单击动态创建的QAction时,我想使用参数执行插槽,但是在QMenu中创建QAction时,我无法添加变量,默认triggered()插槽无法传递它。

更清楚地说,我想归档以下内容:

connect(someAction, SIGNAL( triggered(MyClass*) ), this, SLOT( execute(MyClass*) );

我怎么能得到这个?我尝试创建自定义QAction,但是我不知道如何将其添加到QMenu-没有类似的功能addAction(QAction)

瓦汉乔

您可以将参数作为QVariant使用QAction::setData()函数存储在操作本身中例如:

QVariant v = qVariantFromValue((void *) yourClassObjPointer);
action->setData(v);

在插槽中,您将必须提取指针,例如:

void execute()
{
    QAction *act = qobject_cast<QAction *>(sender());
    QVariant v = act->data();
    YourClass yourPointer = (YourClass *) v.value<void *>();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

QVector与具有参数的自定义对象?

来自分类Dev

具有参数支持的自定义wp.media

来自分类Dev

具有对象/参数的NSObject自定义init

来自分类Dev

具有多个参数的自定义验证属性

来自分类Dev

具有多个隐式参数的自定义操作

来自分类Dev

具有自定义参数的样式触发器

来自分类Dev

具有参数支持的自定义wp.media

来自分类Dev

具有动态参数的自定义注释

来自分类Dev

QVector与具有参数的自定义对象?

来自分类Dev

angularjs-具有自动“参数”的自定义指令

来自分类Dev

具有自定义状态的自定义按钮

来自分类Dev

自定义打印功能的可变参数宏,在C中具有参数扩展

来自分类Dev

带有 HTACCESS 的自定义参数

来自分类Dev

具有自定义索引的数组

来自分类Dev

具有自定义字体的MessageBox?

来自分类Dev

具有自定义标题的DialogFragment

来自分类Dev

NSCollectionViewItem具有自定义视图

来自分类Dev

具有自定义属性的菜单

来自分类Dev

具有自定义字体的AlertDialogPro

来自分类Dev

具有自定义绑定的Savon

来自分类Dev

具有MonologBundle的自定义HandlerWrapper

来自分类Dev

具有自定义排序的CollectionViewSource

来自分类Dev

使自定义视图具有焦点

来自分类Dev

具有自定义数据的ListView

来自分类Dev

具有自定义密码的BiometricPrompt

来自分类Dev

具有自定义实例的BaseHTTPRequestHandler

来自分类Dev

具有自定义注释的目的

来自分类Dev

具有自定义类型的HashSet

来自分类Dev

具有自定义动画的PresentViewController