获得菜单项



我在我的应用程序用户中在按钮(qpushbutton)上实现运行时间菜单时必须在单击上传按钮时在FTP和HTTP之间做出选择。

QMenu menu(this); 
menu.addAction("ftp");
menu.addAction("http");
ui.mUploadBtn->setMenu(&menu);
ui.mUploadBtn->showMenu();

我的问题是,我怎么能知道选择哪个选择用户,或者是他们获得的任何功能。

谢谢

捕获菜单结果的一种方法是这样做:

 QAction* action = menu.exec(QCursor::pos());

然后您可以使用

action->text()==QString("ftp")

知道用户是否单击" FTP"。

因此,正如弗兰克·奥斯特菲尔德(Frank Osterfeld)在评论中所说的那样,您还可以在类中创建一个插槽,然后将菜单触发动作信号连接到它:

connect(&menu, SIGNAL(triggered(QAction*)), this, SLOT( sl_OnMenuTriggered(QAction* )));
void sl_OnMenuTriggered(QAction* _action)
{
if(_action->text()=="ftp") ...
}

这是"非阻止"方式。

相关内容

  • 没有找到相关文章

最新更新