2014-06-05 40 views
0

我在QT中使用C++进行编程,并尝试使用动态标签在每个标签中都有表格。为了做到这一点,我在主窗口中使用了我的TabWidget,并且只使用了tableView。由于这些标签是通过点击按钮动态添加到主窗口中的,因此我创建了一个新的小部件对象并将其放入其中。子窗口小部件中的TableView的上下文菜单

我也有其他版本的应用程序,其中没有选项卡,只是在主窗口中的tableView。

我无法在前一种情况下打开上下文菜单,而对于后者而言,它完美地工作。

我在这两种情况下都使用信号“customContextMenuRequested”。不明白当tableView位于子窗口小部件中时需要添加它才能工作。

请帮忙吗? 已经感谢!

+0

您是否使用视图的'mapToGlobal'函数来正确显示弹出式菜单,并且检查了信号是否触发了插槽?视图的上下文菜单策略是否设置为“CustomContextMenu”? – OnWhenReady

+0

“mapToGlobal”设置正确,策略设置为“CustomContextMenu”。这是没有触发插槽的信号。 –

+0

我从来没有遇到任何问题。你能提供更多的信息或小样本代码来证明这种行为。 – OnWhenReady

回答

0

你是否检查过没有任何涉及QAbstractScrollArea的问题,在这种情况下它可能会按照预期发出信号。

当widget的contextMenuPolicy是Qt :: CustomContextMenu,并且用户已经在widget上请求了一个上下文菜单时,发出这个信号。位置pos是小部件接收到的上下文菜单事件的位置。通常这是在小部件坐标中。此规则的例外是QAbstractScrollArea及其将上下文菜单事件映射到视口()的坐标的子类。

相关问题