python tkinter GUI绘制,以及点击更新显示图片代码


Posted in Python onMarch 14, 2020

tkinter 绘制GUI简单明了,制作一些简单的GUI足够,目前遇到的一个问题是不能同时排列显示多幅图片(目前没找到同时显示解决方法),

退而求其次,改成增加一个update按钮,每次点下按钮自动更新图片,注释掉的部分是原来的内核包,替换成自己的程序即可

python tkinter GUI绘制,以及点击更新显示图片代码

python tkinter GUI绘制,以及点击更新显示图片代码

import tkinter as tk
from tkinter import *
from tkinter import ttk
from urllib.request import urlopen
from PIL import Image, ImageTk
#import make_pic_2  在这里导入自己的py包文件
num=1
url = "./PICTURE/Rain.png"def calculate(*args):
  print(addr.get(),":",port.get())
  #make_pic_2.main(int(fft.get()),int(start.get()),int(stop.get()),int(cent.get()))
#调用自己的内核函数def change():    #更新图片操作
  global num
  num=num+1
  if num%3==0:
    url1="./PICTURE/Rain.png"
    pil_image = Image.open(url1)
    img= ImageTk.PhotoImage(pil_image)
    label_img.configure(image = img)
  if num%3==1:
    url1="./PICTURE/Oscillogram.png"
    pil_image = Image.open(url1)
    img= ImageTk.PhotoImage(pil_image)
    label_img.configure(image = img)
  if num%3==2:
    url1="./PICTURE/Spectrum.png"
    pil_image = Image.open(url1)
    img= ImageTk.PhotoImage(pil_image)
    label_img.configure(image = img)
  root.update_idletasks()  #更新图片,必须updateroot = Tk()
root.title("Draw GUI")mainframe = ttk.Frame(root, padding="5 4 12 12")
mainframe.grid(column=0, row=0, sticky=(N, W, E, S))
mainframe.columnconfigure(0, weight=1)
mainframe.rowconfigure(0, weight=1)
addr = StringVar()
port = StringVar()
fft = StringVar()
cent = StringVar()
start= StringVar()
stop = StringVar()ttk.Label(mainframe, text="Address:").grid(column=1, row=1, sticky=W)
addr_entry = ttk.Entry(mainframe, width=7, textvariable=addr)
addr_entry.grid(column=2, row=1, sticky=(W, E))ttk.Label(mainframe, text="Port:").grid(column=3, row=1, sticky=W)
port_entry = ttk.Entry(mainframe, width=7, textvariable=port)
port_entry.grid(column=4, row=1, sticky=(W, E))ttk.Label(mainframe, text="FFt:").grid(column=1, row=2, sticky=W)
fft_entry = ttk.Combobox(mainframe, width=7, textvariable=fft)
fft_entry['values'] = (2048, 4096, 8192)
fft_entry.current(1)
fft_entry.grid(column=2, row=2, sticky=(W, E))ttk.Label(mainframe, text="CenterFR:").grid(column=3, row=2, sticky=W)
cent_entry = ttk.Entry(mainframe, width=7, textvariable=cent)
cent_entry.grid(column=4, row=2, sticky=(W, E))ttk.Label(mainframe, text="StartFR:").grid(column=1, row=3, sticky=W)
start_entry = ttk.Entry(mainframe, width=7, textvariable=start)
start_entry.grid(column=2, row=3, sticky=(W, E))ttk.Label(mainframe, text="StopFR:").grid(column=3, row=3, sticky=W)
stop_entry = ttk.Entry(mainframe, width=7, textvariable=stop)
stop_entry.grid(column=4, row=3, sticky=(W, E))ttk.Button(mainframe, text="Draw!", command=calculate).grid(column=2, row=4, sticky=W)
ttk.Button(mainframe, text="Update!", command=change).grid(column=4, row=4, sticky=W)
pil_image = Image.open(url)
img= ImageTk.PhotoImage(pil_image)
label_img = ttk.Label(root, image = img ,compound=CENTER)
label_img.grid(column=0,row=5, sticky=W)
for child in mainframe.winfo_children(): child.grid_configure(padx=5, pady=5)
addr_entry.focus()root.bind('<Return>', calculate)  #主循环,除了这一行可以一直循环,其他行只执行一次root.mainloop()

