栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Tkinter中的文本输入

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Tkinter中的文本输入

您的代码流如下所示:

  • 主要作用域调用
    getText
  • getText
    创建一个
    takeInput
    对象
    a
  • takeInput
    对象初始化自身,创建标签及按钮等
  • getText
    返回
    a.getString()
    ,返回
    self.string
    ,其仍为默认值,即空字符串。
  • 主范围显示
    var
    ,该值为空。

到目前为止,所有这些都发生在几纳秒的时间范围内。用户甚至还没有看到窗口。

然后

root.mainloop()
,主作用域调用,这最终为用户提供了与窗口进行交互的机会。但是为时已晚。
var
已被打印。

如果您不希望

getText
在用户提交文本之前不返回,则
mainloop
必须在内
getText
而不是之后进行。

from Tkinter import *class takeInput(object):    def __init__(self,requestMessage):        self.root = Tk()        self.string = ''        self.frame = frame(self.root)        self.frame.pack()     self.acceptInput(requestMessage)    def acceptInput(self,requestMessage):        r = self.frame        k = Label(r,text=requestMessage)        k.pack(side='left')        self.e = Entry(r,text='Name')        self.e.pack(side='left')        self.e.focus_set()        b = Button(r,text='okay',command=self.gettext)        b.pack(side='right')    def gettext(self):        self.string = self.e.get()        self.root.destroy()    def getString(self):        return self.string    def waitForInput(self):        self.root.mainloop()def getText(requestMessage):    msgBox = takeInput(requestMessage)    #loop until the user makes a decision and the window is destroyed    msgBox.waitForInput()    return msgBox.getString()var = getText('enter your name')print "Var:", var


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/646687.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号