Python GUI 案例 (tkinter module)

news2024/9/24 3:18:27
  • Python GUI 设计案例

基于matplotlib的 y-x 简单绘图

import tkinter as tk
from tkinter import filedialog
import matplotlib.pyplot as plt
import numpy as np

def select_x_file():
    x_file_path = filedialog.askopenfilename(title="x")
    x_file_entry.delete(0, tk.END)
    x_file_entry.insert(tk.END, x_file_path)

def select_y_file():
    y_file_path = filedialog.askopenfilename(title="y")
    y_file_entry.delete(0, tk.END)
    y_file_entry.insert(tk.END, y_file_path)

def plot_graph():
    x_file_path = x_file_entry.get()
    y_file_path = y_file_entry.get()

    x_data = np.loadtxt(x_file_path)
    y_data = np.loadtxt(y_file_path)

    if len(x_data) != len(y_data):
        result_text.set("len x not equals len y")
    else:
        plt.plot(x_data, y_data)
        plt.title(title_entry.get())
        plt.xlabel(xlabel_entry.get())
        plt.ylabel(ylabel_entry.get())
        plt.show()

def save_graph():
    save_path = filedialog.asksaveasfilename(title="save graphic", defaultextension=".png")
    plt.savefig(save_path)


window = tk.Tk()
window.title("PLOT y-x GRAPH")

x_file_label = tk.Label(window, text="x path:")
x_file_label.grid(row=0, column=0)

x_file_entry = tk.Entry(window, width=50)
x_file_entry.grid(row=0, column=1)

x_button = tk.Button(window, text="file x ", command=select_x_file)
x_button.grid(row=0, column=2)

y_file_label = tk.Label(window, text="y path:")
y_file_label.grid(row=1, column=0)

y_file_entry = tk.Entry(window, width=50)
y_file_entry.grid(row=1, column=1)

y_button = tk.Button(window, text="file y", command=select_y_file)
y_button.grid(row=1, column=2)

plot_button = tk.Button(window, text="PLOT!", command=plot_graph)
plot_button.grid(row=2, column=0, columnspan=3)

title_label = tk.Label(window, text="TITLE")
title_label.grid(row=3, column=0)

title_entry = tk.Entry(window, width=50)
title_entry.grid(row=3, column=1)

xlabel_label = tk.Label(window, text="x LABEL")
xlabel_label.grid(row=4, column=0)

xlabel_entry = tk.Entry(window, width=50)
xlabel_entry.grid(row=4, column=1)

ylabel_label = tk.Label(window, text="y LABEL")
ylabel_label.grid(row=5, column=0)

ylabel_entry = tk.Entry(window, width=50)
ylabel_entry.grid(row=5, column=1)

save_button = tk.Button(window, text="SAVE GRAPH", command=save_graph)
save_button.grid(row=6, column=0, columnspan=3)

window.geometry("600x300")
window.mainloop()

 

 

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

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

相关文章

Pytorch学习笔记 | 数据类型 | mnist数据集

