【问题标题】:Make Qt menu appear programmatically使 Qt 菜单以编程方式显示
【发布时间】:2018-07-15 08:11:50
【问题描述】:

我在QMenuBar 中有一个QMenu

我可以通过QMenu.show() QMenu.exec()QMenu.showTearOffMenu() 使QMenu 出现,但它们会在屏幕左上角、预先指定的位置或鼠标下方显示菜单。我希望菜单出现在其通常的位置(在QMenuBar 下)。这可能吗(在任何 Qt 语言中)?

【问题讨论】:

    标签: python c++ qt pyqt


    【解决方案1】:

    你可以简单地使用

    your_menuBar.addMenu(your_menu
    self.setMenuBar(your_menuBar)
    

    self 对应 QMainWindow

    参考 设置菜单栏

    将主窗口的菜单栏设置为 menuBar。

    http://doc.qt.io/qt-5/qmainwindow.html#setMenuBar

    【讨论】:

      【解决方案2】:

      在 Qt 中,您可以使用菜单栏的位置,然后在该位置打开菜单:

      poMenu->exec(mapToGlobal(m_poMenuBar->rect().bottomLeft()));
      

      【讨论】:

        猜你喜欢
        • 2010-11-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-19
        • 1970-01-01
        相关资源
        最近更新 更多