Files
cpython/Lib/tkinter/dialog.py
T
Miss Islington (bot) 2aa5928392 [3.15] gh-86726: Fix and improve tkinter documentation and docstrings (GH-153549) (GH-153551)
Correct inaccurate return-type and option descriptions in the tkinter
reference, and add missing module and class docstrings.
(cherry picked from commit 77cb7560c0)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11 10:17:25 +00:00

55 lines
1.7 KiB
Python

# dialog.py -- Tkinter interface to the tk_dialog script.
"""Classic Tk dialog box, wrapping the tk_dialog script."""
from tkinter import _cnfmerge, Widget, TclError, Button, Pack
__all__ = ["Dialog"]
DIALOG_ICON = 'questhead'
class Dialog(Widget):
"""A modal dialog box built from the classic (non-themed) Tk widgets."""
def __init__(self, master=None, cnf={}, **kw):
cnf = _cnfmerge((cnf, kw))
self.widgetName = '__dialog__'
self._setup(master, cnf)
self.num = self.tk.getint(
self.tk.call(
'tk_dialog', self._w,
cnf['title'], cnf['text'],
cnf['bitmap'], cnf['default'],
*cnf['strings']))
try: Widget.destroy(self)
except TclError: pass
def destroy(self):
"""Do nothing; the dialog window is already destroyed."""
def _test():
d = Dialog(None, {'title': 'File Modified',
'text':
'File "Python.h" has been modified'
' since the last time it was saved.'
' Do you want to save it before'
' exiting the application.',
'bitmap': DIALOG_ICON,
'default': 0,
'strings': ('Save File',
'Discard Changes',
'Return to Editor')})
print(d.num)
if __name__ == '__main__':
t = Button(None, {'text': 'Test',
'command': _test,
Pack: {}})
q = Button(None, {'text': 'Quit',
'command': t.quit,
Pack: {}})
t.mainloop()