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中遍历文件的3个方法
Sep 02 Python
让Python更加充分的使用Sqlite3
Dec 11 Python
Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例
Mar 15 Python
python实现zabbix发送短信脚本
Sep 17 Python
python 字符串只保留汉字的方法
Nov 16 Python
Pythony运维入门之Socket网络编程详解
Apr 15 Python
python面向对象之类属性和类方法案例分析
Dec 30 Python
基于python3实现倒叙字符串
Feb 18 Python
Python flask路由间传递变量实例详解
Jun 03 Python
Django QuerySet查询集原理及代码实例
Jun 13 Python
Python3中小括号()、中括号[]、花括号{}的区别详解
Nov 15 Python
讲解Python实例练习逆序输出字符串
May 06 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
基于PHPExcel的常用方法总结
2013/06/13 PHP
php字符比较函数similar_text、strnatcmp与strcasecmp用法分析
2014/11/18 PHP
PHP文件上传类实例详解
2016/04/08 PHP
php注册和登录界面的实现案例(推荐)
2016/10/24 PHP
详解php用curl调用接口方法,get和post两种方式
2017/01/13 PHP
PHP autoload使用方法及步骤详解
2020/09/05 PHP
关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
2010/11/30 Javascript
javascript一元操作符(递增、递减)使用示例
2013/08/07 Javascript
jQuery实现自动调整字体大小的方法
2015/06/15 Javascript
Angular.js中处理页面闪烁的方法详解
2017/03/09 Javascript
原生javascript实现文件异步上传的实例讲解
2017/10/26 Javascript
Node.js Buffer用法解读
2018/05/18 Javascript
AngularJs1.x自定义指令独立作用域的函数传入参数方法
2018/10/09 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
2018/10/10 jQuery
深入浅析golang zap 日志库使用(含文件切割、分级别存储和全局使用等)
2020/02/19 Javascript
node.js 如何监视文件变化
2020/09/01 Javascript
Vue项目配置跨域访问和代理proxy设置方式
2020/09/08 Javascript
vue-cli3自动消除console.log()的调试信息方式
2020/10/21 Javascript
wxpython 学习笔记 第一天
2009/02/09 Python
python复制文件代码实现
2013/12/23 Python
Python ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
2014/06/10 Python
Python实现定时精度可调节的定时器
2018/04/15 Python
使用python的pandas库读取csv文件保存至mysql数据库
2018/08/20 Python
如何实现Django Rest framework版本控制
2019/07/25 Python
python web框架 django wsgi原理解析
2019/08/20 Python
tensorflow指定CPU与GPU运算的方法实现
2020/04/21 Python
Python使用xlrd实现读取合并单元格
2020/07/09 Python
PyCharm2020.1.2社区版安装,配置及使用教程详解(Windows)
2020/08/07 Python
大一学生的职业生涯规划书范文
2014/01/19 职场文书
公司合作协议范文
2014/10/01 职场文书
教您怎么制定西餐厅运营方案 ?
2019/07/05 职场文书
CSS实现多个元素在盒子内两端对齐效果
2021/03/30 HTML / CSS
Django migrate报错的解决方案
2021/05/20 Python
python flappy bird小游戏分步实现流程
2022/02/15 Python
2021年国漫热度排行前十,完美世界上榜,第四是美国动画作品
2022/03/18 国漫
win10滚动条自动往上跑怎么办?win10滚动条自动往上跑的解决方法
2022/08/05 数码科技