cpython/Demo/tkinter/matt/dialog-box.py

66 lines
2.4 KiB
Python

from Tkinter import *
# this shows how to create a new window with a button in it that can create new windows
class Test(Frame):
def printit(self):
print "hi"
def makeWindow(self):
# there is no Tkinter interface to the dialog box. Making one would mean putting
# a few wrapper functions in the Tkinter.py file.
# even better is to put in a SUIT-like selection of commonly-used dialogs.
# the parameters to this call are as follows:
fred = Toplevel() # a toplevel window that the dialog goes into
# this function returns the index of teh button chosen. In this case, 0 for "yes" and 1 for "no"
print self.tk.call("tk_dialog", # the command name
fred, # the name of a toplevel window
"fred the dialog box", # the title on the window
"click on a choice", # the message to appear in the window
"info", # the bitmap (if any) to appear. If no bitmap is desired, pass ""
# legal values here are:
# string what it looks like
# ----------------------------------------------
# error a circle with a slash through it
# grey25 grey square
# grey50 darker grey square
# hourglass use for "wait.."
# info a large, lower case "i"
# questhead a human head with a "?" in it
# question a large "?"
# warning a large "!"
# @fname any X bitmap where fname is the path to the file
#
"0", # the index of the default button choice. hitting return selects this
"yes", "no") # all remaining parameters are the labels for the
# buttons that appear left to right in the dialog box
def createWidgets(self):
self.QUIT = Button(self, {'text': 'QUIT',
'fg': 'red',
'command': self.quit})
self.QUIT.pack({'side': 'left', 'fill': 'both'})
# a hello button
self.hi_there = Button(self, {'text': 'Make a New Window',
'command' : self.makeWindow})
self.hi_there.pack({'side': 'left'})
def __init__(self, master=None):
Frame.__init__(self, master)
Pack.config(self)
self.windownum = 0
self.createWidgets()
test = Test()
test.mainloop()