1
+ '''
2
+ Created on Jan 7, 2018
3
+
4
+ @author: aditya
5
+
6
+ This program demonstrates use of Toplevel windows in TKINTER
7
+ '''
8
+
9
+ import tkinter as tk
10
+ from tkinter import ttk
11
+
12
+ class TopLevelApp :
13
+ def __init__ (self , master ):
14
+ self .master = master
15
+ master .title ('Master' )
16
+ self .pop_btn = ttk .Button (master , text = 'Show Pop-up' , command = self .getPop )
17
+ self .pop_btn .pack ()
18
+ self .master .config (padx = 100 , pady = 50 )
19
+
20
+ def getPop (self ):
21
+ self .window = tk .Toplevel (self .master )
22
+ self .window .title ('Popped' )
23
+ self .window .grab_set ()
24
+ ttk .Button (self .window , text = 'Hide Master' , command = self .hideMaster ).pack ()
25
+ ttk .Button (self .window , text = 'Normalize Master window' , command = self .getMaster ).pack ()
26
+ self .window .config (padx = 100 , pady = 50 )
27
+ ttk .Button (self .window , text = 'Create pop-up' , command = self .getPopup ).pack ()
28
+ ttk .Button (self .window , text = 'Iconify(Minimize)' , command = self .iconifywindow ).pack ()
29
+
30
+ def iconifywindow (self ):
31
+ self .window .iconify ()
32
+
33
+ def getPopup (self ):
34
+ self .window2 = tk .Toplevel (self .window )
35
+ self .window2 .title ('Popped Up' )
36
+ self .window2 .config (padx = 25 , pady = 25 )
37
+ self .window2 .maxsize (640 , 480 )
38
+ self .window2 .minsize (300 , 400 )
39
+ self .window2 .geometry ('640x480+60+60' )
40
+ self .window2 .grab_set ()
41
+ ttk .Button (self .window2 , text = 'Minimize' , command = self .minimizePopUp ).pack ()
42
+ ttk .Button (self .window2 , text = 'Maximize' , command = self .maximizePopUp ).pack ()
43
+ ttk .Button (self .window2 , text = 'Normalize' , command = self .normalizePopUp ).pack ()
44
+ ttk .Button (self .window2 , text = 'Resize Window - TRUE' , command = self .makeResizeTrue ).pack ()
45
+ ttk .Button (self .window2 , text = 'Resize Window - FALSE' , command = self .makeResizeFalse ).pack ()
46
+ ttk .Button (self .window2 , text = 'Close' , command = self .closewindow ).pack ()
47
+
48
+ def makeResizeTrue (self ):
49
+ self .window2 .resizable (True , True )
50
+
51
+ def makeResizeFalse (self ):
52
+ self .window2 .resizable (False , False )
53
+
54
+ def getMaster (self ):
55
+ self .master .state ('normal' )
56
+ self .window .grab_set ()
57
+
58
+ def hideMaster (self ):
59
+ self .master .state ('withdrawn' )
60
+
61
+ def minimizePopUp (self ):
62
+ self .window2 .state ('iconic' )
63
+
64
+ def maximizePopUp (self ):
65
+ self .window2 .state ('zoomed' )
66
+
67
+ def normalizePopUp (self ):
68
+ self .window2 .state ('normal' )
69
+
70
+ def closewindow (self ):
71
+ self .window2 .destroy ()
72
+
73
+ def launchTopLevelApp ():
74
+ root = tk .Tk ()
75
+ TopLevelApp (root )
76
+ tk .mainloop ()
77
+
78
+ if __name__ == '__main__' :
79
+ launchTopLevelApp ()
80
+
81
+
0 commit comments