以上这篇python tkinter GUI绘制,以及点击更新显示图片代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现把utf-8格式的文件转换成gbk格式的文件
Jan 22 Python
使用python3.5仿微软记事本notepad
Jun 15 Python
浅谈Python的垃圾回收机制
Dec 17 Python
Python序列化基础知识(json/pickle)
Oct 19 Python
利用python爬取斗鱼app中照片方法实例
Dec 03 Python
python PyTorch参数初始化和Finetune
Feb 11 Python
使用python和pygame绘制繁花曲线的方法
Feb 24 Python
Python 经典面试题 21 道【不可错过】
Sep 21 Python
对python的输出和输出格式详解
Dec 08 Python
对Python中DataFrame选择某列值为XX的行实例详解
Jan 29 Python
基于python使用tibco ems代码实例
Dec 20 Python
Python3爬虫带上cookie的实例代码
Jul 28 Python
使用Python爬取弹出窗口信息的实例
Mar 14 #Python
解决django中form表单设置action后无法回到原页面的问题
Mar 13 #Python
浅谈在django中使用redirect重定向数据传输的问题
Mar 13 #Python
在Django中预防CSRF攻击的操作
Mar 13 #Python
Anaconda+Pycharm环境下的PyTorch配置方法
Mar 13 #Python
Pycharm中切换pytorch的环境和配置的教程详解
Mar 13 #Python
django 取消csrf限制的实例
Mar 13 #Python
You might like
用Zend Encode编写开发PHP程序
2010/02/21 PHP
ThinkPHP模板IF标签用法详解
2014/07/01 PHP
php将日期格式转换成xx天前的格式
2015/04/16 PHP
Yii安装与使用Excel扩展的方法
2016/07/13 PHP
用jquery和json从后台获得数据集的代码
2011/11/07 Javascript
完美解决AJAX跨域问题
2013/11/01 Javascript
js验证输入是否为手机号码或电话号码示例
2013/12/30 Javascript
js 操作符汇总
2014/11/08 Javascript
jQuery实现强制cookie过期方法汇总
2015/05/22 Javascript
BootStrap 智能表单实战系列(十)自动完成组件的支持
2016/06/13 Javascript
详解angularjs中的隔离作用域理解以及绑定策略
2017/05/31 Javascript
vue自定义指令的创建和使用方法实例分析
2018/12/04 Javascript
详解基于electron制作一个node压缩图片的桌面应用
2019/01/29 Javascript
vue模式history下在iis中配置流程
2019/04/17 Javascript
VUE项目初建和常见问题总结
2019/09/12 Javascript
vue-router的钩子函数用法实例分析
2019/10/26 Javascript
JavaScript设计模式之门面模式原理与实现方法分析
2020/03/09 Javascript
python正则表达式面试题解答
2020/04/28 Python
举例讲解Python常用模块
2019/03/08 Python
python移位运算的实现
2019/07/15 Python
django使用admin站点上传图片的实例
2019/07/28 Python
pandas 缺失值与空值处理的实现方法
2019/10/12 Python
python科学计算之narray对象用法
2019/11/25 Python
python3实现elasticsearch批量更新数据
2019/12/03 Python
Jupyter notebook 启动闪退问题的解决
2020/04/13 Python
台湾SHOPRO购物行家:亚洲首创影视.3C.家电.优质购物平台
2018/05/07 全球购物
WoolOvers澳洲官方网站:英国针织服装公司
2018/05/13 全球购物
澳大利亚在线生活方式商店:Mytopia
2018/07/08 全球购物
泰海淘:泰国king Power王权免税集团旗下跨境海淘综合型电商
2020/07/26 全球购物
Oracle性能调优原则
2012/05/03 面试题
秘书专业自荐信范文
2013/12/26 职场文书
小区门卫管理制度
2014/01/29 职场文书
大二学生职业生涯规划书
2014/02/05 职场文书
有多年工作经验的自我评价
2014/03/02 职场文书
婚礼父母答谢词
2015/01/04 职场文书
小学五年级语文上册教学计划
2015/01/22 职场文书