在我的APPlication中,我必须在Qtable小部件中显示过滤器选项(作为xls中的过滤器选项) 我使用了工具Button(带有属性“QToolButton :: MenuButtonPopup”)来显示菜单列表和 在首次单击菜单箭头时,它应显示菜单列表和任何菜单的选择,它应该只显示具有文本的行。 此功能正常。 但是,如果从菜单列表中选择了Nothing,并且用户第二次单击了菜单箭头,则应该隐藏列表,但在我的情况下 应用程序崩溃给出错误:
在QList :: operator []中ASSERT失败:“索引超出范围”,文件........ \ Qt \ 2010.04 \ qt \ include / QtCore /../../ src / corelib / tools / qlist.h,第447行
我写了以下代码:
QToolButton *lToolButton = new QToolButton();
lToolButton->setPopupMode(QToolButton::MenuButtonPopup);
lToolButton->setAutoRaise(true);
lToolButton->setText("Filter");
QMenu *lMenu = new QMenu();
QAction *lAction = new QAction("All",this);
lMenu->addAction(lAction);
lToolButton->setMenu(lMenu);
请让我知道我的编码有什么问题。
答案 0 :(得分:0)
你可以在调试器中运行你的应用程序并找到代码中的哪一行(不是在Qt的代码中)错误发生了吗?那么问题应该是因为更明显。