返回函数值作为条目tex

2024-04-23 09:39:25 发布

您现在位置:Python中文网/ 问答频道 /正文

这段代码正在运行,并在python提示符下打印日期。但我想把它设为输入框的值。因为我想允许用户手动更改日期,如果他选择了错误的日期。你知道吗

def onclick():
    cd = CalendarDialog(root)
    print cd.result
    #self.myentry.set(cd.result)


class newdemo:
    def __init__(self, root):
        root.wm_title("Calendar Demo")
        self.myentry = Tkinter.Entry(root, text="Choose date")
        self.myentry.pack()

        self.button = Tkinter.Button(root, text="Choose date", command=onclick)
        self.button.pack()

#    root.update()

root=Tkinter.Tk()
newdemo(root)
root.mainloop()

我在这里发现了这个班级。。。你知道吗

https://github.com/moshekaplan/tkinter_components


Tags: 代码textselfdatetkinterdefcdbutton
1条回答
网友
1楼 · 发布于 2024-04-23 09:39:25

Tkinter条目小部件没有set方法。您可以使用deleteinsert
你想onclick成为newdemo类的一部分吗?如果是,您可以使用:

import Tkinter as tk

class newdemo:
    def __init__(self, root):
        root.wm_title("Calendar Demo")
        self.myentry = tk.Entry(root, text="Choose date")
        self.myentry.pack()

        self.button = tk.Button(root, text="Choose date", command=self.onclick)
        self.button.pack()

    def onclick(self):
        cd = CalendarDialog(root)
        print cd.result
        self.myentry.delete(0, tk.END)
        self.myentry.insert(0, cd.result)


root = tk.Tk()
newdemo(root)
root.mainloop()

否则,需要保留对类的引用才能访问myentry

import Tkinter as tk

class newdemo:
    def __init__(self, root):
        root.wm_title("Calendar Demo")
        self.myentry = tk.Entry(root, text="Choose date")
        self.myentry.pack()

        self.button = tk.Button(root, text="Choose date", command=onclick)
        self.button.pack()


def onclick():
    cd = CalendarDialog(root)
    print cd.result
    demo.myentry.delete(0, tk.END)
    demo.myentry.insert(0, cd.result)

root = tk.Tk()
demo = newdemo(root)
root.mainloop()

相关问题 更多 >