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的Flask框架中使用模版的入门教程
Apr 20 Python
深入探究Python中变量的拷贝和作用域问题
May 05 Python
解决Python传递中文参数的问题
Aug 04 Python
Python中字符串格式化str.format的详细介绍
Feb 17 Python
对python sklearn one-hot编码详解
Jul 10 Python
python钉钉机器人运维脚本监控实例
Feb 20 Python
Django密码系统实现过程详解
Jul 19 Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
Aug 27 Python
原生python实现knn分类算法
Oct 24 Python
flask 使用 flask_apscheduler 做定时循环任务的实现
Dec 10 Python
Python利用pip安装tar.gz格式的离线资源包
Sep 14 Python
利用Python判断你的密码难度等级
Jun 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 抽象类的简单应用
2011/09/06 PHP
PHP使用函数用法详解
2018/09/30 PHP
PHP调用全国天气预报数据接口查询天气示例
2019/02/20 PHP
PHP抽象类与接口的区别详解
2019/03/21 PHP
Css3制作变形与动画效果
2015/07/24 Javascript
JS实现仿苹果底部任务栏菜单效果代码
2015/08/28 Javascript
js密码强度实时检测代码
2016/03/02 Javascript
Javascript数组Array方法解读
2016/03/13 Javascript
javascript制作照片墙及制作过程中出现的问题
2016/04/04 Javascript
有关easyui-layout中的收缩层无法显示标题的解决办法
2016/05/10 Javascript
jQuery使用正则表达式限制文本框只能输入数字
2016/06/18 Javascript
js实现控制textarea输入字符串的个数,鼠标按下抬起判断输入字符数
2016/10/25 Javascript
详解vue 配合vue-resource调用接口获取数据
2017/06/22 Javascript
利用jQuery实现简单的拖曳效果实例代码
2017/10/20 jQuery
利用vue + element实现表格分页和前端搜索的方法
2017/12/25 Javascript
js数组常用最重要的方法
2018/02/04 Javascript
vue实现页面内容禁止选中功能,仅输入框和文本域可选
2019/11/09 Javascript
[55:47]DOTA2上海特级锦标赛C组小组赛#2 LGD VS Newbee第三局
2016/02/27 DOTA
python将ansible配置转为json格式实例代码
2017/05/15 Python
python flask实现分页效果
2017/06/27 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
2018/07/27 Python
python3.4爬虫demo
2019/01/22 Python
Python简单基础小程序的实例代码
2019/04/28 Python
Python 求数组局部最大值的实例
2019/11/26 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
Python MySQL 日期时间格式化作为参数的操作
2020/03/02 Python
H5仿微信界面教程(一)
2017/07/05 HTML / CSS
如何反序的迭代一个序列?how do I iterate over a sequence in reverse order
2012/02/04 面试题
酒店开业策划方案
2014/06/02 职场文书
毕业生评语大全
2015/01/04 职场文书
护士辞职信怎么写
2015/02/27 职场文书
同学聚会通知短信
2015/04/20 职场文书
2015年妇联工作总结范文
2015/04/22 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书
创业计划书之酒店
2019/08/30 职场文书
Navicat for MySQL的使用教程详解
2021/05/27 MySQL