Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python GUI-将文本插入文本框_Python_User Interface_Python 3.x_Tkinter - Fatal编程技术网

Python GUI-将文本插入文本框

Python GUI-将文本插入文本框,python,user-interface,python-3.x,tkinter,Python,User Interface,Python 3.x,Tkinter,我刚刚进入Python GUI,我正在测试不同的东西,因为这似乎可以帮助我更容易地学习(尝试和错误)。我正在尝试的一件事是插入来自不同类的消息。老实说,我不知道我会用这个做什么,但我只是为了尝试而尝试 # Hello World # Displays "Hello World!" in a text box. from tkinter import * class myClass(object): def myMethod(): print("Hello World!

我刚刚进入Python GUI,我正在测试不同的东西,因为这似乎可以帮助我更容易地学习(尝试和错误)。我正在尝试的一件事是插入来自不同类的消息。老实说,我不知道我会用这个做什么,但我只是为了尝试而尝试

# Hello World
# Displays "Hello World!" in a text box.

from tkinter import *

class myClass(object):
    def myMethod():
        print("Hello World!")

class Application(Frame):
    """ GUI application which can reveal the secret of longevity. """
    def __init__ (self, master):
        super(Application, self).__init__(master)
        self.grid()
        self.createWidgets()

    def createWidgets(self):
        # Create a text box
        self.txtBox = Text(self, width = 300, height = 300, wrap = WORD)
        self.txtBox.grid(row = 0, column = 0, sticky = W)

        # display message
        message = myClass.myMethod
        self.txtBox.insert(0.0, message)

# main
root = Tk()
root.title("My Title")
root.geometry("500x500")

app = Application(root)

root.mainloop()
当我运行.py文件时,我得到了GUI,然后是一个框,上面写着
——如果我没有弄错的话,这意味着这就是我的方法存储在内存中的地方

因此,我使用了
message=myClass.myMethod()
认为这将输出“Hello World!”——但我得到了一个错误。起初,它是沿着对象的线条的东西。init不接受参数或类似的东西(抱歉,因为我无法重新创建错误)-现在我得到了
tkinter.TclError:错误#args:应该是“43128536.43105360插入索引字符?标记列表字符标记列表…?

这是否可能有“你好,世界!“从另一个类,在GUI文本框中打印


另外,当我查看代码时,我很好奇。
app=Application(root)
的目的是什么?当我没有它时,我会得到一个空白的GUI。但是,我看不到它实际上调用app来做任何事情,而只是将其设置为等于
Application(root)

您正在将函数本身添加到文本框。调用函数并使用其返回值

    message = myClass.myMethod()
    self.txtBox.insert(1.0, message)
myClass
需要修改。返回字符串而不是打印它

class myClass(object):
    def myMethod():
        return "Hello World!"

哇,谢谢!我可以问一下,为什么
return
在这种情况下有效,而不是
print
?我仍然不知道什么时候应该使用它们。@mccdlibby,
print
不返回。它只是打印到终端。0.0是无效的索引。文本小部件行从1开始编号,而不是从零开始编号。