Qt 撕下菜单似乎没有出现在 Alt-tab 任务切换器导航中,大概是因为它们不是顶级小部件。这意味着一旦撕下的菜单窗口被另一个窗口遮挡,用户就不可能再次看到它。
这是一个例子:
import sys
from PyQt4 import QtGui
app = QtGui.QApplication(sys.argv)
QtGui.QApplication.setQuitOnLastWindowClosed(False)
w = QtGui.QMainWindow(parent=None)
menu = w.menuBar().addMenu("Menu")
menu.setTearOffEnabled(True)
quit_action = QtGui.QAction("&Quit", w, triggered=QtGui.qApp.quit)
menu.addAction(quit_action)
w.show()
app.exec_()
要重现问题:
- 运行程序
- 打开标有“菜单”的菜单
- 点击虚线“撕下”菜单
- 关闭主窗口
- 使用 Alt-Tab 切换到完全遮盖撕下菜单的其他窗口
- 此时,没有办法找到撕掉的菜单窗口
我只尝试在 GNOME 2 和 GNOME Shell 中重现 Linux 上的问题,但我假设它发生在所有系统上。
如何使撕下的菜单窗口出现在 Alt-tab 导航中?