【问题标题】:how to return a value to the main function after clicking a button in tkinter?单击tkinter中的按钮后如何将值返回给主函数?
【发布时间】:2016-03-06 04:27:36
【问题描述】:

在这个文件中,我尝试在每次点击显示按钮时将employNumemployPass 的值返回给主函数。我该怎么做?

from tkinter import *

def displayButton(root,employNum, employPass):

    Label(root,text = employNum.get() ).grid(row = 3, column = 1, sticky = N+S+W+E)
    Label(root, text = employPass.get()).grid(row = 4, column = 1, sticky = N+S+W+E)


def main():

    root = Tk()

    Label(root, text = 'Employee Number: ').grid(row = 0, column = 0, sticky = W)
    Label(root, text = 'Login Password: ').grid(row = 1, column = 0, sticky = W)

    employeeNum = StringVar()
    employeePass = StringVar()
    Entry(root, textvariable = employeeNum).grid(row = 0, column = 1, columnspan = 2, sticky = W)
    Entry(root, textvariable = employeePass).grid(row = 1, column = 1, columnspan = 2, sticky = W)

    checkButton = BooleanVar()
    Checkbutton(root, text = 'Remember Me', variable = checkButton).grid(row = 2, column = 1, sticky = W)

    Button(root, text = 'Save', relief = RAISED).grid(row = 2, column = 2, sticky = E)
    display = Button(root, text = 'Display', relief = RAISED, command = lambda: displayButton(root, employeeNum,employeePass))
    display.grid(row = 3, column = 2, sticky = E)

    Label(root, text = "Employee's number is ").grid(row = 3, column = 0, sticky = W)
    Label(root, text = "Employee's Passowrd is ").grid(row =4 , column = 0, sticky = W)
    root.mainloop()

main()

【问题讨论】:

    标签: python events button tkinter


    【解决方案1】:

    按钮无法使用return 返回值。您只能在 global 变量中设置值或作为参数传递。您可以更改分配给 global 变量或作为参数传递的 Label 中的文本。您可以创建新的Label,但root 必须是全局变量或作为参数传递。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-20
      • 2011-09-05
      相关资源
      最近更新 更多