【问题标题】:In Tkinter, How I disable Entry?在 Tkinter 中,我如何禁用条目?
【发布时间】:2013-11-21 12:31:07
【问题描述】:

如何在 Tkinter 中禁用 Entry。

def com():
       ....

entryy=Entry()
entryy.pack()

button=Button(text="Enter!", command=com, font=(24))
button.pack(expand="yes", anchor="center")

正如我所说,如何禁用 com 功能中的条目?

【问题讨论】:

    标签: python python-3.x tkinter


    【解决方案1】:

    state 设置为'disabled'

    例如:

    from tkinter import *
    
    root = Tk()
    entry = Entry(root, state='disabled')
    entry.pack()
    root.mainloop()
    

    from tkinter import *
    
    root = Tk()
    entry = Entry(root)
    entry.config(state='disabled') # OR entry['state'] = 'disabled'
    entry.pack()
    root.mainloop()
    

    Tkinter.Entry.config


    所以com 函数应该读作:

    def com():
        entry.config(state='disabled')
    

    【讨论】:

    • 嗯,我现在明白了
    • @EmekKırarslan,我添加了com 函数。看看吧。
    • 好吧,我怎样才能完全删除和恢复
    • @EmekKırarslan,删除是什么意思? restore 是否意味着恢复正常状态?然后,使用entry.config(state='normal')
    • @EmekKırarslan,再次entry.pack()!如果您有任何其他问题,请发布另一个单独的问题,而不是扩展 cmets。
    【解决方案2】:

    如果我们想一次又一次地更改输入框中的数据,我们必须先转换为正常状态,然后再转换为禁用状态

    import tkinter as tk
    count = 0
    
    def func(en):
        en.configure(state=tk.NORMAL)
        global count
        count += 1
        count=str(count)
        en.delete(0, tk.END)
        text = str(count)
        en.insert(0, text)
        en.configure(state=tk.DISABLED)
        count=int(count)
    
    
    root = tk.Tk()
    
    e = tk.Entry(root)
    e.pack()
    
    b = tk.Button(root, text='Click', command=lambda: func(e))
    b.pack()
    
    root.mainloop()
    

    【讨论】:

      猜你喜欢
      • 2018-09-15
      • 1970-01-01
      • 1970-01-01
      • 2020-12-07
      • 2022-08-14
      • 1970-01-01
      • 2020-06-19
      • 1970-01-01
      • 2013-02-12
      相关资源
      最近更新 更多