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

Python018

如何用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()

效果如下:

伙伴”部件。Pyqt中,有一个好用的基本功能就是“伙伴”部件,当用户键入标签的快捷键时,光标的焦点会出现在标签的伙伴上。例如:我们有一个用户名的标签和一个用户名的输入框,设置用户名标签与用户名输入框为“伙伴”,设置用户名标签的文本为“用户名”,表示用户名标签的快捷键为Alt+2,如我们按快捷键Alt+2,那么光标的输入符就会移动到用户名的输入框中。

1、首先双击打开pycharm开发工具,在已新建python项目中新建python文件。

2、使用from...import*方式导入tkinter,一种是python2中的方式,另一种是python3的。

3、接着创建一个Tk对象,这个对象代表一个窗口。

4、利用title属性设置窗口的标题内容,这里设置为新增用户。

5、调用pack进行布局,使用mainloop用于显示窗口。

6、保存代码并运行,结果出现了报错,提示python2的写法有问题;去掉python2的写法,然后再次保存运行,可以看到弹出一个窗口就完成了。