qt 为什么QMenuBar添加QWidgetAction后QmenuBar右边有箭头
时间: 2024-02-29 09:55:55 浏览: 26
QMenuBar 添加 QWidgetAction 后,如果该 QWidgetAction 里面包含有子控件,那么 QMenuBar 右边会显示一个箭头,用于表示该 QWidgetAction 里面还有其它控件。这个箭头是 QMenuBar 的默认行为,无法通过 API 直接控制。如果不想要这个箭头,可以通过自定义 QMenuBar 的样式表来进行控制。具体可以参考 Qt 官方文档中对样式表的介绍。
相关问题
qt 为什么QMenuBar添加QWidgetAction后QWidgetAction在QmenuBar右边
QMenuBar 是一个特殊的菜单栏,它默认只能添加菜单项(QMenu)、分隔符(QAction)和窗口列表(QAction)。如果要在 QMenuBar 上添加 QWidgetAction,需要通过 QWidgetAction 的 `setDefaultWidget()` 方法将其包含的控件设置为一个 QWidget,并将该 QWidget 添加到 QMenuBar 上。这样做的效果是,在 QMenuBar 上会显示一个包含 QWidget 的按钮,单击该按钮会弹出 QWidget。由于 QWidgetAction 包含的是 QWidget,所以它不能被直接添加到 QMenu 中,而是会被放在 QMenuBar 的最右边。如果想要将 QWidgetAction 放在 QMenu 中,需要将 QWidgetAction 包装成 QAction,并将其添加到 QMenu 中。
qt 为什么QMenuBar添加QMenu后QmenuBar右边有箭头
QMenuBar在添加QMenu后,如果该QMenu下面有子QMenu,就会在QMenuBar右边显示一个箭头,表示该QMenu下面还有子QMenu,可以通过点击箭头展开子菜单。这是QMenuBar的默认行为,无法避免。如果您不想要箭头,可以考虑使用其他UI控件或自定义QMenuBar来实现您的需求。