如何在小部件(如QlistWidget区域)上添加qmenu或Qactions作为列表项

How to add QMenus or Qactions on a Widget like QlistWidget area as a list item?

本文关键字:qmenu Qactions 列表 添加 小部 区域 QlistWidget      更新时间:2023-10-16

是否有办法在QListWidget上添加QActions作为列表项?我想做一个自定义窗口,它将显示一个小部件上的动作列表向上移动向下移动重命名和其他选项。我想把它显示在小部件上,就像它显示在上下文菜单上一样。

我试着添加它作为一个列表项目与图标和文本,但它的外观不是很好:

i)列表项目与空白图标没有正确对齐,即使添加16*16大小的空白图标也不占用任何空间和文本与图标&W/o图标不对齐。

ii)我无法在最右边添加指向右的黑色三角形,以防子菜单导致这在我的Linux机器上无法显示的unicode字符。这就是为什么我要添加QActions,因为它在原始位置弹出。

有什么建议吗?

是的,我有一个建议:不要尝试做这样花哨的小部件,用户会觉得它不直观

你应该找到另一种方法来实现它。

在我看来,像QToolButton这样带有QToolButton::MenuButtonPopup弹出模式的东西可以做到这一点。这样,您就可以在小部件中嵌入菜单和子菜单,使用QToolButton::setMenu()