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装饰器使用方法实例
Nov 21 Python
Python编程argparse入门浅析
Feb 07 Python
python 时间信息“2018-02-04 18:23:35“ 解析成字典形式的结果代码详解
Apr 19 Python
使用python装饰器计算函数运行时间的实例
Apr 21 Python
Python操作MySQL数据库的方法
Jun 20 Python
python 定义给定初值或长度的list方法
Jun 23 Python
Python for i in range ()用法详解
Sep 18 Python
Python关于__name__属性的含义和作用详解
Feb 19 Python
解决django中form表单设置action后无法回到原页面的问题
Mar 13 Python
详解django使用include无法跳转的解决方法
Mar 19 Python
基于python代码批量处理图片resize
Jun 04 Python
利用python Pandas实现批量拆分Excel与合并Excel
May 23 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
不用数据库的多用户文件自由上传投票系统(2)
2006/10/09 PHP
用PHP查询搜索引擎排名位置的代码
2010/01/05 PHP
php数据库密码的找回的步骤
2011/01/12 PHP
PHP中session变量的销毁
2014/02/27 PHP
YII Framework框架教程之缓存用法详解
2016/03/14 PHP
js函数般调用正则
2008/04/08 Javascript
浅谈JavaScript函数参数的可修改性问题
2013/12/05 Javascript
javascript生成json数据简单示例分享
2014/02/14 Javascript
jquery引用方法时传递参数原理分析
2014/10/13 Javascript
javascript控制图片播放的实现代码
2020/07/29 Javascript
javascript跨域方法、原理以及出现问题解决方法(详解)
2015/08/06 Javascript
BootStrap selectpicker
2016/06/20 Javascript
JavaScript实现简单的日历效果
2016/09/25 Javascript
bootstrap滚动监控器使用方法解析
2017/01/13 Javascript
AngularJs 利用百度地图API 定位当前位置 获取地址信息
2017/01/18 Javascript
js实现下拉菜单效果
2017/03/01 Javascript
jQuery UI Grid 模态框中的表格实例代码
2017/04/01 jQuery
详解Puppeteer前端自动化测试实践
2019/02/21 Javascript
Vue组件为什么data必须是一个函数
2020/06/11 Javascript
Python字符串转换成浮点数函数分享
2015/07/24 Python
Python提取Linux内核源代码的目录结构实现方法
2016/06/24 Python
一道python走迷宫算法题
2018/01/22 Python
python实现泊松图像融合
2018/07/26 Python
pytorch使用指定GPU训练的实例
2019/08/19 Python
python操作gitlab API过程解析
2019/12/27 Python
Python selenium如何打包静态网页并下载
2020/08/12 Python
加拿大领先家居家具网上购物:Aosom.ca
2020/05/27 全球购物
物流仓储实习自我鉴定
2013/09/25 职场文书
大学自我鉴定
2013/12/20 职场文书
财务部绩效考核方案
2014/05/04 职场文书
2014乡镇党委副书记对照检查材料思想汇报
2014/10/09 职场文书
教师批评与自我批评心得体会
2014/10/16 职场文书
国际贸易实训报告
2014/11/05 职场文书
社区活动总结范文
2015/05/07 职场文书
药品销售员2015年终工作总结
2015/10/22 职场文书
基于Python和openCV实现图像的全景拼接详细步骤
2021/10/05 Python