首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python变量tkinter

python变量tkinter
EN

Stack Overflow用户
提问于 2017-01-11 11:24:56
回答 1查看 1.5K关注 0票数 0

我是一个新的im,刚刚开始学习类和tkinter,所以请原谅我的代码“乱七八糟”。我正在尝试输入一些字符串到字段nr1中,在单击一个按钮后,在控制台中打印这个字符串,并将这个值存储起来供以后使用:

代码语言:javascript
复制
from tkinter import Tk, BOTH, RIGHT, RAISED, BOTTOM, TOP, X, StringVar
from tkinter.ttk import Frame, Button, Entry


class AD(Frame):
    def __init__(self, parent):
        Frame.__init__(self, parent, v=None, raw_input=None)
        self.parent = parent
        self.parent.geometry("250x150+300+300")
        self.parent.title("Trolollo")
        self.parent.resizable(False, False)
        self.inp = None
        self.v = StringVar()
        self.raw_input = None

        self.initUI()

    def user_input(self):
        global inp
        a = self.raw_input(self.v.get())
        inp = a
        return inp


    def initUI(self):
        self.pack(fill=BOTH, expand=True)

        frame = Frame(self, relief=RAISED, borderwidth=0)
        frame.pack(fill=BOTH, expand=True)

        self.entry1 = Entry(frame, textvariable=self.v)
        self.entry1.pack(side=TOP, fill=X, expand=False, padx=2, pady=2)
        self.entry1.focus_set()

        rename_button = Button(frame, text="Dispaly text", command =         self.user_input())
        rename_button.pack(side=TOP, expand=False, padx=2, pady=2)

        entry2 = Entry(frame)
        entry2.pack(side=TOP, fill=X, expand=False, padx=2, pady=2)


        quit_button = Button(self, text="Quit", command=self.quit)
        quit_button.pack(side=RIGHT, padx=5, pady=5)

        ok_button = Button(self, text="OK")
        ok_button.pack(side=RIGHT, padx=5, pady=5)


def main():
    root = Tk()


    app = AD(root)
    root.mainloop()


if __name__ == '__main__':
    main()

执行代码后,我得到: TypeError:'NoneType‘对象不可调用

任何帮助我都会感激

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-12 17:57:59

问题:

  1. 重命名按钮的选项"command=self.user_input()“中的第一个问题。应该命名该函数,而不是执行该函数。放置()符号意味着您在加载代码时执行该函数,即一旦w/o按下重命名按钮即可执行该函数。
  2. 第二个问题是函数user_input中的错误代码。这导致了您的错误消息。

答案:代码与建议的更正。

代码语言:javascript
复制
from tkinter import *
from tkinter.ttk import *


class AD(Frame):
    def __init__(self, parent):
        Frame.__init__(self, parent, v=None, raw_input=None)
        self.parent = parent
        self.parent.geometry("250x150+300+300")
        self.parent.title("Trolollo")
        self.parent.resizable(False, False)
        self.inp = None
        self.v = StringVar()
        self.raw_input = None

        self.initUI()

    def user_input(self):
        # Get entry1 value, store it as an attribute and print to console
        self.raw_input = self.v.get()
        print(self.raw_input)


    def initUI(self):
        self.frame = Frame(self, relief=RAISED, borderwidth=0)
        self.frame.pack(fill=BOTH, expand=True)

        self.entry1 = Entry(self.frame, textvariable=self.v)
        self.entry1.pack(side=TOP, fill=X, expand=False, padx=2, pady=2)
        self.entry1.focus_set()


        #self.rename_button = Button(self.frame, text="Dispaly text",
        #                            command = self.user_input())
        self.rename_button = Button(self.frame, text="Display text",
                                    command = self.user_input)
        self.rename_button.pack(side=TOP, expand=False, padx=2, pady=2)


        # You can remove the triple quotes to display these widgets 
        """
        self.entry2 = Entry(self.frame)
        self.entry2.pack(side=TOP, fill=X, expand=False, padx=2, pady=2)


        self.quit_button = Button(self.frame, text="Quit", command=self.quit)
        self.quit_button.pack(side=RIGHT, padx=5, pady=5)

        self.ok_button = Button(self.frame, text="OK")
        self.ok_button.pack(side=RIGHT, padx=5, pady=5)

        """

        self.pack(fill=BOTH, expand=True)


def main():
    root = Tk()


    app = AD(root)
    root.mainloop()

您的GUI:

SUGGESTIONS:

  • 别忘了把自己。在你的小工具前面。
  • 每次测试一个小部件,以帮助您调试代码。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41589642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档