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?

如何更改 QMenu 字体大小

如何在 Qmenu 中添加关闭按钮?

如何在 QMenu 中隐藏子菜单

Qt__主窗口菜单和工具条(QMainWindow,QMenu,QToolBar)

如何从顶部文件或标准输出中删除 n 行(即撕掉它的标题)[重复]