python Matplotlib Tkinter-->tab切换1

环境
python:python-3.12.0-amd64
包:
matplotlib 3.8.2
pillow  10.1.0
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk
import tkinter as tk
import tkinter.messagebox as messagebox
import tkinter.ttk as ttk# 创建自定义工具栏类
class MyNavigationToolbar(NavigationToolbar2Tk):toolitems = [('Home','回到初始状态','home','home'),('Back', '后退', 'back', 'back'),('Home', '前进', 'forward', 'forward'),('Pan', '平移', 'move', 'pan'),('Zoom', '缩放', 'zoom_to_rect', 'zoom'),('Save', '保存', 'filesave', 'save_figure')]def __init__(self, *args, **kwargs):show_toolbar = kwargs.pop('show_toolbar', True)super().__init__(*args, **kwargs)if not show_toolbar:self.pack_forget()self.custom_button_img1 = tk.PhotoImage(file='figure_pic1.png')  # 创建第一个图片按钮self.custom_button1 = ttk.Button(self, image=self.custom_button_img1, command=lambda: self.toggle_figure2())self.custom_button1.pack(side=tk.LEFT)  # 添加按钮到工具栏上self.custom_button_img2 = tk.PhotoImage(file='figure_pic2.png')  # 创建第二个图片按钮self.custom_button2 = ttk.Button(self, image=self.custom_button_img2, command=lambda: print('111.'))self.custom_button2.pack(side=tk.LEFT)  # 添加按钮到工具栏上def toggle_figure2(self):self.fig2_visible = not self.fig2_visibleif self.fig2_visible:canvas2.get_tk_widget().pack()else:canvas2.get_tk_widget().pack_forget()# 创建 Tkinter 窗口
window = tk.Tk()
window.title("Matplotlib in Tkinter")# 设置窗口大小和位置
window.geometry('800x600')# 创建选项卡控件
notebook = ttk.Notebook(window)# 创建第一个选项卡
tab1 = ttk.Frame(notebook)
fig1 = plt.figure()
plt.plot([1, 2, 3], [4, 5, 6])
canvas1 = FigureCanvasTkAgg(fig1, master=tab1)
canvas1.draw()
toolbar1 = MyNavigationToolbar(canvas1, tab1)
toolbar1.update()
toolbar1.pack(side=tk.TOP, fill=tk.X, padx=5, pady=5)
canvas1.get_tk_widget().pack(fill=tk.BOTH, expand=True, padx=5, pady=5)
notebook.add(tab1, text='图表1')# 创建第二个选项卡
tab2 = ttk.Frame(notebook)
fig2 = plt.figure()
plt.plot([3, 2, 1], [6, 5, 4])
canvas2 = FigureCanvasTkAgg(fig2, master=tab2)
canvas2.draw()
toolbar2 = MyNavigationToolbar(canvas2, tab2, show_toolbar=False)
toolbar2.update()
canvas2.get_tk_widget().pack(fill=tk.BOTH, expand=True, padx=5, pady=5)
notebook.add(tab2, text='图表2')notebook.pack(fill=tk.BOTH, expand=True)window.mainloop()

图片资源下载(分享-->python Matplotlib  Tkinter图片):

链接:https://pan.baidu.com/s/1vFOU52gG0bgK8RYuj-dzOg 
提取码:2oy0 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/705532.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

股票三种行情的最佳买卖点,分时图与K线图分析案例教学

一、教程描述 本套股票行情教程,大小5.40G,共有50个文件。 二、教程目录 股票教程01:上升行情之股票运行轨迹.mp4 股票教程02:上升行情之千金难买牛回头.mp4 股票教程03:上升行情之一线一量走天下.mp4 股票教程0…

Qt程序设计-钟表自定义控件实例

本文讲解Qt钟表自定义控件实例。 效果如下: 创建钟表类 #ifndef TIMEPIECE_H #define TIMEPIECE_H#include <QWidget> #include <QPropertyAnimation> #include <QDebug> #include <QPainter> #include <QtMath>#include <QTimer>#incl…

苹果上架App被拒绝的原因

苹果上架App被拒绝的原因有很多种&#xff0c;主要包括以下几个方面&#xff1a; 1.功能问题&#xff1a;苹果认为你的App存在功能问题&#xff0c;不符合App Store的要求。比如&#xff0c;你的App可能存在漏洞&#xff0c;会影响用户体验或者安全性&#xff0c;或者涉及到隐…

php伪协议 [SWPUCTF 2022 新生赛]ez_ez_php(revenge)