数据类型 python中数据类型和pytorch中的对应关系 注意:pytorch是没有没有string类型的 例1:创建一个3行4列的随机数数组,符合均值为0,方差为1的正态分布 import torch a=torch.Tensor(3,4) a Out[17]: tensor([[0.

iperf3跑满100G网卡实测记录

环境准备 拓扑 两台服务器 100G网卡对插直连。 ubuntu20.04, 系统设置默认状态 MTU 1500 网卡 Mellonax ConnectX5 100G rootvnet:~# lspci | grep Mellanox 98:00.0 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5] 98:00.1 Ethernet control…

【高级数据结构】树状数组

目录 树状数组1 (单点修改,区间查询) 树状数组1 (单点修改,区间查询) 洛谷:树状数组1https://www.luogu.com.cn/problem/P3374 题目描述 如题,已知一个数列,你需要进行…

汇报的目标和技巧【研发版】

汇报的组织意义 要做好汇报,需要先理解汇报的意义,这是根源上的指导。直接地说,满足上级的需求就是汇报的价值,而上级需求来自企业运作的需要,这也是各级管理者职责的组成部分。 各级管理者的职责(倒序引用…

API声明文件Swagger Injection攻击

Swagger 在API化的世界里,相信无论是前端还是后端开发,都或多或少地被接口维护折磨过。随着API迭代,老旧API文档和SDK需要更新,这是一个耗散研发精力的事情。为解决此类问题,以API为软件能力最终交付物的生态不断演进…

实训笔记7.27

实训笔记7.27 7.27笔记一、Hive数据仓库基本概念(处理结构化数据)1.1 Hive的组成架构1.1.1 Hive的客户端1.1.2 Hive的驱动程序1.1.3 Hive的元数据库 1.2 Hive和数据库的区别 二、Hive的安装配置三、Hive的相关配置项四、Hive的基本使用方式4.1 使用Hive的…

FS32K144官方提供串口Bootloader对接Matlab串口烧写程序

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ 前言 Bootloader升级工具:可用TTL、232、485(硬件收发模式),其中的一种&#x…

DP学习第四篇之不同路径II

DP学习第四篇之不同路径|| 63. 不同路径 II - 力扣(LeetCode) 一.题目解析 二. 算法原理 状态表示 tips: 经验题目要求。以[i,j]位置为结尾,。。。 dp[i][j]: 走到[i, j]位置时,一共多少种路径 状态转移方程 tips: 用之前或…

【业务功能篇55】Springboot+easyPOI 导入导出

Apache POI是Apache软件基金会的开源项目,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。 Apache POI 代码实现复杂,学习成本较高。 Easypoi 功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出…

Golang单元测试详解:单元测试的基本使用方法

Golang 单元测试 Golang 中的单元测试是使用标准库 testing 来实现的,编写一个单元测试是很容易的: 创建测试文件:在 Go 项目的源代码目录下创建一个新的文件(和被测代码文件在同一个包),以 _test.go 为后缀名。例如&#xff0c…

性能优化 - 前端性能监控和性能指标计算方式

性能优化 - 前端性能监控和性能指标计算方式 前言一. 性能指标介绍1.1 单一指标介绍1.2 指标计算① Redirect(重定向耗时)② AppCache(应用程序缓存的DNS解析)③ DNS(DNS解析耗时)④ TCP(TCP连接耗时)⑤ TTFB(请求响应耗时)⑥ Trans(内容传输耗时)⑦ DOM(DOM解析耗时) 1.3 FP(f…

项目接入星火认知大模型!!!

项目接入星火认知大模型demo 导言 随着国内的语言大模型不断兴起,科大讯飞的星火大模型,阿里的通义千问,百度的文心一言等。 这些大模型给我提供了很好的便利 同时星火大模型提供了 开放api功能 使得我们能够将大模型接入到我们自己的项目当…

又一“邪恶版”ChatGPT出现,专为网络犯罪而生

最近,Hackread 分享了一个恶意聊天机器人 WormGPT 的详细信息,该聊天机器人是为帮助网络犯罪分子进行非法活动而创建的。现在,暗网上又出现了一个名为 FraudGPT 的聊天机器人。这是一个基于订阅的人工智能聊天机器人,可以为网络犯…

【AI可视化---04】点亮数据之旅:发现Matplotlib的奇幻绘图世界!用Python挥洒数据音符的创意乐章——这四篇就够了!

晴川历历汉阳树,芳草萋萋鹦鹉洲。 日暮乡关何处是,烟波江上使人愁。 🎯作者主页: 追光者♂🔥 🌸个人简介: 💖[1] 计算机专业硕士研究生💖 🌟[2] 2022年度博客之星人工智能领域TOP4🌟 🏅[3] 阿里云社区特邀专家博主🏅 🏆[4] CSDN-人工…

2023Java 岗面试,进互联网大厂必备 Java 面试八股文真题解析

前言 一般技术面试官都会通过自己的方式去考察程序员的技术功底与基础理论知识。 很多时候,面试官问的问题会和自己准备的“题库”中的问题不太一样,即使做了复盘,下次面试还是不知道该从何处下手。 为此鄙人软磨硬泡才把阿里 P8 专门归纳…

合并两个有序链表——力扣21

题目描述 法一 递归 class Solution { public:ListNode* mergeTwoLists(ListNode *l1, ListNode*l2){if(l1 nullptr){return l2;} else if (l2nullptr){return l1;} else if (l1->val<l2->val){l1->next mergeTwoLists(l1->next, l2);return l1;} else {l2-&g…

常用的快捷键 -VTK快捷键

按键W --------------------- 网格显示模型 按键S --------------------- 曲面显示模型 按键P --------------------- 显示模型包围框 按键F --------------------- 放大到选取点 按键R --------------------- 重置相机视图 按键A ---------------------- 切换演员模式 按…

SSM框架 基础

1.数据库 2.工程 3.pom 4.web.xml 5.spring配置文件头部 6.实体类 7.StudentMapper接口 8. StudentMapper.xml 9.StudentService 10. StudentServiceImpl 11.StudentController 实战 查询所有 StudentMapper StudentService StudentServiceImpl StudentMapper.xml Stude…

使用jmeter进行接口测试

jmeter介绍 JMeter是Apache基金会Jakarta上的一个纯java开源项目&#xff0c;起初用于基于Web的压力测试&#xff08;pressure test&#xff09;&#xff0c;后来其应用范围逐渐扩展到对文件传输FTP&#xff0c;大型数据库&#xff08;JDBC方式&#xff09;&#xff0c;脚本程…

列表的sort方法和sorted的区别

问题&#xff1a;简述一下列表list的sort方法和sorted的区别 sort是应用在list列表上的方法&#xff0c;sorted可以对所有可迭代的对象进行排序操作 list.sort()不会返回对象&#xff0c;会改变原有的list&#xff0c;即直接在原来的list基础上修改(原列表就地排序)&#xff0…