gpt4 book ai didi

C++/QT : "run" a QAction

转载 作者:行者123 更新时间:2023-11-30 01:53:37 25 4
gpt4 key购买 nike

我需要使用 qt、c++、qtest(在 eclipse 中)自动化 gui 测试我有一个动态创建的菜单,其中包含动态创建的 QAction,我需要从中测试一个“新选项卡”QAction(在菜单内),这就是他的创建方式:

  m_pNewTabAction = new QAction(QIcon(":/images/add.png"), tr("&New Tab"), this);
m_pNewTabAction->setShortcut(tr("Ctrl+N"));
m_pNewTabAction->setStatusTip(tr("Open a new tab"));
connect(m_pNewTabAction, SIGNAL(triggered()), this, SLOT(NewTab()));

在我的测试类中,我设法使用“findChildren”函数访问私有(private) QAction 对象 (m_pNewTabAction),现在我不知道如何“执行”QAction(或者换句话说“添加新选项卡”) )我的测试类:

    //Get the actions available for the filemenu
QList<QAction *> fileactions = filemenu->findChildren<QAction *>();
//Execute an action??
fileactions.front()-> //how do I execute my QAction?

最佳答案

我相信您正在寻找 QAction::activate() :

void QAction::activate(ActionEvent event)

ActionEventQAction::TriggerQAction::Hover 之一。您可能需要 QAction::Trigger

关于C++/QT : "run" a QAction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23059521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com