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 循环遍历字典元素的简单方法
Sep 11 Python
详细解读tornado协程(coroutine)原理
Jan 15 Python
python 保存float类型的小数的位数方法
Oct 17 Python
pygame游戏之旅 按钮上添加文字的方法
Nov 21 Python
PyQt5 实现字体大小自适应分辨率的方法
Jun 18 Python
PyCharm2019安装教程及其使用(图文教程)
Sep 29 Python
python+Django实现防止SQL注入的办法
Oct 31 Python
修改Pandas的行或列的名字(重命名)
Dec 18 Python
Python Tkinter图形工具使用方法及实例解析
Jun 15 Python
浅析Python迭代器的高级用法
Jul 16 Python
Python pexpect模块及shell脚本except原理解析
Aug 03 Python
matplotlib相关系统目录获取方式小结
Feb 03 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 MVC模式在网站架构中的实现分析
2010/03/04 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
Laravel框架Blade模板简介及模板继承用法分析
2019/12/03 PHP
php回调函数处理数组操作示例
2020/04/13 PHP
JS获取IUSR_机器名和IWAM_机器名帐号的密码
2006/12/06 Javascript
Jquery Autocomplete 结合asp.net使用要点
2010/10/29 Javascript
在JS中解析HTML字符串示例代码
2014/04/16 Javascript
JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
2014/08/16 Javascript
在JavaScript中操作数组之map()方法的使用
2015/06/09 Javascript
js编写贪吃蛇的小游戏
2020/08/24 Javascript
学习AngularJs:Directive指令用法(完整版)
2016/04/26 Javascript
js简单倒计时实现代码
2016/04/30 Javascript
解析JavaScript实现DDoS攻击原理与保护措施
2016/12/26 Javascript
详解javascript中的变量提升和函数提升
2018/05/24 Javascript
vue 弹框产生的滚动穿透问题的解决
2018/09/21 Javascript
vue cli使用融云实现聊天功能的实例代码
2019/04/19 Javascript
Vue2(三)实现子菜单展开收缩,带动画效果实现方法
2019/04/28 Javascript
JavaScript实现打砖块游戏
2020/02/25 Javascript
纯JS实现五子棋游戏
2020/05/28 Javascript
如何在 Vue 中使用 JSX
2021/02/14 Vue.js
[41:52]2018DOTA2亚洲邀请赛3月29日小组赛B组Effect VS Secret
2018/03/30 DOTA
python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
2014/07/09 Python
python实现二分查找算法
2017/09/21 Python
详解Django之admin组件的使用和源码剖析
2018/05/04 Python
Numpy 改变数组维度的几种方法小结
2018/08/02 Python
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
2019/05/13 Python
基于python3生成标签云代码解析
2020/02/18 Python
python实现飞船大战
2020/04/24 Python
整理HTML5中表单的常用属性及新属性
2016/02/19 HTML / CSS
《挑山工》的教学反思
2014/02/16 职场文书
秋季校运动会广播稿
2014/02/23 职场文书
党员反腐倡廉学习心得体会
2015/08/15 职场文书
新员工实习期个人工作总结
2015/10/15 职场文书
2016婚礼主持词开场白
2015/11/24 职场文书
我对PyTorch dataloader里的shuffle=True的理解
2021/05/20 Python
JavaScript正则表达式实现注册信息校验功能
2022/05/30 Java/Android