/usr/share/doc/python-pmw-doc/examples/MessageDialog.py is in python-pmw-doc 1.3.2-6build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | title = 'Pmw.MessageDialog demonstration'
# Import Pmw from this directory tree.
import sys
sys.path[:0] = ['../../..']
import Tkinter
import Pmw
class Demo:
def __init__(self, parent):
self.parent = parent
# Create dialog 1.
self.dialog1 = Pmw.MessageDialog(parent,
title = 'Simple message dialog',
defaultbutton = 0,
message_text = 'A simple message dialog\nwith no callback.')
self.dialog1.iconname('Simple message dialog')
self.dialog1.withdraw()
# Create dialog 2.
self.dialog2 = Pmw.MessageDialog(parent,
title = 'Bell ringing dialog',
message_text = 'This message dialog\nwill ring the bell ' +
'when\nyou click on the buttons.',
iconpos = 'w',
icon_bitmap = 'error',
command = self.execute2,
buttons = ('One', 'Two', 'Three', 'Close'))
self.dialog2.iconname('Bell ringing dialog')
self.dialog2.withdraw()
# Create dialog 3.
self.dialog3 = Pmw.MessageDialog(parent,
title = 'Vertical button dialog',
message_text = 'This message dialog\nhas the buttons on the\n' +
'right hand side.',
buttonboxpos = 'e',
iconpos = 'n',
icon_bitmap = 'warning',
buttons = ('Goodbye', 'Au revoir', 'Sayonara', 'Close'),
defaultbutton = 'Close')
self.dialog3.iconname('Vertical button dialog')
self.dialog3.withdraw()
# Create some buttons to launch the dialogs.
w = Tkinter.Button(parent, text = 'Simple dialog',
command = lambda self = self:
self.dialog1.activate(geometry = 'first+100+100'))
w.pack(padx = 8, pady = 8)
w = Tkinter.Button(parent, text = 'Bell ringing dialog',
command = self.dialog2.activate)
w.pack(padx = 8, pady = 8)
w = Tkinter.Button(parent, text = 'Vertical buttons',
command = self.dialog3.activate)
w.pack(padx = 8, pady = 8)
w = Tkinter.Button(parent, text = 'On the fly dialog',
command = self._createOnTheFly)
w.pack(padx = 8, pady = 8)
def execute2(self, result):
print 'You clicked on', result
if result is None:
self.dialog2.deactivate(result)
elif result == 'Close':
self.dialog2.deactivate(result)
else:
for count in range({'One': 1, 'Two': 2, 'Three': 3}[result]):
if count != 0:
self.dialog2.after(200)
self.dialog2.bell()
def _createOnTheFly(self):
dialog = Pmw.MessageDialog(self.parent,
title = 'On the fly dialog',
defaultbutton = 0,
buttons = ('OK', 'Apply', 'Cancel', 'Help'),
message_text = 'This dialog was created when you clicked ' +
'on the button.')
dialog.iconname('Simple message dialog')
result = dialog.activate()
print 'You selected', result
######################################################################
# Create demo in root window for testing.
if __name__ == '__main__':
root = Tkinter.Tk()
Pmw.initialise(root)
root.title(title)
exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy)
exitButton.pack(side = 'bottom')
widget = Demo(root)
root.mainloop()
|