当前位置: 首页>>代码示例>>Python>>正文


Python Toplevel.after方法代码示例

本文整理汇总了Python中tkinter.Toplevel.after方法的典型用法代码示例。如果您正苦于以下问题:Python Toplevel.after方法的具体用法?Python Toplevel.after怎么用?Python Toplevel.after使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在tkinter.Toplevel的用法示例。


在下文中一共展示了Toplevel.after方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: nameHandler

# 需要导入模块: from tkinter import Toplevel [as 别名]
# 或者: from tkinter.Toplevel import after [as 别名]
def nameHandler(name, message):
    '''Takes a string name and character, provides an interface for correcting
    the illegal name, returns a new legal string name.'''

    #todo: create a proper validate method

    def destroy(*args):
        root.destroy()

    root = Toplevel()
    root.title('Bad Name')
    root.resizable(False, False)
    root.after(100, root.focus_force) #todo: temp?

    mainFrame = ttk.Frame(root, padding=MAIN_PAD)
    mainFrame.grid(column=0, row=0, sticky='nwes')

    newname = StringVar(value=name)

    nameEntry = ttk.Entry(mainFrame, textvariable=newname)
    nameEntry.grid(row=1, sticky='we')

    ttk.Label(mainFrame, text=message).grid(row=0)

    for child in mainFrame.winfo_children():
        child.grid(padx=5, pady=5)

    nameEntry.after(100, nameEntry.focus) #todo: temp?
    root.bind('<Return>', destroy)

    root.wait_window()

    #todo: disable the ability to close the window instead? add abort option?
    if len(newname.get()) < 1:
        return nameHandler(name, message)
    else:
        return newname.get()
开发者ID:Sidnoea,项目名称:pokeBridge,代码行数:39,代码来源:gui.py

示例2: Overlay

# 需要导入模块: from tkinter import Toplevel [as 别名]
# 或者: from tkinter.Toplevel import after [as 别名]
class Overlay(threading.Thread):
    def __init__(self,
                 width, height,
                 xpos, ypos,
                 bgcolor, fgcolor,
                 fontsize, opacity,
                 messages, close):
        threading.Thread.__init__(self, daemon=True)

        self.width = width
        self.height = height
        self.xpos = xpos
        self.ypos = ypos
        self.bgcolor = bgcolor
        self.fgcolor = fgcolor
        self.fontsize = fontsize
        self.opacity = opacity
        self.messages = messages
        self.close = close

        username_colors = [
            '#0000ff',
            '#ff7f50',
            '#1e90ff',
            '#00ff7f',
            '#9acd32',
            '#00ff00',
            '#ff4500',
            '#ff0000',
            '#daa520',
            '#ff69b4',
            '#5f9ea0',
            '#2e8b57',
            '#d2691e',
            '#8a2be2',
            '#b22222',
        ]
        self.color_for = defaultdict(lambda: random.choice(username_colors))
        self.start()
        self.images = []

    def die(self):
        self.images = None
        self.close.put('killme')
        self.root.quit()

    def run(self):
        self.root = MyRoot()
        self.root.lower()
        self.root.iconify()
        self.root.title('poetato overlay')
        self.root.protocol('WM_DELETE_WINDOW', self.die)

        self.app = Toplevel(self.root)
        self.app.geometry("%dx%d+%d+%d" % (self.width, self.height,
                                           self.xpos, self.ypos))
        self.app.resizable(width=False, height=False)
        self.app.overrideredirect(1)
        self.app.minsize(width=self.width, height=self.height)
        self.app.maxsize(width=self.width, height=self.height)
        self.app.attributes(
            '-alpha', self.opacity,
            '-topmost', True,
            '-disabled', True,
        )

        self.text = Text(self.app,
                         bg=self.bgcolor, fg=self.fgcolor,
                         wrap='word', state='disabled')
        self.text.configure(font=('Helvetica', self.fontsize, 'bold'))
        self.text.pack()
        self.app.lift()

        # tell Windows(tm) to allow clicks to pass through our overlay.
        hWindow = pywintypes.HANDLE(int(self.root.frame(), 16))
        exStyle = (win32con.WS_EX_LAYERED |
                   win32con.WS_EX_TRANSPARENT |
                   win32con.WS_EX_NOACTIVATE)
        win32api.SetWindowLong(hWindow, win32con.GWL_EXSTYLE, exStyle)

        self.app.after(100, self.update)
        self.app.mainloop()

    def update(self):
        if self.messages.empty():
            self.app.after(100, self.update)
            return
        msg = self.messages.get_nowait()

        self.text['state'] = 'normal'

        if self.text.index('end-1c') != '1.0':
            self.text.insert('end', '\n')

        self.text.insert('end', "{0}: ".format(msg.display_name))
        emote_insertions = {}
        for eid, pos in msg.emotes.items():
            for p in pos:
                emote_insertions[p[0]] = (msg.localemotes[eid], p[1]+1)

#.........这里部分代码省略.........
开发者ID:jdodds,项目名称:poetato,代码行数:103,代码来源:overlay.py


注:本文中的tkinter.Toplevel.after方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。