【问题标题】:Get variables from Entry PYTHON 3从条目 PYTHON 3 中获取变量
【发布时间】:2012-05-07 09:15:45
【问题描述】:

所以我正在编写这个 GUI 程序(使用 tkinter)并且我在同一个函数中使用了三个 Entrybox。我想在主函数中使用它们的值,那么如何将这些值放入某种全局变量中,或者以一种可以在不同函数中使用它们的方式?

def options():

    options_root = Tk()

    textFrame = Frame(options_root)
    textFrame.grid()

    widthlabel = Label(textFrame, text="w:", justify=LEFT)
    widthlabel.grid(column="0", row="0")
    widthinput = Entry(textFrame)
    widthinput.grid(column="1", row="0")

    heightlabel = Label(textFrame, text="h:", justify=LEFT)
    heightlabel.grid(column="0", row="1")
    heightinput = Entry(textFrame)
    heightinput.grid(column="1", row="1")

    mlabel = Label(textFrame, text="m:", justify=LEFT)
    mlabel.grid(column="0", row="2")
    minput = Entry(textFrame)
    minput.grid(column="1", row="2")

    width = widthinput.get()
    height = heightinput.get()
    m = minput.get()


    start_game_button = Button(options_root, text="Start", justify=LEFT, command=lambda:tabort(options_root))
    start_game_button.grid(column="0",row="3")
    exit_button = Button(options_root, text = "Exit", justify=LEFT, command=exit)
    exit_button.grid(column="1", row="3")

    mainloop()

def main():

    options()

    w = widthinput.get()
    h = heightinput.get()
    m = minput.get()

main()

【问题讨论】:

    标签: python function user-interface variables tkinter


    【解决方案1】:

    保留对小部件的引用,然后使用get() 方法。如果您将应用程序设计为一个类,这将变得更加容易:

    import tkinter as tk
    
    class SampleApp(tk.Tk):
        def __init__(self, ...):
            ...
            self.width_entry = tk.Entry(...)
            self.height_entry = tk.Entry(...)
            self.minput_entry = tk.Entry(...)
            ...
        def main(...):
            w = self.width_entry.get()
            h = self.height_entry.get()
            m = self.input_entry.get()
            ...
    
    ...
    app = SampleApp()
    app.mainloop()
    

    【讨论】:

    • 所以现在我得到了这个错误,用一个类来做。 w = ins.width() TypeError: 'int' object is not callable
    • @tivon:你不明白 etror 消息的哪一部分?它准确地告诉你错误是什么。你似乎认为width 是一个函数,但python 认为它是一个int。
    猜你喜欢
    • 2018-09-05
    • 2013-01-15
    • 2013-07-20
    • 2016-09-02
    • 1970-01-01
    • 2022-01-20
    • 2018-06-26
    • 1970-01-01
    • 2021-01-23
    相关资源
    最近更新 更多