Tkinter GUI和导入python程序

时间:2017-07-31 16:15:23

标签: python tkinter

我有一个通过使用netmiko库登录设备来实现自动化的程序。 Tkinter是提供设备连接到用户名和密码等详细信息的前端。如果我将所有内容保存在一个程序中就可以了。

现在我希望tkinter GUI程序使用import函数分别调用程序。通过这样做,我想将从GUI前端重试的值传递给后端程序以执行某些功能。我遇到的一些需要传递的值是在从前端GUI收集的后端函数中。

导入程序后似乎无法正常工作,我们将不胜感激。

e1 e2和e3值未在我导入的单独python文件中创建的show_entry_details函数下传递。

''' the code is regarding tkinter application which works at the front end to prompt user for some info, which later passes to other program to call some function.'''        

# Head of Tkinter application
    master = Tk()
    master.title("Network Automation")

    # configuration for the labels and entry
    Label(master, text="Device   :  ").grid(row=0)
    Label(master, text="User ID  : ").grid(row=1)
    Label(master, text="Password : ").grid(row=2)

    e1 = Entry(master)
    e2 = Entry(master)
    e3 = Entry(master, show='*')

    e1.grid(row=0, column=1)
    e2.grid(row=1, column=1)
    e3.grid(row=2, column=1, )

    # configuration for the button
    Button(master, text='Quit', command=master.destroy).grid(row=4, column=0, sticky=W, pady=4)
    Button(master, text='Harden', command=show_entry_fields).grid(row=4, column=1, sticky=W, pady=4)



    mainloop()

1 个答案:

答案 0 :(得分:0)

要将参数传递给按钮的命令,可以使用lambda表达式:

button = Button(master, 
                text='Harden', 
                command=lambda: show_entry_fields(e1.get(), e2.get(), e3.get()))
button.grid(row=4, column=1)