Server: appserver-7f0f8755-nginx-15961cad18524ec5a9db05f2a6a7e440
Current directory: /usr/lib/python2.7/lib-tk
Software: nginx/1.27.5
Shell Command
Create a new file
Upload file
File: SimpleDialog.py
"""A simple but flexible modal dialog box.""" from Tkinter import * class SimpleDialog: def __init__(self, master, text='', buttons=[], default=None, cancel=None, title=None, class_=None): if class_: self.root = Toplevel(master, class_=class_) else: self.root = Toplevel(master) if title: self.root.title(title) self.root.iconname(title) self.message = Message(self.root, text=text, aspect=400) self.message.pack(expand=1, fill=BOTH) self.frame = Frame(self.root) self.frame.pack() self.num = default self.cancel = cancel self.default = default self.root.bind('
', self.return_event) for num in range(len(buttons)): s = buttons[num] b = Button(self.frame, text=s, command=(lambda self=self, num=num: self.done(num))) if num == default: b.config(relief=RIDGE, borderwidth=8) b.pack(side=LEFT, fill=BOTH, expand=1) self.root.protocol('WM_DELETE_WINDOW', self.wm_delete_window) self._set_transient(master) def _set_transient(self, master, relx=0.5, rely=0.3): widget = self.root widget.withdraw() # Remain invisible while we figure out the geometry widget.transient(master) widget.update_idletasks() # Actualize geometry information if master.winfo_ismapped(): m_width = master.winfo_width() m_height = master.winfo_height() m_x = master.winfo_rootx() m_y = master.winfo_rooty() else: m_width = master.winfo_screenwidth() m_height = master.winfo_screenheight() m_x = m_y = 0 w_width = widget.winfo_reqwidth() w_height = widget.winfo_reqheight() x = m_x + (m_width - w_width) * relx y = m_y + (m_height - w_height) * rely if x+w_width > master.winfo_screenwidth(): x = master.winfo_screenwidth() - w_width elif x < 0: x = 0 if y+w_height > master.winfo_screenheight(): y = master.winfo_screenheight() - w_height elif y < 0: y = 0 widget.geometry("+%d+%d" % (x, y)) widget.deiconify() # Become visible at the desired location def go(self): self.root.wait_visibility() self.root.grab_set() self.root.mainloop() self.root.destroy() return self.num def return_event(self, event): if self.default is None: self.root.bell() else: self.done(self.default) def wm_delete_window(self): if self.cancel is None: self.root.bell() else: self.done(self.cancel) def done(self, num): self.num = num self.root.quit() if __name__ == '__main__': def test(): root = Tk() def doit(root=root): d = SimpleDialog(root, text="This is a test dialog. " "Would this have been an actual dialog, " "the buttons below would have been glowing " "in soft pink light.\n" "Do you believe this?", buttons=["Yes", "No", "Cancel"], default=0, cancel=2, title="Test Dialog") print d.go() t = Button(root, text='Test', command=doit) t.pack() q = Button(root, text='Quit', command=t.quit) q.pack() t.mainloop() test()
.
36 Items
Change directory
Remove directory
Rename directory
..
442 Items
Change directory
Remove directory
Rename directory
Canvas.py
7.29 KB
Edit
Delete
Copy
Move
Remame
Canvas.pyc
15.04 KB
Edit
Delete
Copy
Move
Remame
Dialog.py
1.53 KB
Edit
Delete
Copy
Move
Remame
Dialog.pyc
1.87 KB
Edit
Delete
Copy
Move
Remame
FileDialog.py
8.62 KB
Edit
Delete
Copy
Move
Remame
FileDialog.pyc
9.45 KB
Edit
Delete
Copy
Move
Remame
FixTk.py
2.95 KB
Edit
Delete
Copy
Move
Remame
FixTk.pyc
2.04 KB
Edit
Delete
Copy
Move
Remame
ScrolledText.py
1.79 KB
Edit
Delete
Copy
Move
Remame
ScrolledText.pyc
2.59 KB
Edit
Delete
Copy
Move
Remame
SimpleDialog.py
3.64 KB
Edit
Delete
Copy
Move
Remame
SimpleDialog.pyc
4.22 KB
Edit
Delete
Copy
Move
Remame
Tix.py
75.49 KB
Edit
Delete
Copy
Move
Remame
Tix.pyc
93.19 KB
Edit
Delete
Copy
Move
Remame
Tkconstants.py
1.46 KB
Edit
Delete
Copy
Move
Remame
Tkconstants.pyc
2.19 KB
Edit
Delete
Copy
Move
Remame
Tkdnd.py
11.22 KB
Edit
Delete
Copy
Move
Remame
Tkdnd.pyc
12.47 KB
Edit
Delete
Copy
Move
Remame
Tkinter.py
156.77 KB
Edit
Delete
Copy
Move
Remame
Tkinter.pyc
194.33 KB
Edit
Delete
Copy
Move
Remame
tkColorChooser.py
1.74 KB
Edit
Delete
Copy
Move
Remame
tkColorChooser.pyc
1.38 KB
Edit
Delete
Copy
Move
Remame
tkCommonDialog.py
1.38 KB
Edit
Delete
Copy
Move
Remame
tkCommonDialog.pyc
1.47 KB
Edit
Delete
Copy
Move
Remame
tkFileDialog.py
5.59 KB
Edit
Delete
Copy
Move
Remame
tkFileDialog.pyc
5.01 KB
Edit
Delete
Copy
Move
Remame
tkFont.py
5.95 KB
Edit
Delete
Copy
Move
Remame
tkFont.pyc
6.92 KB
Edit
Delete
Copy
Move
Remame
tkMessageBox.py
3.6 KB
Edit
Delete
Copy
Move
Remame
tkMessageBox.pyc
3.78 KB
Edit
Delete
Copy
Move
Remame
tkSimpleDialog.py
7.54 KB
Edit
Delete
Copy
Move
Remame
tkSimpleDialog.pyc
8.85 KB
Edit
Delete
Copy
Move
Remame
ttk.py
54.69 KB
Edit
Delete
Copy
Move
Remame
ttk.pyc
60.79 KB
Edit
Delete
Copy
Move
Remame
turtle.py
135.78 KB
Edit
Delete
Copy
Move
Remame
turtle.pyc
135.84 KB
Edit
Delete
Copy
Move
Remame