从2个Tkinter条目创建变量

时间:2018-02-01 15:59:01

标签: python python-3.x tkinter tkinter-entry

我试图获取Tkinter条目的前三个字符,然后将它们添加到另一个tkinter条目。

例如:

name = Entry=(root, text="Name: ")

age = Entry=(root, text="Age: ")

username =姓名+年龄

的前三个字符

然后我希望将他们名字的前三个字母添加到年龄来创建用户名。 如果用户输入'Taylor'作为'name'而'13'作为'age',我想创建一个名为'username'的变量,其中包含'Tay13'

不确定我是否说得太清楚,但希望你理解。感谢

编辑:刚刚尝试过其他内容并且说'StringVar'对象不可订阅。

4 个答案:

答案 0 :(得分:1)

刚刚在Reddit上找到了如何做到这一点。如果还有其他人需要这个,那么这就是答案:

username = name.get()[:3] + age.get()

这会从“名称”中获取前3个字母,并在其末尾添加“年龄”。

感谢帮助过的人。

答案 1 :(得分:0)

您可以执行此操作以获取用户名。 [:3]拉出字符串的前3个字母。

username = str(name[:3]) + str(age)
print username

答案 2 :(得分:0)

下面的示例每次按下按钮时都会向users字典添加/更新ID:

try:                        # In order to be able to import tkinter for
    import tkinter as tk    # either in python 2 or in python 3
except ImportError:
    import Tkinter as tk


def update_users():
    global users, name, age
    user_id = name.get()[:3] + age.get()
    users[user_id] = None
    print(users)


if __name__ == '__main__':
    root = tk.Tk()
    users = dict()
    name = tk.Entry(root)
    age = tk.Entry(root)
    update_btn  = tk.Button(root, text="Update Users", command=update_users)
    name.pack()
    age.pack()
    update_btn.pack()
    root.mainloop()

答案 3 :(得分:0)

这个如何设置这个创建两个entry窗口小部件来接收条目中的内容。然后您的funtion打印entryslice中的内容名字和印刷品的前三个字母加上年龄。

from tkinter import *


def Print_variable():
    e1 = name.get()
    e2 = age.get()
    print(e1[:3] + e2)


root = Tk()
root.geometry("400x400")

name = StringVar()  
e1 = Entry(root, textvariable=name)   # this entry accept the name
e1.pack()

age = StringVar()
e2 = Entry(root, textvariable=age)  # this entry accept the age
e2.pack()

b = Button(root, text="print name and age variable", command=Print_variable)
b.pack()

root.mainloop()