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动态加载模块的3种方法
Nov 22 Python
python实现分析apache和nginx日志文件并输出访客ip列表的方法
Apr 04 Python
浅析Python中else语句块的使用技巧
Jun 16 Python
Python入门之三角函数tan()函数实例详解
Nov 08 Python
Python中浅拷贝copy与深拷贝deepcopy的简单理解
Oct 26 Python
浅谈python编译pyc工程--导包问题解决
Mar 20 Python
pandas.cut具体使用总结
Jun 24 Python
elasticsearch python 查询的两种方法
Aug 04 Python
Python中输入和输出(打印)数据实例方法
Oct 13 Python
在django项目中导出数据到excel文件并实现下载的功能
Mar 13 Python
Django ORM判断查询结果是否为空,判断django中的orm为空实例
Jul 09 Python
python随机打印成绩排名表
Jun 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
异世界新番又来了,同样是从零开始,男主的年龄降到5岁
2020/04/09 日漫
PHP中基本符号及使用方法
2010/03/23 PHP
PHP爆绝对路径方法收集整理
2012/09/17 PHP
PHP register_shutdown_function()函数的使用示例
2015/06/23 PHP
PHP基于递归算法解决兔子生兔子问题
2018/05/11 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
js 图片缩放(按比例)控制代码
2009/05/27 Javascript
javascript 事件处理、鼠标拖动效果实现方法详解
2012/05/11 Javascript
js正则表达式中test,exec,match方法的区别说明
2014/01/29 Javascript
谷歌浏览器不支持showModalDialog模态对话框的解决方法
2014/09/22 Javascript
node.js中的http.response.writeHead方法使用说明
2014/12/14 Javascript
关于Javascript加载执行优化的研究报告
2014/12/16 Javascript
javascript常用功能汇总
2015/07/05 Javascript
JS实现快速的导航下拉菜单动画效果附源码下载
2016/11/01 Javascript
Bootstrap Table使用心得总结
2016/11/29 Javascript
angularJS 发起$http.post和$http.get请求的实现方法
2017/05/18 Javascript
JavaScript用二分法查找数据的实例代码
2017/06/17 Javascript
Node.js安装详细步骤教程(Windows版)详解
2019/09/01 Javascript
es6数组的flat(),flatMap()函数用法实例分析
2020/04/18 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
2020/07/22 Javascript
Vue 组件注册全解析
2020/12/17 Vue.js
[27:28]Ti4 冒泡赛第二天 iG vs NEWBEE 1
2014/07/15 DOTA
python检查指定文件是否存在的方法
2015/07/06 Python
Python实现合并同一个文件夹下所有txt文件的方法示例
2018/04/26 Python
基于python+selenium的二次封装的实现
2020/01/06 Python
python如何实现图片压缩
2020/09/11 Python
利用CSS3的transition属性实现滑动效果
2015/08/05 HTML / CSS
瑞贝卡·明可弗包包官网:Rebecca Minkoff
2016/07/21 全球购物
标签和贴纸印刷:Lightning Labels
2018/03/22 全球购物
什么是Web Service?
2012/07/25 面试题
介绍一些UNIX常用简单命令
2014/11/11 面试题
开办化妆品公司创业计划书
2013/12/26 职场文书
上课迟到检讨书
2014/02/19 职场文书
艺术学院毕业生自荐信
2014/07/05 职场文书
违反单位工作制度检讨书
2014/10/25 职场文书
2015小学新教师个人工作总结
2015/10/14 职场文书