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 18 Python
Python数组条件过滤filter函数使用示例
Jul 22 Python
Python中操作MySQL入门实例
Feb 08 Python
Django中模版的子目录与include标签的使用方法
Jul 16 Python
python实现简单爬虫功能的示例
Oct 24 Python
python访问抓取网页常用命令总结
Apr 11 Python
Python用 KNN 进行验证码识别的实现方法
Feb 06 Python
Python中py文件引用另一个py文件变量的方法
Apr 29 Python
Python使用progressbar模块实现的显示进度条功能
May 31 Python
基于pip install django失败时的解决方法
Jun 12 Python
python实现爬山算法的思路详解
Apr 09 Python
pycharm不能运行.py文件的解决方法
Feb 12 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开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
PHP实现的多维数组去重操作示例
2018/07/21 PHP
javascript 进度条 实现代码
2009/07/30 Javascript
IE6下通过a标签点击切换图片的问题
2010/11/14 Javascript
基于jQuery的为attr添加id title等效果的实现代码
2011/04/20 Javascript
IFrame跨域高度自适应实现代码
2012/08/16 Javascript
javascript实现焦点滚动图效果 具体方法
2013/06/24 Javascript
讨论html与javascript在浏览器中的加载顺序问题
2013/11/27 Javascript
Nodejs Express4.x开发框架随手笔记
2015/11/23 NodeJs
利用jsonp跨域调用百度js实现搜索框智能提示
2016/08/24 Javascript
JS继承与闭包及JS实现继承的三种方式
2017/10/15 Javascript
js实现把时间戳转换为yyyy-MM-dd hh:mm 格式(es6语法)
2017/12/28 Javascript
Vue封装一个简单轻量的上传文件组件的示例
2018/03/21 Javascript
vue.js中npm安装教程图解
2018/04/10 Javascript
vue-cli2.9.3 详细教程
2018/04/23 Javascript
在Angular中使用JWT认证方法示例
2018/09/10 Javascript
jquery无缝图片轮播组件封装
2020/11/25 jQuery
json解析大全 双引号、键值对不在一起的情况
2019/12/06 Javascript
vue实现带过渡效果的下拉菜单功能
2020/02/19 Javascript
[16:04]DOTA2海涛带你玩炸弹 9月5日更新内容详解
2014/09/05 DOTA
在Python中使用pngquant压缩png图片的教程
2015/04/09 Python
在Python中使用base64模块处理字符编码的教程
2015/04/28 Python
python防止随意修改类属性的实现方法
2019/08/21 Python
Python 使用Opencv实现目标检测与识别的示例代码
2020/09/08 Python
python 偷懒技巧——使用 keyboard 录制键盘事件
2020/09/21 Python
高山背包:High Sierra
2017/11/23 全球购物
香港现代设计家具品牌:Ziinlife Furniture
2018/11/13 全球购物
shell程序如何生命变量?shell变量是弱变量吗?
2014/11/10 面试题
勤奋学习演讲稿
2014/05/10 职场文书
房屋分割离婚协议书范本
2014/12/01 职场文书
通知的格式范文
2015/04/27 职场文书
看雷锋电影观后感
2015/06/10 职场文书
《秋天的怀念》教学反思
2016/02/17 职场文书
小学生作文之《压岁钱的烦恼》
2019/09/27 职场文书
MySql存储过程之逻辑判断和条件控制
2021/05/26 MySQL
Android 中的类文件和类加载器详情
2022/06/05 Java/Android