精华内容
下载资源
问答
  • 2021-09-20 09:52:38

    写了个脚本,想要把脚本做成图形化界面,在获取Entry的数值时遇到了问题,发现获取的数值没办法调用,请大佬们看一下

    import tkinter as tk
    
    root = tk.Tk()
    root.title('爬虫脚本')
    root.geometry('600x400+400+200')
    
    lb1 = tk.Label(root, text="请输入起始页", font=("华文行楷", 15), fg="green")
    lb1.place(relx=0.1, rely=0.1, relwidth=0.3, relheight=0.1)
    lb2 = tk.Label(root, text="请输入终止页", font=("华文行楷", 15), fg="green")
    lb2.place(relx=0.1, rely=0.3, relwidth=0.3, relheight=0.1)
    
    min_num = tk.IntVar()
    max_num = tk.IntVar()
    
    inp1 = tk.Entry(root, textvariable=min_num)
    inp1.place(relx=0.4, rely=0.1, relwidth=0.3, relheight=0.1)
    inp2 = tk.Entry(root, textvariable=max_num)
    inp2.place(relx=0.4, rely=0.3, relwidth=0.3, relheight=0.1)
    min_num = inp1.get()
    max_num = inp2.get()
    # print(type(min_num))
    a = int(min_num)
    b = int(max_num)
    
    def zhixing():
        for i in range(a, b):
            print(i)
            pass
        pass
    
    btn1 = tk.Button(root, text='执行', command=zhixing)
    btn1.place(relx=0.3, rely=0.45, relwidth=0.3, relheight=0.1)
    
    root.mainloop()

    点击执行,没有办法输出任何值,这个测试代码是为了测试一下怎么调用entry输入的值的

    更多相关内容
  • <开篇吐槽> GUI编程的麻烦,不是tkinter独有...本节要介绍的,是Entry控件,它的主要作用就是获取用户的输入。以下的代码,我们会简单涉及到窗口的大小的设定。 # 准备好所需的控件 import tkinter as tk # 换一

    <开篇吐槽>

    GUI编程的麻烦,不是tkinter独有的。计算机语言的特性是“精确”,而要将用户交互界面信息描述准确,是需要许多“废话”的。

    在以后的学习中,我们会遇到拖拽式的开发工具,帮我们更有效地进行GUI开发。不过在这之前,我们还是要把基本功练好,理解各个控件的特性和作用。

    <聊个正题>
    1,
    本节要介绍的,是Entry控件,它的主要作用就是获取用户的输入。以下的代码,我们会简单涉及到窗口的大小的设定。

    # 准备好所需的控件
    import tkinter as tk  # 换一种方式导入tk
    font = ('微软雅黑', 12)
    
    root = tk.Tk()
    root.geometry('250x150') # 设定窗口的大小
    
    label = tk.Label(root,text='请输入姓名',font=font,height=2)
    label.pack()
    
    entry = tk.Entry(root,font=font)
    entry.pack() 
    
    button = tk.Button(root,text='测试',font=font)
    button.pack()
    
    root.mainloop()
    

    2,
    以上,光是把控件位置准备好,就已经不少代码了,而且还特别丑。接下来我们要上一个功能:
    01,获取用户输入的信息,并在控制台打印出来;
    02,设置一个清空按钮,可以清空Entry里的信息

    # 准备好所需的控件
    import tkinter as tk  # 换一种方式导入tk
    
    def getEntry():
        string = entry.get() # 获取Entry的内容
        print(string)
    
    def clear():
        entry.delete(0,'end') # 删除清空Entry控件的内容
    
    font = ('微软雅黑', 12)
    root = tk.Tk()
    root.geometry('250x150') # 设定窗口的大小
    
    label = tk.Label(root,text='请输入姓名',font=font,height=2)
    label.pack()
    entry = tk.Entry(root,font=font)
    entry.pack() 
    button01 = tk.Button(root,text='获取信息',font=font,command=getEntry)
    button01.pack()
    button02 = tk.Button(root,text='清空',font=font, command=clear)
    button02.pack()
    
    root.mainloop()
    
    展开全文
  • 原系列地址: Python Tkinter简介Entry 是 Tkinter 用来接收字符串等输入控件. 该控件允许用户输入一行文字. 如果用户输入的文字长度长于 Entry 控件的宽度时, 文字会向后滚动. 这种情况下所输入的字符串无法全部...

    已获原作者授权. 原系列地址: Python Tkinter

    简介

    Entry 是 Tkinter 用来接收字符串等输入的控件. 该控件允许用户输入一行文字. 如果用户输入的文字长度长于 Entry 控件的宽度时, 文字会向后滚动. 这种情况下所输入的字符串无法全部显示. 点击箭头符号可以将不可见的文字部分移入可见区域. 如果你想要输入多行文本, 就需要使用 Text 控件. Entry 控件只能使用预设字体.

    使用 Entry 控件的语法如下:

    w = Entry(master, option, ...)

    master 参数为其父控件, 就是用来放置这个 Entry 的控件. 像其他控件一样, 我们可以在创建 Entry 控件之后再为其指定属性. 因此创建方法中的 options 选项可以为空.

    下例为一个显示了两个 Entry 控件的应用. 一个用来输入姓氏, 一个用来输入名字. 我们用不带参数的构造方法创建 Entry.

    from tkinter import *

    master = Tk()

    Label(master, text="First Name").grid(row=0)

    Label(master, text="Last Name").grid(row=1)

    e1 = Entry(master)

    e2 = Entry(master)

    e1.grid(row=0, column=1)

    e2.grid(row=1, column=1)

    mainloop( )

    上面代码运行后生成如下窗口:

    现在我们已经创建了两个 Entry, 用户可以在这个应用中输入数据. 但我们的程序如何得到这些数据呢?

    方法很简单, 调用 Entry 类的 get() 方法即可. 我们改进了上面的程序, 添加了 "退出" 和 "显示" 两个按钮. 在 "显示" 按钮上, 我们绑定了 show_entry_fields() 函数, 该函数会调用 Entry 类的 get() 方法. 这样每次 "显示" 按钮被点击, Entry 控件的内容就会打印在终端里.

    from tkinter import *

    def show_entry_fields():

    print("First Name: %s\nLast Name: %s" % (e1.get(), e2.get()))

    master = Tk()

    Label(master, text="First Name").grid(row=0)

    Label(master, text="Last Name").grid(row=1)

    e1 = Entry(master)

    e2 = Entry(master)

    e1.grid(row=0, column=1)

    e2.grid(row=1, column=1)

    Button(master, text='Quit', command=master.quit).grid(row=3, column=0, sticky=W, pady=4)

    Button(master, text='Show', command=show_entry_fields).grid(row=3, column=1, sticky=W, pady=4)

    mainloop( )

    上面的代码运行后显示下面的窗口:

    现在我们希望在 Entry 控件上显示默认值. 比如, 我们希望姓氏输入框的默认值为 "Miller", 名字输入框的默认值为 "Jill". 我们只需要在 Entry 控件创建后加入如下两行代码:

    e1.insert(10,"Miller")

    e2.insert(10,"Jill")

    如果要在每次点击 "显示" 按钮输出内容后, 将 Entry 的显示内容清空呢? 没问题! 我们可以使用 Entry 类的 delete() 方法. 该方法的调用方式为 delete(first, last = None), 两个参数都是整型. 如果只传入一个参数, 则会删除这个数字指定位置 (index) 上的字符. 如果传入两个参数, 则表示删除从 "first" 到 "last" 指定范围内的字符. 使用 delete(0, END) 可以删除 Entry 控件已输入的全部字符.

    from tkinter import *

    def show_entry_fields():

    print("First Name: %s\nLast Name: %s" % (e1.get(), e2.get()))

    e1.delete(0,END)

    e2.delete(0,END)

    master = Tk()

    Label(master, text="First Name").grid(row=0)

    Label(master, text="Last Name").grid(row=1)

    e1 = Entry(master)

    e2 = Entry(master)

    e1.insert(10,"Miller")

    e2.insert(10,"Jill")

    e1.grid(row=0, column=1)

    e2.grid(row=1, column=1)

    Button(master, text='Quit', command=master.quit).grid(row=3, column=0, sticky=W, pady=4)

    Button(master, text='Show', command=show_entry_fields).grid(row=3, column=1, sticky=W, pady=4)

    mainloop( )

    下个例子中, 我们用更优雅的方式为多个字段创建了多个 Entry 控件. 我们用一个 list 来存储每个 Entry 的描述字符串, 这些字符串用 Label 来显示.

    #!/usr/bin/python3

    from tkinter import *

    fields = 'Last Name', 'First Name', 'Job', 'Country'

    def fetch(entries):

    for entry in entries:

    field = entry[0]

    text = entry[1].get()

    print('%s: "%s"' % (field, text))

    def makeform(root, fields):

    entries = []

    for field in fields:

    row = Frame(root)

    lab = Label(row, width=15, text=field, anchor='w')

    ent = Entry(row)

    row.pack(side=TOP, fill=X, padx=5, pady=5)

    lab.pack(side=LEFT)

    ent.pack(side=RIGHT, expand=YES, fill=X)

    entries.append((field, ent))

    return entries

    if __name__ == '__main__':

    root = Tk()

    ents = makeform(root, fields)

    root.bind('', (lambda event, e=ents: fetch(e)))

    b1 = Button(root, text='Show',

    command=(lambda e=ents: fetch(e)))

    b1.pack(side=LEFT, padx=5, pady=5)

    b2 = Button(root, text='Quit', command=root.quit)

    b2.pack(side=LEFT, padx=5, pady=5)

    root.mainloop()

    上面的代码运行后产生如下窗口:

    简易计算器

    我们并非要写一个功能全面的计算器, 我们要用 Entry 接受一个数学表达式并计算它, 并打印计算结果.

    from Tkinter import *

    from math import *

    def evaluate(event):

    res.configure(text = "Ergebnis: " + str(eval(entry.get())))

    w = Tk()

    Label(w, text="Your Expression:").pack()

    entry = Entry(w)

    entry.bind("", evaluate)

    entry.pack()

    res = Label(w)

    res.pack()

    w.mainloop()

    我们的计算器显示如下:

    利率计算器

    下面的公式可以用来计算余额: 给定本金 B0, 期利率 r, 在 k 期结算后的余额 Bk:

    其中:

    rate = 百分比表示的利率, 比如 3%

    i = rate / 100, 以小数表示的年利率

    r = 期利率 = i / 12

    B0 = 初始余额, 即本金

    Bk = k 期后的余额

    k = 期数 (月数)

    p = 每月利息

    如果要每月结息, 我们就要计算每月应付利息. 我们将公式中的 Bn 设为 0, 得到以下公式:

    其中:

    n = 总期数 (总月数)

    #!/usr/bin/python3

    from tkinter import *

    fields = ('Annual Rate', 'Number of Payments', 'Loan Principle', 'Monthly Payment', 'Remaining Loan')

    def monthly_payment(entries):

    # period rate:

    r = (float(entries['Annual Rate'].get()) / 100) / 12

    print("r", r)

    # principal loan:

    loan = float(entries['Loan Principle'].get())

    n = float(entries['Number of Payments'].get())

    remaining_loan = float(entries['Remaining Loan'].get())

    q = (1 + r)** n

    monthly = r * ( (q * loan - remaining_loan) / ( q - 1 ))

    monthly = ("%8.2f" % monthly).strip()

    entries['Monthly Payment'].delete(0,END)

    entries['Monthly Payment'].insert(0, monthly )

    print("Monthly Payment: %f" % float(monthly))

    def final_balance(entries):

    # period rate:

    r = (float(entries['Annual Rate'].get()) / 100) / 12

    print("r", r)

    # principal loan:

    loan = float(entries['Loan Principle'].get())

    n = float(entries['Number of Payments'].get())

    q = (1 + r)** n

    monthly = float(entries['Monthly Payment'].get())

    q = (1 + r)** n

    remaining = q * loan - ( (q - 1) / r) * monthly

    remaining = ("%8.2f" % remaining).strip()

    entries['Remaining Loan'].delete(0,END)

    entries['Remaining Loan'].insert(0, remaining )

    print("Remaining Loan: %f" % float(remaining))

    def makeform(root, fields):

    entries = {}

    for field in fields:

    row = Frame(root)

    lab = Label(row, width=22, text=field+": ", anchor='w')

    ent = Entry(row)

    ent.insert(0,"0")

    row.pack(side=TOP, fill=X, padx=5, pady=5)

    lab.pack(side=LEFT)

    ent.pack(side=RIGHT, expand=YES, fill=X)

    entries[field] = ent

    return entries

    if __name__ == '__main__':

    root = Tk()

    ents = makeform(root, fields)

    root.bind('', (lambda event, e=ents: fetch(e)))

    b1 = Button(root, text='Final Balance',

    command=(lambda e=ents: final_balance(e)))

    b1.pack(side=LEFT, padx=5, pady=5)

    b2 = Button(root, text='Monthly Payment',

    command=(lambda e=ents: monthly_payment(e)))

    b2.pack(side=LEFT, padx=5, pady=5)

    b3 = Button(root, text='Quit', command=root.quit)

    b3.pack(side=LEFT, padx=5, pady=5)

    root.mainloop()

    在 Python3 中, 上面程序显示如下窗口:

    译者水平有限, 如有疏漏, 欢迎指正.

    展开全文
  • 1、目标 取出class Page中填入entry,用于在class Data中做进一步运算 2、前提 保证Page 和 Data 两个类相互独立。因为实际情况中,大量运算集中在Data,并入可能会导致其他问题 3、问题 在上述前提下如何实现。...
  • 简单介绍python可视化模块tkinter的 ttk.Entry控件,主要包括控件的创建、设置、监控、密码框等功能。

    更多《Tkinter 实用教程》系列文章

    tkinter ttk.Entry 输入控件

    ttk.Entry 控件为用户展示一个单行的文本输入框,可以输入一个字符串值,比如名字、地址、手机号等等。

    如何创建一个 ttk.Entry 对象

    创建输入框对象,需要使用 ttk.Entry 类,代码使用案例如下:

    from tkinter import *
    from tkinter import ttk
    
    root = Tk()
    main = ttk.Frame(root)
    name = ttk.Entry(main,width=12)
    main.grid()
    name.grid()
    root.mainloop()
    

    代码执行结果,如下图所示:

    tkinter entry

    如何设置并获取 ttk.Entry 控件内容

    ttk.Label 控件一样,ttk.Entry 控件可以通过 textvariable 参数设置并获取其内容。

    示例代码如下:

    from tkinter import *
    from tkinter import ttk
    
    def  click():
        btn['text']=namestr.get()
    
    root = Tk()
    main = ttk.Frame(root)
    namestr = StringVar()
    namestr.set("小明") # 设置 Entry 控件内容
    name = ttk.Entry(main,width=12,textvariable=namestr)
    l = ttk.Label(main,width=12,textvariable=namestr)
    btn = ttk.Button(main,text="Get",command=click)
    main.grid()
    name.grid(column=0,row=0)
    l.grid(column=0,row=1)
    btn.grid(column=0,row=2)
    root.mainloop()
    

    代码执行结果如下图所示:

    tkinter entry 变量绑定
    变量绑定
    entry变量读取

    修改 ttk.Entry 中的内容,ttk.Label 会同步展示其中的值,点击按钮之后,按钮中的值也变成了 ttk.Entry 中的内容。

    设置并获取 ttk.Entry 值的另一种方式

    除了以上通过 textvariable 的方式指定和获取 ttk.Entry 的值之外,还可以用 get() 方法获取内容,使用 insert()delete() 方法设置内容。

    示例代码如下:

    from tkinter import *
    from tkinter import ttk
    
    def setvar():
        name.insert(0,"小明是个好同志")
    
    def delvar():
        name.delete(0,1)
    
    def getvar():
        l['text']=name.get()
    
    root = Tk()
    main = ttk.Frame(root)
    
    name = ttk.Entry(main,width=12)
    l = ttk.Label(main,width=12)
    btn = ttk.Button(main,text="设置内容",command=setvar)
    btn_del = ttk.Button(main,text="删除内容",command=delvar)
    btn_get = ttk.Button(main,text="获取内容",command=getvar)
    main.grid()
    name.grid(column=0,row=0)
    l.grid(column=0,row=1)
    btn.grid(column=0,row=2)
    btn_del.grid(column=0,row=3)
    btn_get.grid(column=0,row=4)
    root.mainloop()
    

    以上代码,创建了一个可以通过点击按钮设置、修改、获取 ttk.Entry 内容的示例。

    代码执行结果如下图:

    tkinter内容获取
    tkinter Entry 内容设置
    tkinter entry 删除内容
    tkinter entry 获取内容

    ttk.Entry 值监控

    我们经常在输入内容时验证输入内容是否合法,这就需要监听 ttk.Entry 的读写操作。

    以下代码,在 ttk.Entry 被写入,被读取的时候都会触发对应的函数,执行响应的操作。

    from tkinter import *
    from tkinter import ttk
    
    def written(*args):        # 变量写入时执行
        l['text']="变量被写入"
    
    def readed(*args):         # 变量读取时执行
        l['text']="变量被读取"
    
    def read():
        username.get()
    
    def remove_trace():
        username.trace_remove('write',vw) # 删除追踪操作
    
    root = Tk()
    main = ttk.Frame(root)
    username = StringVar()
    name = ttk.Entry(main,width=12,textvariable=username)
    vw = username.trace_add("write",written) # 追踪变量值的写变化
    vr = username.trace_add("read",readed)   # 追踪变量值的读变化
    l = ttk.Label(main)
    btnread=ttk.Button(main,text="read var" ,command=read)
    btn = ttk.Button(main,text="remove trace",command=remove_trace)
    main.grid()
    name.grid(column=0,row=0)
    l.grid(column=0,row=1)
    btnread.grid(column=0,row=2)
    btn.grid(column=0,row=3)
    root.mainloop()
    

    代码执行结果如下图:

    tkinter值追踪
    tkinter变量绑定

    ttk.Entry 当作密码框使用

    代码如下:

    from tkinter import *
    from tkinter import ttk
    
    root = Tk()
    main = ttk.Frame(root)
    password = StringVar()
    pwd = ttk.Entry(main,textvariable=password,show="*")
    main.grid()
    pwd.grid(column=0,row=0)
    
    root.mainloop()
    

    执行结果如下:

    tkinter 密码框

    更多《Tkinter 实用教程》系列文章

    展开全文
  • tkinter学习-- 控件entry

    2021-01-29 01:48:28
    Entry控件Python Tkinter 文本框用来让用户输入一行文本字符串。你如果需要输入多行文本,可以使用Text组件。你如果需要显示一行或多行文本且不允许用户修改,你可以使用Label组件。语法语法格式如下:w =Entry...
  • 在root = Tk()label1 = Label(root, text ="Enter String:")userInputString = Entry(root)label1.pack()userInputString.pack()submit = Button(root,text = "Submit", command = root.destroy...
  • Entry控件设置默认值

    千次阅读 2020-12-04 02:11:03
    用Python的tkinter库做GUI程序,Entry控件被我们用来获取用户的输入,不过很多时候,我们希望GUI界面上的Entry控件能有默认值,用户可以修改默认值,也可以不修改。默认值提高了软件的易用性。直接看代码:定义addr...
  • python获取文本框里输入

    千次阅读 2020-11-21 02:57:55
    2016年8月7日 - 获取 text每一行并存入列表中 05-18 阅读数 817 首先importtkinterastkimport...9982 python-tkinter输入框+验证输入内容(六)一、普通输入框fromtki...2018年10月12日 - 回答:en=Entry(……) val=...
  • entry控件 1 import tkinter 2 3 wuya = tkinter.Tk() 4 wuya.title("wuya") 5 wuya.geometry("300x200+10+20") 6 7 text2 = tkinter.Variable() 8 pwd = tkinter.Entry(wuya,textvariable=t...
  • 条目 PDF用于离线使用 下载PDF 示例代码: ...Entry API ...单行文本或密码输入 ...Xamarin.Forms Entry用于单行文本输入Entry像编辑器视图一样,支持多种键盘类型。另外,Entry可以用作密码字段。
  • http://tieba.baidu.com/p/2817124558 ... Tkinter import * def a(): print Entry.get() root = Tk() Label(root,text = "Please input a number:").pack(side = LEFT) Entry(root).pack
  • Python中如何获取输入框Entry输入的内容并输出from Tkinter import *var=StringVar()root=Tk()Entry(root,textvariable=var) #设置输入框对应的文本变量为varprint(var.get()) #var.get()获取小编觉得好遗憾,因为...
  • Entry是 tkinter 中比较常用的控件,它通常用来接收字符串的输入,这个控件使得用户可以输入编辑一行文字;如果输入文字过长(超过Entry的可显示宽度),文字便会自动向后滚动,这种情况下没法在一行内预览全部文字...
  • python TKinter.Entry获取文本框内容

    千次阅读 2020-11-10 12:30:09
    print(entry1.get()) # 获取文本框的内容打印 #创建窗口 win = tk.Tk() #初始化 #创建单行可输入文本框 entry1 = tk.Entry(win, width=50) # entry1=tkinter.Entry(win,show="*",width=50,bg="red",fg="black") #...
  • Python的tkinter库可以说是一个很强大的GUI库。今天要讲的就是tkinter库中的Entry组件。Entry,本意“入口”,即输入框。输入框如何不显示用户输入的字符,相信这是很多人都有的一个问题。
  • 代码: import tkinter win = tkinter.Tk() win.title('敲你吗') ...输入控件,显示简单的文本内容 show:显示什么(密文) ''' entry = tkinter.Entry(win,show='*') entry.pack() # 进入消息循环 win....
  • 继续昨天的,Checkbutton和Radiobutton都可以看作是Button的补充,而Entry是tkinter中的输入框。from tkinter import *root = Tk()CheckbuttonCheckbutton控件用于创建复选框c = Checkbuttona = ['按按我','再按按我...
  • 第一步:在xamarin.form中添加BorderlessEntry类 这个类继承自Xamarin.Forms.Entry来移除Android平台中Entry控件的边界。. using System; using System.Collections.Generic; using System.Text; using Xamarin....
  • #第6步,获取文本框输入 def getTextInput(): result=textExample.get("1.0","end") #获取文本输入框的内容 print(result) #输出结果 #Tkinter 文本框控件中第一个字符的位置是 1.0,可以用数字 1.0 或字符串"1.0"来...
  • Entry 和 Text 组件都是可接收用户输入的输入框组件,区别是 Entry 是单行输入框组件,Text 是多行输入框组件,而且 Text 可以为不同的部分添加不同的格式,甚至响应事件。不管是 Entry 还是 Text 组件,程序都提供...
  • %tcWebApi_get("String_Entry","ACLFilterWanHttpPortText","s")%></td> <td><input type='text' name="WanHttpPort" id="WanHttpPort" maxlength='31'></td> </tr> var ...
  • show:常用于隐藏显示密码字段,ps:show= ’ * ’ state: NORMAL正常输入,DISABLE表示禁止输入 xscrollcommand:在x轴显示滚动条 包括方法: get() 获取文本框内的字符串内容:ety.get() insert() 插入字符串到...
  • Entry用于单行输入,可以输入一个字符串,并通过后端函数进行调用。在安安教具中,Entry可以通过这个控件实现变量的输入。 参数介绍如下:二.案例代码 三.运行效果
  • 第6章输入控件(Entry) 输入控件(Entry. 是用来输入或者显示单行字符串的控件。该控件允许用户输入或显示一行文字。 如果用户输入的文字长度大于Entry 控件的可显示范围时, 文字会向后滚动。 这种情况下所输入的字符...
  • PythonTkinter 练习之Entry 验证 #Time: 2020/02/28 #Author: Xiaohong ...功能:验证Entry 输入框是否输入在是数字,若不是,不显示 from tkinter import * main=Tk() v1=StringVar() def CheckVa...
  • python 3 获取输入字符长度#-*- coding:utf-8 -*-from tkinter import *from tkinter import messageboxdef get_Tk():top = Tk()return top#定义获取字符长度函数def sum_test(baseNum):return len(baseNum)def show...
  • Python ---(六)Tkinter窗口组件:Entry

    千次阅读 2020-02-03 19:05:41
    Entry(输入框)组件通常用于获取用户的输入文本。 ##何时使用 Entry 组件? Entry 组件仅允许用于输入一行文本,如果用于输入的字符串长度比该组件可显示空间更长,那内容将被滚动。这意味着该字符串将不能被...
  • Entry 组件是支持验证输入内容的合法性的,比如要求输入数字,你输入了字母那就是非法。实现该功能,需要通过设置 validate、validatecommand 和 invalidcommand 选项。 首先启用验证的“开关”是 validate 选项,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,667
精华内容 3,466
关键字:

怎么获取entry控件输入的值