实战案例 | 入门掌握Tkinter+Pyinstaller
做了个Tkinter+Pyinstaller 联动的小示例,在这里记录一下出现的实验问题
一、Tkinter
可视化GUI
1.安装部分:
python 自带的就有
2.基础教程:
常用模块
https://www.runoob.com/python/python-gui-tkinter.html
重点介绍:filedialog是tkinter中的文件对话框
- 使用:
- 导入模块:import tkinter.filedialog
- 选择文件对话框的格式:
- tkinter.filedialog.asksaveasfilename():选择以什么文件名保存,返回文件名
- tkinter.filedialog.asksaveasfile():选择以什么文件保存,创建文件并返回文件流对象
- tkinter.filedialog.askopenfilename():选择打开什么文件,返回文件名
- tkinter.filedialog.askopenfile():选择打开什么文件,返回IO流对象
- tkinter.filedialog.askdirectory():选择目录,返回目录名
- tkinter.filedialog.askopenfilenames():选择打开多个文件,以元组形式返回多个文件名
- tkinter.filedialog.askopenfiles():选择打开多个文件,以列表形式返回多个IO流对象
import tkinter.filedialog as filedialog
# 返回文件名
filenames = filedialog.askopenfilenames()
这次的例子,有些不足的地方,就是将前端和后端没有分开(因为不会。。。)直接写一起了
3.完整代码:
from tkinter import *
import tkinter.filedialog as filedialog
import pandas as pd
import warnings
warnings.filterwarnings("ignore")
#显示所有列
pd.set_option('display.max_columns', None)
# ---逻辑实现---
def data_range(require_data):
if '±' in require_data:
print("要求范围:", require_data)
base = require_data.split('±')[0]
volatility = require_data.split('±')[1]
base_up = float(base) + float(volatility)
base_down = float(base) - float(volatility)
return base_up, base_down
def read_excel(path):
data_xls = pd.ExcelFile(path)
# sheet表名称
print(data_xls.s