在PyQt QWidget中添加子菜单

7

我知道这是一个非常基础的问题,但我有点困惑,可能我忘记了些什么。

我正在尝试将子菜单“预览”添加到QMenuBar()中的“工具”选项。

目前为止,这是我正在尝试做的:

tools = fileMenu.addMenu('&Tools')
prevAction = QtGui.QAction('Preview',self)
prevInNuke = QtGui.QAction("Using &Nuke",prevAction)
tools.addAction(prevAction)
prevAction.addAction(prevInNuke)

但我想这并不是添加子菜单的正确方法。
1个回答

11

子菜单应该是一个QMenu,而不是QAction

tools = fileMenu.addMenu('&Tools')
prevMenu = QtGui.QMenu('Preview',self)
prevInNuke = QtGui.QAction("Using &Nuke",prevAction)
tools.addMenu(prevMenu)
prevAction.addAction(prevInNuke)

如果您使用方便方法,它可以变得更简单:

tools = fileMenu.addMenu('&Tools')
prevMenu = tools.addMenu('Preview')
prevAction = prevMenu.addAction('Using &Nuke')

谢谢您包含两个版本!当您可以使用时,便利方法确实很不错(但并非总是可用)。 - aldo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接