【问题标题】:Automatically restore minimized tkinter window自动恢复最小化的 tkinter 窗口
【发布时间】:2015-08-12 05:31:47
【问题描述】:

在我的项目中,我偶尔会从串口接收一些数据,并根据接收到的数据在 Tkinter 窗口上显示一些数据。我想最小化我的 Tkinter 窗口并在计算机上执行我的正常操作。当收到任何数据时,应恢复 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()

我想在收到数据时从最小化状态恢复我的窗口。

【问题讨论】:

  • 当你说“最大化”时,你的意思是你想让它占据整个屏幕,还是你在问如何“取消最小化”它?即:您是要强制它填满屏幕,还是只是将其自身恢复到之前可见的状态?
  • 我想恢复它。
  • 这能回答你的问题吗? tkinter python maximize window

标签: python tkinter raspberry-pi


【解决方案1】:

如果您只想“取消最小化”窗口,请调用deiconify,这会将窗口恢复到最小化之前的状态。

window.deiconify()

【讨论】:

    【解决方案2】:

    收到数据呼叫时:

    window.attributes('-zoomed', True)
    

    【讨论】:

    • 显示错误错误#args: 应该是“wm 属性窗口?-alpha?double??etc”
    • 我的窗口被窗口的最小化按钮最小化。想在数据事件@mhawke上最大化它
    【解决方案3】:

    这可以通过调用以下命令来完成:

    if data == "whatever":   
        window.state('zoomed')
    

    【讨论】:

    • window.state('zoomed') 正在最大化我的窗口一段时间,但它错过了很多时间。我正在使用 python 2.7 和 windows xp。 @转身
    【解决方案4】:

    只要window.attributes("-fullscreen", True)

    【讨论】:

      【解决方案5】:

      这个问题有一个非常简单的解决方法

      if data == "data":
            window.wm_state('zoomed')
      

      【讨论】:

        【解决方案6】:

        我想这就是你要找的东西

        import tkinter
        
        yourwindow = tkinter.Tk()
        yourwindow.state("zoomed")
        
        yourwindow.mainloop()
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-03-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多