qtdesigner添加菜单栏工具栏及监听事件
文章目录
- 前言
- 一、添加菜单栏
- 二、添加工具栏
- 三、动作点击事件监听
前言
学习了qtdesigner菜单栏和工具栏的有关知识,在此记录下来,方便以后参考。
一、添加菜单栏
创建Main Window的新窗体
创建之后会默认帮你创建菜单栏
之后双击就可以添加新的菜单项
如上图,双击菜单子项就可以添加对应的菜单项的子项
注意,这里会有个小bug,就是你直接双击之后是输入不了中文的,要先随便输入一个数字或者字母之后,再在动作编辑器里面修改名字为中文
单纯的文字看起来界面过于单调,可以添加些图标使得页面更加美观(注意:只能对应动作,即上面所说的菜单子项添加图标)
双击对应动作,在图标那些选择图标文件
之后可以看到图标已经添加上去了
二、添加工具栏
选择窗口类,右键点击,选择添加工具栏
如何添加工具栏里面的内容呢?其实工具栏里面放的也是动作,在动作编辑器里面选中刚刚新建的动作,然后拖到工具栏里面即可。
三、动作点击事件监听
按照上面的方法多创建一个动作,命名如下
保存之后输入下面命令将ui文件转换成py文件(ui文件命名为tool_demo):
pyuic5 -o tool_demo_ui.py tool_demo.ui
注意,转换的代码不能直接运行,需要创建一个py文件去读取界面代码并且展示,代码如下
tool_demo.py
from PyQt5.QtWidgets import QMainWindow, QApplication
import sysfrom tool_demo_ui import Ui_MainWindowclass MainWin(QMainWindow, Ui_MainWindow):def __init__(self):super().__init__()self.setupUi(self)if __name__ == '__main__':app = QApplication(sys.argv)main_win = MainWin()main_win.show()sys.exit(app.exec_())
运行结果:
动作点击监听函数是triggered,这里设置功能:点击对应动作弹出对应弹窗。
注意:因为菜单栏和工具栏都是同一个动作,所以写一个监听函数就好了
代码修改如下:
tool_demo.py
from PyQt5.QtWidgets import QMainWindow, QApplication, QMessageBox
import sysfrom tool_demo_ui import Ui_MainWindowclass MainWin(QMainWindow, Ui_MainWindow):def __init__(self):super().__init__()self.setupUi(self)# 调用监听函数self.controller()# 监听事件都放在这里面def controller(self):self.network_action.triggered.connect(self.network)self.version_action.triggered.connect(self.version)# 网路动作按钮点击事件def network(self):QMessageBox.about(self, '网络', '点击了网络动作')# 版本动作按钮店址事件def version(self):QMessageBox.about(self, '版本', '点击了版本动作')if __name__ == '__main__':app = QApplication(sys.argv)main_win = MainWin()main_win.show()sys.exit(app.exec_())
运行结果:
有什么问题欢迎在评论区域留言
qtdesigner添加菜单栏工具栏及监听事件相关推荐
- html中下拉列表监听事件,ExtJS 下拉框监听事件、日期选择器监听事件、实现动态给items添加删除数据...
本文将为您描述ExtJS 下拉框监听事件.日期选择器监听事件.实现动态给items添加删除数据,具体实现方法: 1.下拉框 下拉框选择时,触发事件的方法: 在 Ext.form.ComboBox 组件 ...
- miniui单元格点击弹框_miniui 给表格行添加监听事件的几种方法以及点击某列列名数据不能排序的问题...
最近在使用miniui框架做开发,在做表格行的点击监听事件中发现了几个属性,都可以起到监听效果但是执行的结果却大有不同.好了废话不多说,直接上代码. autoload="true" ...
- Unity编辑器扩展——在Editor下动态添加监听事件
对于Unity下例如按钮这种我们可以为它的监听事件手动进行赋值 如果需要通过编辑器扩展来动态为这些监听事件赋值应该如何去实现呢? 首先需要确认的是这些监听事件必须要符合一定的规则才能添加上: 1.必须 ...
- js常用对象:点击、双击、onload事件、鼠标相关、onblur事件和onfocus事件等;通过循环给多个元素添加事件、通过addEventListener() 方法 监听事件函数...
1.通过标签内部添加事件 (1)onclick事件:单击事件 (2)ondbclick事件:双击事件 (3)onload事件:只能在body中使用,入口函数里有:window. .οnlοad=f ...
- js原生给生成的html添加点击事件,原生js为动态元素添加监听事件
//已存在div //创建标签 function createpage(){ var span=document.createElement('span') span.innerHTML=" ...
- android 常用的监听器,Android中的Keyboard监听事件
前言 有关Keyboard监听事件,无非就是以下这几种情况: 1,操作显示或隐藏键盘: 2,判断当前键盘的状态: 3,键盘显示或隐藏后的拦截处理: 只要有使用到EditText,避免不了肯定会遇到以上 ...
- 拓展编辑器(五)_监听事件
监听事件 这个是拓展Project视图的最后一节,这里将会介绍一下如何借助程序来约束project视图中的资源.例如用程序来判断资源的原始位置以及将要移动的位置是否合法,从而决定是否能阻止本次移动.U ...
- nginx监听事件流程
在前面的几篇文章中已经分析了master进程.work进程的初始化流程.但一直没有分析监听socket的创建流程,nginx服务器只有在创建socket, 绑定socet,监听socket执行完成后, ...
- Android——监听事件总结
各种监听事件 1.按钮 Button (1)点击监听 btn_1.setOnClickListener(new View.OnClickListener() { (2)长按监听 btn_1.setOn ...
- java图形界面的监听_非专业码农 JAVA学习笔记 用户图形界面设计与实现-所有控件的监听事件...
用户图形界面设计与实现-监听事件 System.applet.Applet (一)用户自定义成分 1.绘制图形 Public voit piant(Ghraphics g){ g.drawLine等 ...
最新文章
- 【OpenCV 4开发详解】中值滤波
- ueditor上传图片回调_(常见解决方法)UEditor报错“后端配置项没有正常加载,上传插件不能正常使用”...
- JVM 性能调优监控工具 jps、jstack、jmap、jhat、jstat、hprof 使用详解
- 数字图像处理——中值滤波及其改进算法
- MarshalHelper
- 电大法学本科计算机考试题,2016年电大-电大法学本科计算机网考答案.doc
- python后端和爬虫_10分钟教你Python爬虫(上)-- HTML和爬虫基础
- centos 7 下 rabbitmq 3.8.0 erlang 22.1 源码编译安装
- Power BI Desktop交互式和弦图
- 【排序算法】归并排序-递归方法
- mac+ffmpeg+php,mac折腾安装ffmpeg小记
- java毕业设计_智能出差报销管理系统
- 波的散射,孔金瓯等著三卷本书籍目录
- mayapython编译器_Maya 安装 Cython(详细)
- 电视dns服务器修复,电信电视dns遭到劫持的解决方法分享
- 拇指玩」制作的「谷歌安装器」app
- 三明市机器人协会_☞ 智能之花 绚丽绽放——2019年三明市区首届青少年机器人竞赛活动在三明市陈景润实验小学完美收官...
- 新手学Windows XP
- godaddy plesk mysql_» Godaddy的Plesk面板语言更改图文详细教程
- JS屏蔽某地区(城市)访问网站
热门文章
- 计算机十年歌曲,抖音还有多少个十年能勇敢做热血青年是什么歌
- 一键清理系统垃圾.bat文件中的误区,你了解吗?
- waiter.OnGreet(Tom) Delegate event
- Vue中常用的开发小技巧-让开发更便捷快速-总结
- 利用Puppeteer来标准化抓站新闻格式
- 2019趋势科技面经
- python处理excel表格
- Linux各运行级别含义,描述Linux运行级别0-6的各自含义
- (20210116已解决)Windows下的CTF加载程序是什么?
- js特效 jQuery特效 网页特效网站 web网站模板下载推荐