python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例


Posted in Python onFebruary 28, 2020

PyQt5工具栏控件QToolBar介绍

QToolBar控件是由文本按钮,图标或其他小控件按钮组成的可移动面板,通常位于菜单栏下方

QToolBar类中的常用方法

方法 描述
addAction() 添加具有文本或图标的工具按钮
addSeperator() 分组显示工具按钮
addWidget() 添加工具栏中按钮以外的控件
addToolBar() 使用QMainWindow类的方法添加一个新的工具栏
setMovable() 工具变得可移动
setOrientation() 工具栏的方向可以设置为Qt.Horizontal或Qt.certical

每当单击工具栏中的按钮时,都将发射actionTriggered信号,另外,这个信号将关联的QAction对象的引用发到连接的槽函数上

QToolBar使用实例

import sys
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *

class ToolBarDemo(QMainWindow):
  def __init__(self,parent=None):
    super(ToolBarDemo, self).__init__(parent)
    #设置标题与初始大小
    self.setWindowTitle('toolbar例子')
    self.resize(300,200)

    #垂直布局
    layout=QVBoxLayout()

    #在工具栏区域添加文件工具栏
    tb=self.addToolBar('File')
    #添加图形按钮
    new=QAction(QIcon('images\\new.png'),'new',self)
    tb.addAction(new)
    open=QAction(QIcon('images\open.png'),'open',self)
    tb.addAction(open)
    save=QAction(QIcon('images\save.png'),'save',self)
    tb.addAction(save)

    #图形对象点击触发自定义槽函数
    tb.actionTriggered[QAction].connect(self.toolbtnpressed)

    self.setLayout(layout)

  def toolbtnpressed(self,a):
    #输出,点击地图性按钮
    print('pressed tool button is ',a.text())
if __name__ == '__main__':
  app=QApplication(sys.argv)
  demo=ToolBarDemo()
  demo.show()
  sys.exit(app.exec_())

运行程序,显示效果如图

python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例

QToolBar代码分析

在这个例子中,首先调用addToolBar()方法在工具栏区域添加文件工具栏

tb=self.addToolBar('File')

然后,添加具有文本标题的工具按钮,工具栏通常包含图形按钮,具有图标和名称的QAction对象将被添加到工具栏中

new=QAction(QIcon('images\\new.png'),'new',self)
    tb.addAction(new)
    open=QAction(QIcon('images\open.png'),'open',self)
    tb.addAction(open)
    save=QAction(QIcon('images\save.png'),'save',self)
    tb.addAction(save)

最后,将actionTriggered信号连接到槽函数toolbtnpressed()

tb.actionTriggered[QAction].connect(self.toolbtnpressed)

本文详细讲解了PyQt5工具栏控件QToolBar的详细使用方法与实例,更多关于PyQt5库控介绍请查看下面的相关链接

Python 相关文章推荐
python单线程实现多个定时器示例
Mar 30 Python
Python实现HTTP协议下的文件下载方法总结
Apr 20 Python
深入浅出分析Python装饰器用法
Jul 28 Python
Python编程实现正则删除命令功能
Aug 30 Python
Python实现一个简单的验证码程序
Nov 03 Python
异步任务队列Celery在Django中的使用方法
Jun 07 Python
python 运用Django 开发后台接口的实例
Dec 11 Python
Python实现12306火车票抢票系统
Jul 04 Python
Kali Linux安装ipython2 和 ipython3的方法
Jul 11 Python
python视频按帧截取图片工具
Jul 23 Python
Python如何导出导入所有依赖包详解
Jun 08 Python
python scrapy简单模拟登录的代码分析
Jul 21 Python
Python爬取365好书中小说代码实例
Feb 28 #Python
Python反爬虫伪装浏览器进行爬虫
Feb 28 #Python
使用wxpy实现自动发送微信消息功能
Feb 28 #Python
解决ROC曲线画出来只有一个点的问题
Feb 28 #Python
Python编程快速上手——正则表达式查找功能案例分析
Feb 28 #Python
利用python画出AUC曲线的实例
Feb 28 #Python
Python编程快速上手——选择性拷贝操作案例分析
Feb 28 #Python
You might like
PHP使用imagick读取PDF生成png缩略图的两种方法
2014/03/20 PHP
laravel 5.4 + vue + vux + element的环境搭配过程介绍
2018/04/26 PHP
PHP执行系统命令函数实例讲解
2021/03/03 PHP
基于jQuery UI CSS Framework开发Widget的经验
2010/08/21 Javascript
jquery使用ColorBox弹出图片组浏览层实例演示
2013/03/14 Javascript
cocos2dx骨骼动画Armature源码剖析(一)
2015/09/08 Javascript
js仿支付宝填写支付密码效果实现多方框输入密码
2016/03/09 Javascript
设置jQueryUI DatePicker默认语言为中文
2016/06/04 Javascript
js中通过getElementsByName访问name集合对象的方法
2016/10/31 Javascript
纯js模仿windows系统日历
2017/02/04 Javascript
vue-cli+webpack记事本项目创建
2017/04/01 Javascript
详解windows下vue-cli及webpack 构建网站(三)使用组件
2017/06/17 Javascript
vscode中vue-cli项目es-lint的配置方法
2018/07/30 Javascript
vue-router的HTML5 History 模式设置
2018/09/08 Javascript
Vue中使用create-keyframe-animation与动画钩子完成复杂动画
2019/04/09 Javascript
Vue+Element实现表格编辑、删除、以及新增行的最优方法
2019/05/28 Javascript
js实现淘宝浏览商品放大镜功能
2020/10/28 Javascript
NodeJS和浏览器中this关键字的不同之处
2021/03/03 NodeJs
Python多线程编程(三):threading.Thread类的重要函数和方法
2015/04/05 Python
自己使用总结Python程序代码片段
2015/06/02 Python
详解用Python处理HTML转义字符的5种方式
2017/12/27 Python
神经网络相关之基础概念的讲解
2018/12/29 Python
python识别图像并提取文字的实现方法
2019/06/28 Python
Pytho爬虫中Requests设置请求头Headers的方法
2020/09/22 Python
英国第二大营养品供应商:Vitabiotics
2016/10/01 全球购物
Paul Smith英国官网:英国国宝级时装品牌
2019/03/21 全球购物
西安当代医院管理研究院笔试题
2015/12/11 面试题
《逃家小兔》教学反思
2014/02/23 职场文书
基督教婚礼主持词
2014/03/14 职场文书
房屋买卖协议样本
2014/11/16 职场文书
2015年服务员个人工作总结
2015/05/27 职场文书
2016年元旦寄语
2015/08/17 职场文书
实习报告范文
2019/07/30 职场文书
python中pandas对多列进行分组统计的实现
2021/06/18 Python
python获取字符串中的email
2022/03/31 Python
使用HBuilder制作一个简单的HTML5网页
2022/07/07 HTML / CSS