前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PyQt 的动作(QAction)

PyQt 的动作(QAction)

作者头像
用户6021899
发布2019-08-14 17:37:42
4K0
发布2019-08-14 17:37:42
举报

PyQt使用各种动作(QAction)来为主窗口应用程序用户提供各种功能,这些动作会有文本(用在菜单,含菜单栏菜单和快捷菜单)、图标(用在菜单和工具栏上)、工具栏提示信息、状态栏提示信息,以及连接的触发时供调用的槽。动作可以设为可选中,即可通过点击来切换状态。如有必要,动作还可以绑定数据。

值得注意的是,需要给QAction一个父类对象,例如,主窗口,以便声明动作的作用域,还可以确保在适当的时候删除它们。

例如,若要创建一个“打开文件”的动作,可以这样写(这里会假设已有适当的图标和fileOpen方法):

self.fileOpenAction=QAction(QIcon("open.png"),"&Open",self) # 动作在self中可用

self.fileOpenAction.setShortcut(QKeySequence.Open)#设置标准化快捷键 self.fileOpenAction.setToolTip("打开文件")#工具栏提示文本 self.fileOpenAction.setStatusTip("打开已有的文件")#状态栏提示文本 self.fileOpenAction.triggered.connect(self.fileOpen)#连接槽

再例如,若要创建文本加粗动作(可切换状态),可以这样写:

self.actionTextBold = QAction(QIcon("textbold.png"),"&Bold",self) # 动作在self中可用 self.actionTextBold.setShortcut(QKeySequence.Bold)#设置跨平台标准化快捷键 #windows 系统下快捷键"Ctrl+B" self.actionTextBold.setToolTip("文本加粗")#工具栏提示文本 self.actionTextBold.setStatusTip("文本加粗")#状态栏提示文本 self.actionTextBold.setCheckable(True)#设为可选中(可切换状态) self.actionTextBold.toggled[bool].connect(self.textBold)#连接toggled信号的槽 #self.actionTextBold.toggled.connect(self.textBold)#也可以不指名信号参数

#也任然可以用triggered信号,但此时不能传递bool参数(选中状态) #self.actionTextBold.triggered.connect(self.textBold)

也可以在初始化时设定QAction的各项参数:

self.actionTextBold = QAction( QIcon.fromTheme('format-text-bold', QIcon('textbold.png')), "&Bold", self, priority=QAction.LowPriority, shortcut=Qt.CTRL + Qt.Key_B, triggered=self.textBold, checkable=True)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-02-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python可视化编程机器学习OpenCV 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档