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检测远程端口是否打开的方法
Mar 14 Python
python Django批量导入不重复数据
Mar 25 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
Dec 15 Python
Django中的cookie和session
Aug 27 Python
简单的Python调度器Schedule详解
Aug 30 Python
python实现矩阵和array数组之间的转换
Nov 29 Python
使用TensorFlow对图像进行随机旋转的实现示例
Jan 20 Python
django-crontab实现服务端的定时任务的示例代码
Feb 17 Python
pyspark给dataframe增加新的一列的实现示例
Apr 24 Python
关于python的缩进规则的知识点详解
Jun 22 Python
python和C++共享内存传输图像的示例
Oct 27 Python
Python 无限级分类树状结构生成算法的实现
Jan 21 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 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
2010/03/23 PHP
php设计模式 DAO(数据访问对象模式)
2011/06/26 PHP
dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法
2013/04/26 PHP
百度站点地图(百度sitemap)生成方法分享
2014/01/09 PHP
php数组查找函数in_array()、array_search()、array_key_exists()使用实例
2014/04/29 PHP
PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用
2015/10/09 PHP
禁止直接访问php文件代码分享
2020/05/05 PHP
JS实现控制表格行内容垂直对齐的方法
2015/03/30 Javascript
值得分享的轻量级Bootstrap Table表格插件
2016/05/30 Javascript
js案例之鼠标跟随jquery版(实例讲解)
2017/07/21 jQuery
自适应布局meta标签中viewport、content、width、initial-scale、minimum-scale、maximum-scale总结
2017/08/18 Javascript
vue组件父子间通信之综合练习(聊天室)
2017/11/07 Javascript
详解vue.js数据传递以及数据分发slot
2018/01/20 Javascript
深入理解webpack process.env.NODE_ENV配置
2020/02/23 Javascript
JS面向对象编程——ES6 中class的继承用法详解
2020/03/03 Javascript
vue 获取url参数、get参数返回数组的操作
2020/11/12 Javascript
[01:12]DOTA2次级职业联赛 - Newbee.Y 战队宣传片
2014/12/01 DOTA
python中pass语句用法实例分析
2015/04/30 Python
详解Python函数作用域的LEGB顺序
2016/05/14 Python
python中ImageTk.PhotoImage()不显示图片却不报错问题解决
2018/12/06 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
2019/04/04 Python
django页面跳转问题及注意事项
2019/07/18 Python
pytorch掉坑记录:model.eval的作用说明
2020/06/23 Python
HTML5 文件域+FileReader 分段读取文件并上传到服务器
2017/10/23 HTML / CSS
html5手机端页面可以向右滑动导致样式受影响的问题
2018/06/20 HTML / CSS
罗德与泰勒百货官网:Lord & Taylor
2016/08/12 全球购物
Casetify官网:自制专属手机壳、iPad护壳和Apple Watch手表带
2018/05/09 全球购物
细节决定成败演讲稿
2014/05/12 职场文书
四风对照检查剖析材料
2014/10/07 职场文书
中秋客户感谢信
2015/01/22 职场文书
2016年师德学习心得体会
2016/01/12 职场文书
Java实现斗地主之洗牌发牌
2021/06/14 Java/Android
python 闭包函数详细介绍
2022/04/19 Python
HTML页面中使两个div并排显示的实现
2022/05/15 HTML / CSS
怎么禁用Win11输入法 最新Win11输入法关闭教程
2022/08/05 数码科技
css清除浮动clearfix:after的用法详解(附完整代码)
2023/05/21 HTML / CSS