打开题目 题目源代码如下 <?php error_reporting(0); if (isset($_GET[file])) {if ( substr($_GET["file"], 0, 3) "php" ) {echo "Nice!!!";include($_GET["file"]);} else {echo "Hacker!!";} }else {highlight_fi…

【非比较排序】计算排序算法

目录 CountSort计数排序 整体思想 图解分析 代码实现 时间复杂度&优缺分析 CountSort计数排序 计数排序是一种非比较排序&#xff0c;不需要像前面的排序一样去比较。 计数排序的特性总结&#xff1a; 1. 计数排序在数据范围集中时&#xff0c;效率很高&#xff0c;但…

[C++]使用C++实现监控文件是否被修改

软件开发过程中经常会用到配置文件,某些应用场景要求在软件运行时动态修改配置文件,此时就需要监控配置文件是否被修改,下面我们就来看看如何使用C实现这一功能吧 软件开发过程中经常会用到配置文件&#xff0c;某些应用场景要求在软件运行时动态修改配置文件&#xff0c;此时…

微信公众号关键词自动回复

今天主要给大家讲一下如何实现微信公众号关键词的自动回复功能&#xff0c;就如网站的文章而言&#xff0c;进行人机识别&#xff0c;需要关注公众号回复验证码获取到验证码从而展示文章内容&#xff0c;&#xff0c;具体效果如下图。 springboot 2.3.2RELEASE 1、微信公众平台…

什么是高可用架构

一、什么是高可用 在运维中&#xff0c;经常听到高可用&#xff0c;那么什么是高可用架构呢&#xff1f;通俗点讲&#xff0c;高可用就是在服务故障&#xff0c;节点宕机的情况下&#xff0c;业务能够保证不中断&#xff0c;服务正常运行。 举个例子&#xff0c;支付宝&#…

naive-ui-admin BasicTable 列表操作栏显示图标icon

效果图 在使用BasicTable的页面添加引用&#xff0c;这里随便弄了个icon import { GameController } from "vicons/ionicons5" 自定义列 const actionColumn reactive({width: 180,title: "操作",key: "action",fixed: "right",ren…

顺丰科技2024届春季校园招聘常见问题解答及SHL测评题库

顺丰科技2024届春季校园招聘常见问题解答及SHL测评题库 Q&#xff1a;顺丰科技2024届校园招聘面向对象是&#xff1f; A&#xff1a;2024届应届毕业生&#xff0c;毕业时间段为2023年10月1日至2024年9月30日&#xff08;不满足以上毕业时间的同学可以关注顺丰科技社会招聘或…

全面介绍HTML的语法!轻松写出网页

文章目录 heading(标题)paragraph(段落)link(超链接)imagemap(映射)table(表格)list(列表)layout(分块)form(表单)更多输入:datalistautocompleteautofocusmultiplenovalidatepatternplaceholderrequired head(首部)titlebaselinkstylemetascriptnoscript iframe HTML&#xff…

备战蓝桥杯---树形DP基础1

我们先来看几个比较简单的例子来引入&#xff1a; 我们令f[i]表示以i为根节点的子树大小&#xff0c;易得状态转移方程为&#xff1a; f[i]1f[son1]....f[soni]; 我们用DFS即可&#xff0c;下面是大致的模板&#xff1a; 让我们来看看几道题吧&#xff1a; 1.贪心树形DPDFS&…

提升Java IO性能!深入掌握FilterOutputStream类!

咦咦咦&#xff0c;各位小可爱&#xff0c;我是你们的好伙伴——bug菌&#xff0c;今天又来给大家普及Java IO相关知识点了&#xff0c;别躲起来啊&#xff0c;听我讲干货还不快点赞&#xff0c;赞多了我就有动力讲得更嗨啦&#xff01;所以呀&#xff0c;养成先点赞后阅读的好…

FX110网:2024年1月六大机构货币现货交易量数据出炉

2024年1月&#xff0c;各主要平台的机构货币现货交易量呈半升半降态势&#xff0c;但降幅超过涨幅&#xff0c;六大交易场所的现货日均货币交易量&#xff08;ADV&#xff09;平均环比为-1.42%。其中&#xff0c;Cboe FX、360T和Saxo Bank环比下跌&#xff1b;Euronext FX、FxS…

2024龙年特别篇 -- 魔法指针 之 二级指针 指针数组

哈喽哈喽&#xff0c;它来咯&#xff0c;它来咯&#xff0c;接下来有白子寰给你讲解:二级指针 指针数组 目录 二级指针 二级指针的介绍 一图 KO 二级指针 二级指针的运算 指针数组 概念 指针数组模拟二维数组 整形指针数组 二级指针 二级指针的介绍 在介绍时&#xff0…

网络安全与IP安全网络安全

网络安全与IP安全网络安全 网络安全 是指网络系统的硬件&#xff0c;软件以及系统中的数据收到的保护。 保护的基本属性为&#xff1a;机密性&#xff0c;身份认证&#xff0c;完整性和可用性&#xff1b; 基本特征&#xff1a;相对性&#xff0c;时效性&#xff0c;相关性…

如何操作系统缓冲区减少了磁盘碎片化?

如何操作系统缓冲区减少了磁盘碎片化&#xff1f; 在探讨操作系统如何通过使用缓冲区来减少磁盘碎片化之前&#xff0c;我们需要先了解什么是磁盘碎片化以及它为什么会对我们的电脑性能造成影响。 磁盘碎片化简介 磁盘碎片化发生在计算机硬盘上存储数据的过程中。简单来说&am…

一文解读MES软件为企业带来的五大好处,附功能亮点及应用场景

在当今激烈竞争的市场环境下&#xff0c;企业需要不断提升自身的灵活性和适应能力&#xff0c;以更好地应对各种挑战和变化。而MES软件作为一种重要的信息化工具&#xff0c;可以帮助企业提升生产管理水平&#xff0c;提高效率&#xff0c;实现精细化管理&#xff0c;从而增强企…

jQuery引入及下载方法

jQuery引入及下载方法 目录 jQuery引入及下载方法【方法1】cdn引入【方法2】下载本地文件 【方法1】cdn引入 直接在head引入jq <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title>&…

【C++】7-12 样本方差

7-12 样本方差 分数 10 全屏浏览 切换布局 作者 ldm 单位 成都信息工程大学 作为概率论随便考100分的你&#xff0c;口算出给定样本的方差自然也不在话下&#xff0c;不过今天需要你编程实现这样的程序。 样本方差&#xff1a;S2n−11​∑i1n​(Xi​−Xˉ)2 样本均值&…