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解析最简单的验证码
Jan 07 Python
Django的分页器实例(paginator)
Dec 01 Python
Python实现的自定义多线程多进程类示例
Mar 23 Python
python线程池threadpool使用篇
Apr 27 Python
Python处理命令行参数模块optpars用法实例分析
May 31 Python
python实现自主查询实时天气
Jun 22 Python
python 读取文件并替换字段的实例
Jul 12 Python
Python使用requests提交HTTP表单的方法
Dec 26 Python
Python如何调用JS文件中的函数
Aug 16 Python
python入门之基础语法学习笔记
Feb 08 Python
不到20行实现Python代码即可制作精美证件照
Apr 24 Python
Python采集壁纸并实现炫轮播
Apr 30 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
优化PHP代码的53条建议
2008/03/27 PHP
jq的get传参数在utf-8中乱码问题的解决php版
2008/07/23 PHP
对text数据类型不支持代码页转换 从: 1252 到: 936
2011/04/23 PHP
PHP版国家代码、缩写查询函数代码
2011/08/14 PHP
PHP中常用的转义函数
2014/02/28 PHP
使用php方法curl抓取AJAX异步内容思路分析及代码分享
2014/08/25 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
2015/07/06 PHP
js打造数组转json函数
2015/01/14 Javascript
超精准的javascript验证身份证号的具体实现方法
2015/11/18 Javascript
javascript正则表达式总结
2016/02/29 Javascript
JS简单实现点击复制链接的方法
2016/08/03 Javascript
Bootstrap企业网站实战项目4
2016/10/14 Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
2017/11/29 Javascript
JS实现非首屏图片延迟加载的示例
2018/01/06 Javascript
如何快速解决JS或Jquery ajax异步跨域的问题
2018/01/08 jQuery
基于D3.js实现时钟效果
2018/07/17 Javascript
探秘vue-rx 2.0(推荐)
2018/09/21 Javascript
JS函数动态传递参数的方法分析【基于arguments对象】
2019/06/05 Javascript
后台使用freeMarker和前端使用vue的方法及遇到的问题
2019/06/13 Javascript
JS实现在线ps功能详解
2019/07/31 Javascript
用Python计算三角函数之atan()方法的使用
2015/05/15 Python
Python程序中用csv模块来操作csv文件的基本使用教程
2016/03/03 Python
python之pandas用法大全
2018/03/13 Python
python 中文件输入输出及os模块对文件系统的操作方法
2018/08/27 Python
让你相见恨晚的十个Python骚操作
2020/11/18 Python
智能室内花园:Click & Grow
2021/01/29 全球购物
计算机系毕业生推荐信
2013/11/06 职场文书
新闻专业推荐信范文
2013/11/20 职场文书
销售内勤岗位职责
2014/04/15 职场文书
贷款担保书范文
2014/05/13 职场文书
学校标语大全
2014/06/19 职场文书
考试保密承诺书
2014/08/30 职场文书
2014年银行员工工作总结
2014/11/12 职场文书
党员评议自我评价
2015/03/03 职场文书
毕业设计论文致谢词
2015/05/14 职场文书
同事去世追悼词
2015/06/23 职场文书