我不明白为什么在使用 Python 和 Qt 进行快速 GUI 编程一书中,通过调用addActions()
主窗口( )将上下文菜单添加到中央小部件self
,如下所示 (p. 180):
self.addActions(self.imageLabel,
(editInvertAction, …))
其中self
是 a QMainWindow
,并且imageLabel
是QLabel
作为中心小部件的集合
# Added actions will be put in a context menu:
self.imageLabel.setContextMenuPolicy(Qt.ActionsContextMenu)
self.setCentralWidget(self.imageLabel)
现在,为什么主窗口会以某种方式(通过self.addActions()
)与中央小部件的上下文菜单相关联?addActions()
直接在中央小部件上调用还不够吗?事实上,以下内容确实创建了一个上下文菜单:
self.imageLabel.addActions((editInvertAction, …))
为什么本书不以这种方式示例上下文菜单?这不等同于更复杂的self.addActions(…)
形式吗?
PS:我什至看到QMainWindow.addActions() 的文档甚至没有提到任何第一个参数(self.imageLabel
上面的)!我完全不明白为什么这本书使用上面的第一个片段而不是最后一个片段……救命!:)