gpt4 book ai didi

qt - 在 DoubleSpinBox 或 ComboBox 等 Qt 小部件上,我如何拥有自定义右键单击菜单

转载 作者:行者123 更新时间:2023-12-04 12:47:19 26 4
gpt4 key购买 nike

我的 Qt 对话框中有几个组合框和双旋转框。现在我需要一个菜单​​上的“ResetToDefault”项,当您右键单击小部件(旋转框或组合框)时出现该菜单。

我怎么得到它。有什么方法可以让我在右键单击时出现自定义菜单,或者有什么方法可以将项目添加到右键单击时出现的菜单中。

最佳答案

首先,对于 Qt4,最简单的方法是创建一个重置数据的操作,并使用 addAction 方法(或使用设计器)将其添加到小部件中。然后,将 contextMenuPolicy 属性设置为 Qt::ActionsContextMenu。将出现上下文菜单并触发操作。

代码示例:

QAction *reset_act = new QAction("Reset to default");
mywidget->addAction(reset_act);
mywidget->setContextMenuPolicy(Qt::ActionsContextMenu);
// here connect the 'triggered' signal to some slot

对于Qt3,您可能必须拦截上下文菜单事件,从而继承QSpinBox 等。或者你可以从主窗口拦截上下文菜单事件,检测它是否发生在应该有上下文菜单的小部件上方(使用 QWidget::childAt 方法)并在那里显示它。但您必须进行测试。

关于qt - 在 DoubleSpinBox 或 ComboBox 等 Qt 小部件上,我如何拥有自定义右键单击菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/190876/

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