QMenu如何设置撕掉窗口标题?
Posted
技术标签:
【中文标题】QMenu如何设置撕掉窗口标题?【英文标题】:How to set QMenu tear-off window title? 【发布时间】:2017-11-27 22:32:57 【问题描述】:我在 Maya 2017 中创建了一个使用 PyQt5 的自定义 ui(嗯......从技术上讲是 PySide2,但它本质上是相同的)。
我在我的 ui 中创建了一些 CustomContextMenu
弹出菜单,我使用 popup.setTearOffEnabled(True)
能够将它们撕成单独的窗口(弹出,作为 QMenu 项)。
我似乎不知道如何为结果撕掉的窗口设置标题。目前,每个撕下的窗口的标题为“Maya-2017”,但为了清楚起见,我想给它一个唯一的名称。我注意到 Maya 的具有撕下功能的菜单项使用菜单名称命名生成的窗口,因此这似乎是可行的。我只是错过了一些明显的东西吗?
我曾尝试在 QMenu 上使用popup.setTitle('test name')
,以为它会将撕下窗口命名为这个标题,但它似乎没有做任何事情。除此之外,我很茫然。
【问题讨论】:
【参考方案1】:我不确定撕下的菜单是否在所有平台上都显示相同,但在我的 Linux 系统上,它们显示为带有标题栏的工具窗口。所以标题可以这样设置:
menu = QMenu('File')
menu.setTearOffEnabled(True)
menu.setWindowTitle('File')
【讨论】:
太棒了——这正是我所需要的;不知道我怎么错过了那个命令以上是关于QMenu如何设置撕掉窗口标题?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 QMenu 中的 QAction 转换为 QWidget?