python tkinter GUI繪制,以及點(diǎn)擊更新顯示圖片代碼
tkinter 繪制GUI簡(jiǎn)單明了,制作一些簡(jiǎn)單的GUI足夠,目前遇到的一個(gè)問(wèn)題是不能同時(shí)排列顯示多幅圖片(目前沒(méi)找到同時(shí)顯示解決方法),
退而求其次,改成增加一個(gè)update按鈕,每次點(diǎn)下按鈕自動(dòng)更新圖片,注釋掉的部分是原來(lái)的內(nèi)核包,替換成自己的程序即可


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 在這里導(dǎo)入自己的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()))
#調(diào)用自己的內(nèi)核函數(shù)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) #主循環(huán),除了這一行可以一直循環(huán),其他行只執(zhí)行一次root.mainloop()
以上這篇python tkinter GUI繪制,以及點(diǎn)擊更新顯示圖片代碼就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python3爬蟲(chóng)中pyspider的安裝步驟
在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于Python3爬蟲(chóng)中pyspider的安裝步驟,需要的朋友們可以學(xué)習(xí)參考下。2020-07-07
在Python的Django框架中simple-todo工具的簡(jiǎn)單使用
這篇文章主要介紹了在Python的Django框架中simple-todo工具的簡(jiǎn)單使用,該工具基于原web.py中的開(kāi)源項(xiàng)目,需要的朋友可以參考下2015-05-05
Python中Thop庫(kù)的基本用例和參數(shù)說(shuō)明
這篇文章主要給大家介紹了關(guān)于Python中Thop庫(kù)的基本用例和參數(shù)說(shuō)明的相關(guān)資料,THOP是PyTorch非常實(shí)用的一個(gè)第三方庫(kù),可以統(tǒng)計(jì)模型的 FLOPs 和參數(shù)量,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-05-05
使用python的pandas為你的股票繪制趨勢(shì)圖
這篇文章主要介紹了通過(guò)python為你的股票繪制趨勢(shì)圖,動(dòng)手寫個(gè)小程序, 把股票趨勢(shì)每天早上發(fā)到郵箱里,用 python 的 pandas, matplotlib 寫起來(lái)很容易, 幾十行代碼搞定。,需要的朋友可以參考下2019-06-06

