【发布时间】:2012-07-25 23:06:31
【问题描述】:
我有一个在 Windows XP 机器上运行的 Qt 应用程序,我试图最终禁用右键单击滚动条时弹出的上下文菜单(使用“向下滚动”和“向上翻页”等... ) 在此应用程序中。
我尝试了以下方法,但没有成功:
ui->scrollArea->setContextMenuPolicy(Qt::NoContextMenu);
ui->scrollAreaWidgetContents->setContextMenuPolicy(Qt::NoContextMenu);
ui->scrollArea->horizontalScrollBar()->setContextMenuPolicy(Qt::NoContextMenu);
ui->scrollArea->setContextMenuPolicy(Qt::PreventContextMenu);
ui->scrollAreaWidgetContents->setContextMenuPolicy(Qt::PreventContextMenu);
ui->scrollArea->horizontalScrollBar()->setContextMenuPolicy(Qt::PreventContextMenu);
【问题讨论】:
-
您确定要禁用水平(而非垂直)滚动条上下文菜单吗?
horizontalScrollBar()->setContextMenuPolicy(Qt::NoContextMenu);对我来说很好。 -
嗨汉克,比你的评论 - 事实上我试图为所有滚动条禁用它们(水平滚动条只是一个例子)。我刚刚发现您是正确的-它适用于所有“标准”滚动条-但我使用的是在滚动区域内(或在表格视图的一侧)创建的带有
Qt::ScrollBarAsNeeded标志的滚动条。这里面的滚动条似乎忽略了 ContextMenuPolicy,即使我用给定的代码明确地设置了它们..
标签: c++ qt qt-creator