PHP 8.2.30
Preview: dialog.py Size: 3.13 KB
//proc/thread-self/root/usr/lib64/python2.7/Demo/tkinter/guido/dialog.py

#! /usr/bin/python2.7

# A Python function that generates dialog boxes with a text message,
# optional bitmap, and any number of buttons.
# Cf. Ousterhout, Tcl and the Tk Toolkit, Figs. 27.2-3, pp. 269-270.

from Tkinter import *
import sys


def dialog(master, title, text, bitmap, default, *args):

    # 1. Create the top-level window and divide it into top
    # and bottom parts.

    w = Toplevel(master, class_='Dialog')
    w.title(title)
    w.iconname('Dialog')

    top = Frame(w, relief=RAISED, borderwidth=1)
    top.pack(side=TOP, fill=BOTH)
    bot = Frame(w, relief=RAISED, borderwidth=1)
    bot.pack(side=BOTTOM, fill=BOTH)

    # 2. Fill the top part with the bitmap and message.

    msg = Message(top, width='3i', text=text,
                  font='-Adobe-Times-Medium-R-Normal-*-180-*')
    msg.pack(side=RIGHT, expand=1, fill=BOTH, padx='3m', pady='3m')
    if bitmap:
        bm = Label(top, bitmap=bitmap)
        bm.pack(side=LEFT, padx='3m', pady='3m')

    # 3. Create a row of buttons at the bottom of the dialog.

    var = IntVar()
    buttons = []
    i = 0
    for but in args:
        b = Button(bot, text=but, command=lambda v=var,i=i: v.set(i))
        buttons.append(b)
        if i == default:
            bd = Frame(bot, relief=SUNKEN, borderwidth=1)
            bd.pack(side=LEFT, expand=1, padx='3m', pady='2m')
            b.lift()
            b.pack (in_=bd, side=LEFT,
                    padx='2m', pady='2m', ipadx='2m', ipady='1m')
        else:
            b.pack (side=LEFT, expand=1,
                    padx='3m', pady='3m', ipadx='2m', ipady='1m')
        i = i+1

    # 4. Set up a binding for <Return>, if there's a default,
    # set a grab, and claim the focus too.

    if default >= 0:
        w.bind('<Return>',
               lambda e, b=buttons[default], v=var, i=default:
               (b.flash(),
                v.set(i)))

    oldFocus = w.focus_get()
    w.grab_set()
    w.focus_set()

    # 5. Wait for the user to respond, then restore the focus
    # and return the index of the selected button.

    w.waitvar(var)
    w.destroy()
    if oldFocus: oldFocus.focus_set()
    return var.get()

# The rest is the test program.

def go():
    i = dialog(mainWidget,
               'Not Responding',
               "The file server isn't responding right now; "
               "I'll keep trying.",
               '',
               -1,
               'OK')
    print 'pressed button', i
    i = dialog(mainWidget,
               'File Modified',
               'File "tcl.h" has been modified since '
               'the last time it was saved. '
               'Do you want to save it before exiting the application?',
               'warning',
               0,
               'Save File',
               'Discard Changes',
               'Return To Editor')
    print 'pressed button', i

def test():
    import sys
    global mainWidget
    mainWidget = Frame()
    Pack.config(mainWidget)
    start = Button(mainWidget, text='Press Here To Start', command=go)
    start.pack()
    endit = Button(mainWidget, text="Exit", command=sys.exit)
    endit.pack(fill=BOTH)
    mainWidget.mainloop()

if __name__ == '__main__':
    test()

Directory Contents

Dirs: 0 × Files: 81

Name Size Perms Modified Actions
14.00 KB lrw-r--r-- 2020-04-19 21:13:39
Edit Download
18.33 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
18.33 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
1.07 KB lrw-r--r-- 2020-04-19 21:13:39
Edit Download
1.59 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
1.59 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
1.35 KB lrw-r--r-- 2020-04-19 21:13:39
Edit Download
1.74 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
1.74 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
6.45 KB lrwxr-xr-x 2024-04-10 04:57:37
Edit Download
10.46 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
10.46 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
3.13 KB lrwxr-xr-x 2024-04-10 04:57:37
Edit Download
3.11 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
3.11 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
2.27 KB lrwxr-xr-x 2024-04-10 04:57:37
Edit Download
2.33 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
2.33 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
4.54 KB lrw-r--r-- 2020-04-19 21:13:39
Edit Download
3.82 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
3.82 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
331 B lrw-r--r-- 2020-04-19 21:13:39
Edit Download
701 B lrw-r--r-- 2024-04-10 04:58:47
Edit Download
701 B lrw-r--r-- 2024-04-10 04:58:47
Edit Download
509 B lrw-r--r-- 2020-04-19 21:13:39
Edit Download
1.13 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
1.13 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
205 B lrw-r--r-- 2020-04-19 21:13:39
Edit Download
570 B lrw-r--r-- 2024-04-10 04:58:47
Edit Download
570 B lrw-r--r-- 2024-04-10 04:58:47
Edit Download
3.79 KB lrwxr-xr-x 2024-04-10 04:57:37
Edit Download
4.81 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
4.81 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
991 B lrw-r--r-- 2020-04-19 21:13:39
Edit Download
1.50 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
1.50 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
6.70 KB lrw-r--r-- 2020-04-19 21:13:39
Edit Download
6.27 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
6.27 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
7.30 KB lrwxr-xr-x 2024-04-10 04:57:37
Edit Download
8.17 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
8.17 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
4.39 KB lrwxr-xr-x 2024-04-10 04:57:37
Edit Download
4.83 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
4.83 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
1.20 KB lrwxr-xr-x 2024-04-10 04:57:37
Edit Download
1.59 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
1.59 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
441 B lrw-r--r-- 2020-04-19 21:13:39
Edit Download
594 B lrw-r--r-- 2024-04-10 04:58:47
Edit Download
594 B lrw-r--r-- 2024-04-10 04:58:47
Edit Download
1.85 KB lrw-r--r-- 2020-04-19 21:13:39
Edit Download
2.19 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
2.19 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
4.39 KB lrwxr-xr-x 2024-04-10 04:57:37
Edit Download
4.93 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
4.93 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
4.07 KB lrw-r--r-- 2020-04-19 21:13:39
Edit Download
5.47 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
5.47 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
17.37 KB lrwxr-xr-x 2024-04-10 04:57:37
Edit Download
20.41 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
20.41 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
18.89 KB lrwxr-xr-x 2024-04-10 04:57:37
Edit Download
23.18 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
23.18 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
25.57 KB lrw-r--r-- 2020-04-19 21:13:39
Edit Download
31.67 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
31.07 KB lrw-r--r-- 2024-04-10 04:58:44
Edit Download
4.75 KB lrwxr-xr-x 2024-04-10 04:57:37
Edit Download
5.80 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
5.80 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
1.52 KB lrw-r--r-- 2020-04-19 21:13:39
Edit Download
2.85 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
2.85 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
8.79 KB lrwxr-xr-x 2024-04-10 04:57:37
Edit Download
8.88 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
8.88 KB lrw-r--r-- 2024-04-10 04:58:47
Edit Download
623 B lrw-r--r-- 2020-04-19 21:13:39
Edit Download
737 B lrw-r--r-- 2024-04-10 04:58:47
Edit Download
737 B lrw-r--r-- 2024-04-10 04:58:47
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).