首页 > 解决方案 > 如果大量文本(tkinter),则获取输入的文本并退出

问题描述

再会!这是我的代码:

        import tkinter as tk

        namemass =["dev", "Dev1"]

        self.entry_name = ttk.Entry(self)
        self.entry_name.place(x=200, y=50)

        btn_cancel = ttk.Button(self, text="cancel", command=self.destroy)
        btn_cancel.place(x=300, y=800)

        btn_ok = ttk.Button(self, text="ok") 
        btn_ok.place(x=320, y=170)

所以,我有 2 个按钮和输入框。我希望程序从输入框中获取文本,如果 namemass 列表中有该文本,则退出。在控制台程序中,我会这样编码:

        name = input()
        namemass = ["dev", "Dev1"]
        if name in namemass:
            import sys
            sys.exit()
        else:
            ..........

如何使用 tkinter 做到这一点?先感谢您!

标签: pythonpython-3.xtkinter

解决方案


要获取当前条目文本,请使用以下get方法:

current_text = Entry.get()

在您的示例中,您可以:

from tkinter import *
import sys

def destroy():
    name = entry_name.get()
    if name in namemass:
        sys.exit()

root = Tk()
namemass = ["dev", "Dev1"]

entry_name = Entry(root)
entry_name.pack()

btn_cancel = Button(root, text="cancel", command=destroy)
btn_cancel.pack()

btn_ok = Button(root, text="ok")
btn_ok.pack()

root.mainloop()

推荐阅读