1. 首页
  2. IT资讯

PyQt 的动作(QAction)

“u003Cdivu003Eu003Cp class=”ql-align-justify”u003EPyQt使用各种动作(QAction)来为主窗口应用程序用户提供各种功能,这些动作会有文本(用在菜单,含菜单栏菜单和快捷菜单)、图标(用在菜单和工具栏上)、工具栏提示信息、状态栏提示信息,以及连接的触发时供调用的槽。动作可以设为可选中,即可通过点击来切换状态。如有必要,动作还可以绑定数据。u003Cu002Fpu003Eu003Cp class=”ql-align-justify”u003E值得注意的是,需要给QAction一个父类对象,例如,主窗口,以便声明动作的作用域,还可以确保在适当的时候删除它们。u003Cu002Fpu003Eu003Cp class=”ql-align-justify”u003E例如,若要创建一个“打开文件”的动作,可以这样写(这里会假设已有适当的图标和fileOpen方法):u003Cu002Fpu003Eu003Cp class=”ql-align-justify”u003Eself.fileOpenAction=QAction(QIcon(“open.png”),”&Open”,self) # 动作在self中可用u003Cu002Fpu003Eu003Cp class=”ql-align-justify”u003Eself.fileOpenAction.setShortcut(QKeySequence.Open)#设置标准化快捷键u003Cu002Fpu003Eu003Cp class=”ql-align-justify”u003Eself.fileOpenAction.setToolTip(“打开文件”)#工具栏提示文本u003Cu002Fpu003Eu003Cp class=”ql-align-justify”u003Eself.fileOpenAction.setStatusTip(“打开已有的文件”)#状态栏提示文本u003Cu002Fpu003Eu003Cp class=”ql-align-justify”u003Eself.fileOpenAction.triggered.connect(self.fileOpen)#连接槽u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fpgc-imageu002Ff79fdbbecd5e4ef08558c36c847d7dc0″ img_width=”523″ img_height=”321″ alt=”PyQt 的动作(QAction)” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cp class=”ql-align-justify”u003E再例如,若要创建文本加粗动作(可切换状态),可以这样写:u003Cu002Fpu003Eu003Cpu003Eself.actionTextBold = QAction(QIcon(“textbold.png”),”&Bold”,self) # 动作在self中可用u003Cu002Fpu003Eu003Cpu003Eself.actionTextBold.setShortcut(QKeySequence.Bold)#设置跨平台标准化快捷键u003Cu002Fpu003Eu003Cpu003E#windows 系统下快捷键”Ctrl+B”u003Cu002Fpu003Eu003Cpu003Eself.actionTextBold.setToolTip(“文本加粗”)#工具栏提示文本u003Cu002Fpu003Eu003Cpu003Eself.actionTextBold.setStatusTip(“文本加粗”)#状态栏提示文本u003Cu002Fpu003Eu003Cpu003Eself.actionTextBold.setCheckable(True)#设为可选中(可切换状态)u003Cu002Fpu003Eu003Cpu003Eself.actionTextBold.toggled[bool].connect(self.textBold)#连接toggled信号的槽u003Cu002Fpu003Eu003Cpu003E#self.actionTextBold.toggled.connect(self.textBold)#也可以不指名信号参数u003Cu002Fpu003Eu003Cpu003E#也任然可以用triggered信号,但此时不能传递bool参数(选中状态)u003Cu002Fpu003Eu003Cpu003E#self.actionTextBold.triggered.connect(self.textBold)u003Cu002Fpu003Eu003Cpu003E也可以在初始化时设定QAction的各项参数:u003Cu002Fpu003Eu003Cpu003Eself.actionTextBold = QAction(u003Cu002Fpu003Eu003Cpu003EQIcon.fromTheme(‘format-text-bold’,u003Cu002Fpu003Eu003Cpu003EQIcon(‘textbold.png’)),u003Cu002Fpu003Eu003Cpu003E”&Bold”, self, priority=QAction.LowPriority,u003Cu002Fpu003Eu003Cpu003Eshortcut=Qt.CTRL + Qt.Key_B,u003Cu002Fpu003Eu003Cpu003Etriggered=self.textBold, checkable=True)u003Cu002Fpu003Eu003Cu002Fdivu003E”

原文始发于:PyQt 的动作(QAction)

主题测试文章,只做测试使用。发布者:玩家L-,转转请注明出处:http://www.cxybcw.com/10646.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code