X7ROOT File Manager
Current Path:
/usr/lib64/python2.7/Demo/tkinter/guido
usr
/
lib64
/
python2.7
/
Demo
/
tkinter
/
guido
/
ðŸ“
..
📄
AttrDialog.py
(14 KB)
📄
AttrDialog.pyc
(18.33 KB)
📄
AttrDialog.pyo
(18.33 KB)
📄
ManPage.py
(6.7 KB)
📄
ManPage.pyc
(6.27 KB)
📄
ManPage.pyo
(6.27 KB)
📄
MimeViewer.py
(4.39 KB)
📄
MimeViewer.pyc
(4.83 KB)
📄
MimeViewer.pyo
(4.83 KB)
📄
ShellWindow.py
(4.07 KB)
📄
ShellWindow.pyc
(5.47 KB)
📄
ShellWindow.pyo
(5.47 KB)
📄
brownian.py
(1.07 KB)
📄
brownian.pyc
(1.59 KB)
📄
brownian.pyo
(1.59 KB)
📄
brownian2.py
(1.35 KB)
📄
brownian2.pyc
(1.74 KB)
📄
brownian2.pyo
(1.74 KB)
📄
canvasevents.py
(6.45 KB)
📄
canvasevents.pyc
(10.46 KB)
📄
canvasevents.pyo
(10.46 KB)
📄
dialog.py
(3.13 KB)
📄
dialog.pyc
(3.11 KB)
📄
dialog.pyo
(3.11 KB)
📄
electrons.py
(2.27 KB)
📄
electrons.pyc
(2.33 KB)
📄
electrons.pyo
(2.33 KB)
📄
hanoi.py
(4.54 KB)
📄
hanoi.pyc
(3.82 KB)
📄
hanoi.pyo
(3.82 KB)
📄
hello.py
(331 B)
📄
hello.pyc
(701 B)
📄
hello.pyo
(701 B)
📄
imagedraw.py
(509 B)
📄
imagedraw.pyc
(1.13 KB)
📄
imagedraw.pyo
(1.13 KB)
📄
imageview.py
(205 B)
📄
imageview.pyc
(570 B)
📄
imageview.pyo
(570 B)
📄
kill.py
(3.79 KB)
📄
kill.pyc
(4.81 KB)
📄
kill.pyo
(4.81 KB)
📄
listtree.py
(991 B)
📄
listtree.pyc
(1.5 KB)
📄
listtree.pyo
(1.5 KB)
📄
mbox.py
(7.3 KB)
📄
mbox.pyc
(8.17 KB)
📄
mbox.pyo
(8.17 KB)
📄
newmenubardemo.py
(1.2 KB)
📄
newmenubardemo.pyc
(1.59 KB)
📄
newmenubardemo.pyo
(1.59 KB)
📄
optionmenu.py
(441 B)
📄
optionmenu.pyc
(594 B)
📄
optionmenu.pyo
(594 B)
📄
paint.py
(1.85 KB)
📄
paint.pyc
(2.19 KB)
📄
paint.pyo
(2.19 KB)
📄
rmt.py
(4.39 KB)
📄
rmt.pyc
(4.93 KB)
📄
rmt.pyo
(4.93 KB)
📄
solitaire.py
(17.37 KB)
📄
solitaire.pyc
(20.41 KB)
📄
solitaire.pyo
(20.41 KB)
📄
sortvisu.py
(18.89 KB)
📄
sortvisu.pyc
(23.18 KB)
📄
sortvisu.pyo
(23.18 KB)
📄
ss1.py
(25.57 KB)
📄
ss1.pyc
(31.67 KB)
📄
ss1.pyo
(31.07 KB)
📄
svkill.py
(4.75 KB)
📄
svkill.pyc
(5.8 KB)
📄
svkill.pyo
(5.8 KB)
📄
switch.py
(1.52 KB)
📄
switch.pyc
(2.85 KB)
📄
switch.pyo
(2.85 KB)
📄
tkman.py
(8.79 KB)
📄
tkman.pyc
(8.88 KB)
📄
tkman.pyo
(8.88 KB)
📄
wish.py
(623 B)
📄
wish.pyc
(737 B)
📄
wish.pyo
(737 B)
Editing: rmt.py
#! /usr/bin/python2.7 # A Python program implementing rmt, an application for remotely # controlling other Tk applications. # Cf. Ousterhout, Tcl and the Tk Toolkit, Figs. 27.5-8, pp. 273-276. # Note that because of forward references in the original, we # sometimes delay bindings until after the corresponding procedure is # defined. We also introduce names for some unnamed code blocks in # the original because of restrictions on lambda forms in Python. # XXX This should be written in a more Python-like style!!! from Tkinter import * import sys # 1. Create basic application structure: menu bar on top of # text widget, scrollbar on right. root = Tk() tk = root.tk mBar = Frame(root, relief=RAISED, borderwidth=2) mBar.pack(fill=X) f = Frame(root) f.pack(expand=1, fill=BOTH) s = Scrollbar(f, relief=FLAT) s.pack(side=RIGHT, fill=Y) t = Text(f, relief=RAISED, borderwidth=2, yscrollcommand=s.set, setgrid=1) t.pack(side=LEFT, fill=BOTH, expand=1) t.tag_config('bold', font='-Adobe-Courier-Bold-R-Normal-*-120-*') s['command'] = t.yview root.title('Tk Remote Controller') root.iconname('Tk Remote') # 2. Create menu button and menus. file = Menubutton(mBar, text='File', underline=0) file.pack(side=LEFT) file_m = Menu(file) file['menu'] = file_m file_m_apps = Menu(file_m, tearoff=0) file_m.add_cascade(label='Select Application', underline=0, menu=file_m_apps) file_m.add_command(label='Quit', underline=0, command=sys.exit) # 3. Create bindings for text widget to allow commands to be # entered and information to be selected. New characters # can only be added at the end of the text (can't ever move # insertion point). def single1(e): x = e.x y = e.y t.setvar('tk_priv(selectMode)', 'char') t.mark_set('anchor', At(x, y)) # Should focus W t.bind('<1>', single1) def double1(e): x = e.x y = e.y t.setvar('tk_priv(selectMode)', 'word') t.tk_textSelectTo(At(x, y)) t.bind('<Double-1>', double1) def triple1(e): x = e.x y = e.y t.setvar('tk_priv(selectMode)', 'line') t.tk_textSelectTo(At(x, y)) t.bind('<Triple-1>', triple1) def returnkey(e): t.insert(AtInsert(), '\n') invoke() t.bind('<Return>', returnkey) def controlv(e): t.insert(AtInsert(), t.selection_get()) t.yview_pickplace(AtInsert()) if t.index(AtInsert())[-2:] == '.0': invoke() t.bind('<Control-v>', controlv) # 4. Procedure to backspace over one character, as long as # the character isn't part of the prompt. def backspace(e): if t.index('promptEnd') != t.index('insert - 1 char'): t.delete('insert - 1 char', AtInsert()) t.yview_pickplace(AtInsert()) t.bind('<BackSpace>', backspace) t.bind('<Control-h>', backspace) t.bind('<Delete>', backspace) # 5. Procedure that's invoked when return is typed: if # there's not yet a complete command (e.g. braces are open) # then do nothing. Otherwise, execute command (locally or # remotely), output the result or error message, and issue # a new prompt. def invoke(): cmd = t.get('promptEnd + 1 char', AtInsert()) if t.getboolean(tk.call('info', 'complete', cmd)): # XXX if app == root.winfo_name(): msg = tk.call('eval', cmd) # XXX else: msg = t.send(app, cmd) if msg: t.insert(AtInsert(), msg + '\n') prompt() t.yview_pickplace(AtInsert()) def prompt(): t.insert(AtInsert(), app + ': ') t.mark_set('promptEnd', 'insert - 1 char') t.tag_add('bold', 'insert linestart', 'promptEnd') # 6. Procedure to select a new application. Also changes # the prompt on the current command line to reflect the new # name. def newApp(appName): global app app = appName t.delete('promptEnd linestart', 'promptEnd') t.insert('promptEnd', appName + ':') t.tag_add('bold', 'promptEnd linestart', 'promptEnd') def fillAppsMenu(): file_m_apps.add('command') file_m_apps.delete(0, 'last') names = root.winfo_interps() names = list(names) names.sort() for name in names: try: root.send(name, 'winfo name .') except TclError: # Inoperative window -- ignore it pass else: file_m_apps.add_command( label=name, command=lambda name=name: newApp(name)) file_m_apps['postcommand'] = fillAppsMenu mBar.tk_menuBar(file) # 7. Miscellaneous initialization. app = root.winfo_name() prompt() t.focus() root.mainloop()
Upload File
Create Folder