自动最大化tkinter窗口

时间:2015-08-12 05:31:47

标签: python tkinter raspberry-pi

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

我希望在收到数据时最小化我的窗口。

6 个答案:

答案 0 :(得分:1)

这可以通过调用以下内容来完成:

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

答案 1 :(得分:0)

收到数据电话后:

use Sonata\AdminBundle\Admin\Admin;
class BaseAdmin extends Admin {
    public function __construct( $code, $class, $baseControllerName ) {
        parent::__construct( $code, $class, $baseControllerName );
            $this->datagridValues = array(
                '_page'       => 1,
                '_per_page'   => 50,
                /** '_sort_order' => 'DESC',      // sort direction */

            );
    }
}

答案 2 :(得分:0)

如果您想要做的只是"取消最小化"在窗口中,调用deiconify,这会将窗口恢复到最小化之前的状态。

window.deiconify()

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

我想这就是你要找的

import tkinter

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

yourwindow.mainloop()