无法通过在另一个应用中双击来关闭通过 dbus 打开的 QMenu



我有 2 个应用程序,1 个有一个可以通过 DBus("菜单"应用程序)打开的 QMenu,另一个可以通过双击("单击"应用程序)打开该菜单。

当我通过在"单击"应用程序中双击打开菜单时,当我单击菜单外部时,菜单不会关闭。

菜单在以下情况下关闭:

  • 通过航站楼的QDBus打开
  • 通过单击"单击"应用程序中打开
  • 按电调键

如果菜单属于同一应用程序,则它将关闭。

以下是 2 个应用程序

https://gitlab.com/fbg/qmenu-dbus-test

预期成果:

  1. 打开两个应用程序
  2. 双击"点击"应用
  3. "菜单"应用中的菜单打开
  4. 单击外部菜单
  5. 菜单关闭

实际结果:

1-4 同上

    菜单
  1. 不会关闭,除非我单击"菜单"应用程序的窗口或按 Esc 键

编辑:

行为发生在 Solus 4.0 中

  • KDE 等离子版本:5.15.3

  • KDE 框架版本: 5.56.0

  • Qt版本:5.12.2

在 lubuntu (lxqt) 中,菜单显示一瞬间,然后关闭。

测试这一点的一个更简单的方法是使用 qdbusviewer。

  1. 构建并运行 testqmenudbus2
  2. 打开 qdbusviewer
  3. 查找服务组织。TestQMenu
  4. 在TestQMenu.local.MainWindow中找到方法showMenu
  5. 双击方法

通过添加解决了它

QThread::msleep(150);

在显示菜单之前到 dbus 方法。

可能只是一种解决方法。

相关内容

  • 没有找到相关文章

最新更新