gpt4 book ai didi

c++ - 如何在 Qt (windows xp) 中禁用禁用 QScrollbar 上下文菜单

转载 作者:太空宇宙 更新时间:2023-11-04 14:16:01 25 4
gpt4 key购买 nike

我有一个在 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);

最佳答案

我从来没有发现为什么它在我的上下文中没有真正起作用(它似乎与嵌套的小部件和对象有关)但我找到了一个类似于大锤方法但对我有用的解决方案:

foreach(QObject *widget, qApp->allWidgets())
{
QScrollBar *scrollBar = dynamic_cast<QScrollBar*>(widget);
if(scrollBar)
{
scrollBar->setContextMenuPolicy(Qt::NoContextMenu);
}
}

这会在启动时在整个应用程序中禁用滚动条(或其他对象,如果已修改)的上下文菜单。

关于c++ - 如何在 Qt (windows xp) 中禁用禁用 QScrollbar 上下文菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11328929/

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