Psyduck - 可達鴨 之 鴨力山大2


Server : LiteSpeed
System : Linux premium217.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User : alloknri ( 880)
PHP Version : 8.1.34
Disable Function : NONE
Directory :  /lib64/python2.7/lib-tk/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib64/python2.7/lib-tk/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('<Return>', 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()
Name
Size
Permissions
Options
test
--
drwxr-xr-x
Canvas.py
7.288 KB
-rw-r--r--
Canvas.pyc
15.199 KB
-rw-r--r--
Canvas.pyo
15.199 KB
-rw-r--r--
Dialog.py
1.53 KB
-rw-r--r--
Dialog.pyc
1.875 KB
-rw-r--r--
Dialog.pyo
1.875 KB
-rw-r--r--
FileDialog.py
8.624 KB
-rw-r--r--
FileDialog.pyc
9.49 KB
-rw-r--r--
FileDialog.pyo
9.49 KB
-rw-r--r--
FixTk.py
2.947 KB
-rw-r--r--
FixTk.pyc
2.043 KB
-rw-r--r--
FixTk.pyo
1.982 KB
-rw-r--r--
ScrolledText.py
1.793 KB
-rw-r--r--
ScrolledText.pyc
2.602 KB
-rw-r--r--
ScrolledText.pyo
2.602 KB
-rw-r--r--
SimpleDialog.py
3.641 KB
-rw-r--r--
SimpleDialog.pyc
4.237 KB
-rw-r--r--
SimpleDialog.pyo
4.237 KB
-rw-r--r--
Tix.py
75.405 KB
-rw-r--r--
Tix.pyc
93.838 KB
-rw-r--r--
Tix.pyo
93.838 KB
-rw-r--r--
Tkconstants.py
1.458 KB
-rw-r--r--
Tkconstants.pyc
2.193 KB
-rw-r--r--
Tkconstants.pyo
2.193 KB
-rw-r--r--
Tkdnd.py
11.219 KB
-rw-r--r--
Tkdnd.pyc
12.524 KB
-rw-r--r--
Tkdnd.pyo
12.524 KB
-rw-r--r--
Tkinter.py
156.854 KB
-rw-r--r--
Tkinter.pyc
195.499 KB
-rw-r--r--
Tkinter.pyo
195.499 KB
-rw-r--r--
tkColorChooser.py
1.742 KB
-rw-r--r--
tkColorChooser.pyc
1.387 KB
-rw-r--r--
tkColorChooser.pyo
1.387 KB
-rw-r--r--
tkCommonDialog.py
1.385 KB
-rw-r--r--
tkCommonDialog.pyc
1.48 KB
-rw-r--r--
tkCommonDialog.pyo
1.48 KB
-rw-r--r--
tkFileDialog.py
5.593 KB
-rw-r--r--
tkFileDialog.pyc
5.04 KB
-rw-r--r--
tkFileDialog.pyo
5.04 KB
-rw-r--r--
tkFont.py
6.018 KB
-rw-r--r--
tkFont.pyc
7.004 KB
-rw-r--r--
tkFont.pyo
7.004 KB
-rw-r--r--
tkMessageBox.py
3.601 KB
-rw-r--r--
tkMessageBox.pyc
3.803 KB
-rw-r--r--
tkMessageBox.pyo
3.803 KB
-rw-r--r--
tkSimpleDialog.py
7.542 KB
-rw-r--r--
tkSimpleDialog.pyc
8.899 KB
-rw-r--r--
tkSimpleDialog.pyo
8.899 KB
-rw-r--r--
ttk.py
54.856 KB
-rw-r--r--
ttk.pyc
61.16 KB
-rw-r--r--
ttk.pyo
61.16 KB
-rw-r--r--
turtle.py
135.776 KB
-rw-r--r--
turtle.pyc
136.306 KB
-rw-r--r--
turtle.pyo
136.306 KB
-rw-r--r--