为了继续开发示例应用程序,假设您需要在_文件_下创建_打开最近的_子菜单,并动态填写最近打开的文件或文档。因此,需要操作以下步骤:
1、在_File_下创建_Open最近的_子菜单。
2、编写动态生成操作,填写菜单的定制插槽。
3、连接.aboutToShow()菜单信号和自定义插槽。
实例
fromfunctoolsimportpartial
#Snip...
classWindow(QMainWindow):
#Snip...
defpopulateOpenRecent(self):
#Step1.Removetheoldoptionsfromthemenu
self.openRecentMenu.clear()
#Step2.Dynamicallycreatetheactions
actions=[]
filenames=[f"File-{n}"forninrange(5)]
forfilenameinfilenames:
action=QAction(filename,self)
action.triggered.connect(partial(self.openRecentFile,filename))
actions.append(action)
#Step3.Addtheactionstothemenu
self.openRecentMenu.addActions(actions)
以上就是Python PyQt菜单的动态填充的方法,希望对大家有所帮助。
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。