自动恢复最小化的tkinter窗口



在我的项目中,我偶尔从串行端口接收一些数据,并根据收到的数据在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()

最新更新