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迭代器实例简析
Sep 25 Python
Python 正则表达式(转义问题)
Dec 15 Python
Python面向对象之继承代码详解
Jan 29 Python
Python3.4 splinter(模拟填写表单)使用方法
Oct 13 Python
python使用MQTT给硬件传输图片的实现方法
May 05 Python
用Python实现BP神经网络(附代码)
Jul 10 Python
新年福利来一波之Python轻松集齐五福(demo)
Jan 20 Python
Python实现UDP程序通信过程图解
May 15 Python
python编写实现抽奖器
Sep 10 Python
如何解决.cuda()加载用时很长的问题
May 24 Python
Django实现聊天机器人
May 31 Python
Python使用pandas导入csv文件内容的示例代码
Dec 24 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
DISCUZ 分页代码
2007/01/02 PHP
解析func_num_args与func_get_args函数的使用
2013/06/24 PHP
php表单提交与$_POST实例分析
2015/01/26 PHP
在WordPress中实现评论头像的自定义默认和延迟加载
2015/11/24 PHP
php使用GD2绘制几何图形示例
2017/02/15 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
JavaScript中获取未知对象属性的代码
2011/04/27 Javascript
jquery 选项卡效果 新手代码
2011/07/08 Javascript
jquery利用event.which方法获取键盘输入值的代码
2011/10/09 Javascript
javascript如何创建表格(javascript绘制表格的二种方法)
2013/12/10 Javascript
浅谈jQuery事件绑定原理
2015/01/02 Javascript
JS实现新浪微博效果带遮罩层的弹出框代码
2015/10/12 Javascript
js实现微信分享代码
2020/10/11 Javascript
基于Bootstrap实现Material Design风格表单插件 附源码下载
2016/04/18 Javascript
详解微信小程序Radio选中样式切换
2017/07/06 Javascript
使用Webpack提高Vue.js应用的方式汇总(四种)
2017/07/10 Javascript
Vue常用指令详解分析
2018/08/19 Javascript
原生js实现轮播图特效
2020/05/04 Javascript
js实现简单的无缝轮播效果
2020/09/05 Javascript
Python 面向对象 成员的访问约束
2008/12/23 Python
python查询sqlite数据表的方法
2015/05/08 Python
浅谈python抛出异常、自定义异常, 传递异常
2016/06/20 Python
用Pygal绘制直方图代码示例
2017/12/07 Python
python中virtualenvwrapper安装与使用
2018/05/20 Python
Python3 执行系统命令并获取实时回显功能
2019/07/09 Python
python爬取盘搜的有效链接实现代码
2019/07/20 Python
python函数参数(必须参数、可变参数、关键字参数)
2019/08/16 Python
Python Django实现layui风格+django分页功能的例子
2019/08/29 Python
CSS3制作漂亮的照片墙的实现代码
2016/06/08 HTML / CSS
HTML5微信播放全屏问题的解决方法
2017/03/09 HTML / CSS
canvas仿写贝塞尔曲线的示例代码
2017/12/29 HTML / CSS
手工制作的意大利礼服鞋:Ace Marks
2018/12/15 全球购物
金属材料工程个人求职的自我评价
2013/12/04 职场文书
小摄影师教学反思
2014/04/27 职场文书
身边的榜样活动方案
2014/08/20 职场文书
幼儿园感恩节活动方案
2014/10/06 职场文书