在我的项目中,我偶尔从串行端口接收一些数据,并根据收到的数据在Tkinter窗口上显示一些数据。我想最小化我的kinter窗口,并在电脑上执行我的正常操作。当接收到任何数据时,tkinter窗口应恢复("未最小化")并显示结果。如何根据收到的数据恢复最小化的窗口?
import socket, Tkinter
from Tkinter import *
window = Tk()
window.title("maximize window test")
w, h = window.winfo_screenwidth(),window.winfo_screenheight()
window.geometry("%dx%d+0+0" % (w, h))
window.configure(background="white")
i = servicependingid1 = 1, 0
def monitor():
s = socket.socket()
host = socket.gethostname()
port = 12345
s.bind((host, port))
s.listen(5)
while True:
global i, servicependingid1
i = 1
c, addr = s.accept()
data = c.recv(1024)
print data
if data == "Bid1":
window.state('zoomed')
positionr1b1 = Label(window,text="Data comming from 1 ",fg="red",bg="blue",font=("Helvetica", 45))
positionr1b1.grid(row=i,column=6,sticky=W)
window.update()
servicependingid1 = i
i = i + 1
c.send("received")
c.close()
window.after(10, monitor)
window.mainloop()
我想在收到数据时从最小化条件恢复我的窗口。
这可以通过调用以下命令来完成:
if data == "whatever":
window.state('zoomed')
收到数据调用时:
window.attributes('-zoomed', True)
如果您想要做的是"取消最小化"窗口,调用deiconify
,这将恢复窗口到最小化之前的状态。
window.deiconify()
只要做window.attributes("-fullscreen", True)
这个问题有一个非常简单的解决方法
if data == "data":
window.wm_state('zoomed')
我想这就是你要找的
import tkinter
yourwindow = tkinter.Tk()
yourwindow.state("zoomed")
yourwindow.mainloop()