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系列之从文件读取和保存数据
May 23 Python
Python复数属性和方法运算操作示例
Jul 21 Python
TensorFlow实现AutoEncoder自编码器
Mar 09 Python
Python定时任务sched模块用法示例
Jul 16 Python
一看就懂得Python的math模块
Oct 21 Python
Python面向对象思想与应用入门教程【类与对象】
Apr 12 Python
使用Python轻松完成垃圾分类(基于图像识别)
Jul 09 Python
浅析Windows 嵌入python解释器的过程
Jul 26 Python
Pytorch之保存读取模型实例
Dec 30 Python
基于python3实现倒叙字符串
Feb 18 Python
python BeautifulSoup库的安装与使用
Dec 17 Python
matplotlib阶梯图的实现(step())
Mar 02 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 智能404跳转代码,适合换域名没改变目录的网站
2010/06/04 PHP
学习使用curl采集curl使用方法
2012/01/11 PHP
PHP之uniqid()函数用法
2014/11/03 PHP
php生成动态验证码gif图片
2015/10/19 PHP
微信红包随机生成算法php版
2016/07/21 PHP
PHP实现的注册,登录及查询用户资料功能API接口示例
2017/06/06 PHP
js正确获取元素样式详解
2009/08/07 Javascript
jquery1.4.2 for Visual studio 2010 模板文件
2010/07/14 Javascript
扩展js对象数组的OrderByAsc和OrderByDesc方法实现思路
2013/05/17 Javascript
JS教程:window.location使用方法的区别介绍
2013/10/04 Javascript
javascripit实现密码强度检测代码分享
2013/12/12 Javascript
JS中获取函数调用链所有参数的方法
2015/05/07 Javascript
Angular.JS实现无限级的联动菜单(使用demo)
2017/02/08 Javascript
基于node打包可执行文件工具_Pkg使用心得分享
2018/01/24 Javascript
深入浅析Node环境和浏览器的区别
2018/08/14 Javascript
mpvue实现左侧导航与右侧内容的联动
2019/10/21 Javascript
React实现阿里云OSS上传文件的示例
2020/08/10 Javascript
TensorFlow实现MLP多层感知机模型
2018/03/09 Python
使用Python实现租车计费系统的两种方法
2018/09/29 Python
用Python获取摄像头并实时控制人脸的实现示例
2019/07/11 Python
用sqlalchemy构建Django连接池的实例
2019/08/29 Python
python图形绘制奥运五环实例讲解
2019/09/14 Python
Python selenium页面加载慢超时的解决方案
2020/03/18 Python
python 如何对logging日志封装
2020/12/02 Python
python爬虫scrapy框架之增量式爬虫的示例代码
2021/02/26 Python
小学教师学期末自我评价
2013/09/25 职场文书
银行柜员求职自荐书
2014/06/18 职场文书
学雷锋活动倡议书
2014/08/30 职场文书
纪检干部个人对照检查材料
2014/09/23 职场文书
教师党员自我评价范文
2015/03/04 职场文书
开工典礼致辞
2015/07/29 职场文书
四群教育工作总结
2015/08/10 职场文书
2016年感恩节寄语
2015/12/07 职场文书
《三国志》赏析
2019/08/27 职场文书
导游词之山西-五老峰
2019/10/07 职场文书
我们认为中短波广播场强仪的最佳组合
2022/04/05 无线电