如何用python激活指定窗口的输入框,方便下一步模拟输出

Python012

如何用python激活指定窗口的输入框,方便下一步模拟输出,第1张

可以使用StringVar()对象来完成,把Entry的textvariable属性设置为StringVar(),再通过StringVar()的get()和set()函数可以读取和输出相应内容,以下为测试代码(python3.x):

from tkinter import *

def submit():

print(u.get())

p.set(u.get())

root = Tk()

root.title("测试")

frame = Frame(root)

frame.pack(padx=8, pady=8, ipadx=4)

lab1 = Label(frame, text="获取:")

lab1.grid(row=0, column=0, padx=5, pady=5, sticky=W)

#绑定对象到Entry

u = StringVar()

ent1 = Entry(frame, textvariable=u)

ent1.grid(row=0, column=1, sticky='ew', columnspan=2)

lab2 = Label(frame, text="显示:")

lab2.grid(row=1, column=0, padx=5, pady=5, sticky=W)

p = StringVar()

ent2 = Entry(frame, textvariable=p)

ent2.grid(row=1, column=1, sticky='ew', columnspan=2)

button = Button(frame, text="登录", command=submit, default='active')

button.grid(row=2, column=1)

lab3 = Label(frame, text="")

lab3.grid(row=2, column=0, sticky=W)

button2 = Button(frame, text="退出", command=quit)

button2.grid(row=2, column=2, padx=5, pady=5)

#以下代码居中显示窗口

root.update_idletasks()

x = (root.winfo_screenwidth() - root.winfo_reqwidth()) / 2

y = (root.winfo_screenheight() - root.winfo_reqheight()) / 2

root.geometry("+%d+%d" % (x, y))

root.mainloop()

效果如下:

设定变量类型,收到输入的内容之后进行转换,如下:

import tkinter

windows = tkinter.Tk()  # 实例化窗口类

windows.title('Demo')  # 窗口标题

def sub():    # 创建相加函数

number1 = int(ent1.get())  # 获得两个按钮的内容转换为字符串类型

number2 = int(ent2.get())

number3 = number1 + number2

var.set(number3)

var = tkinter.IntVar()   # 定义变量类型

ent1 = tkinter.Entry(windows)  

ent2 = tkinter.Entry(windows)

ent3 = tkinter.Entry(windows,textvariable=var)

ent1.pack(side = tkinter.LEFT,padx=5)  # 包装定位控件

ent2.pack(side = tkinter.LEFT,padx=5)

ent3.pack(side = tkinter.LEFT,padx=5)

button1 = tkinter.Button(windows,text='计算',command = sub).pack()  # 绑定信号

button2 = tkinter.Button(windows,text='退出',command = windows.destroy).pack()

windows.mainloop()  # 循环保持窗口运行