Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.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 使用Tkinter构建GUI_Python_User Interface_Tkinter - Fatal编程技术网

Python 使用Tkinter构建GUI

Python 使用Tkinter构建GUI,python,user-interface,tkinter,Python,User Interface,Tkinter,我正在尝试用Tkinter制作一个GUI,在其中键入两个数字,然后将它们相加。我不确定如何在我的窗口中显示答案。另外,当我运行它时,会出现一个错误,上面写着: TypeError:不支持+:“Entry”和“Entry”的操作数类型 from tkinter import * window = Tk() def add(): label = Label(window, text=entry1 + entry2) entry1 = Entry(window, width=10) entry

我正在尝试用Tkinter制作一个GUI,在其中键入两个数字,然后将它们相加。我不确定如何在我的窗口中显示答案。另外,当我运行它时,会出现一个错误,上面写着: TypeError:不支持+:“Entry”和“Entry”的操作数类型

from tkinter import *
window = Tk()
def add():
    label = Label(window, text=entry1 + entry2)
entry1 = Entry(window, width=10)
entry2 = Entry(window, width=10)
button = Button(window, text='Click to add', command=add)
entry1.pack()
entry2.pack()
button.pack()
label.pack()

如果有人能帮我修复代码,我将不胜感激。

您的代码中有许多错误。您不能直接使用输入字段,而是需要在输入字段中添加值。您还需要添加tkinter的主循环处理

下面是一个没有任何错误处理的快速运行示例(如果不为其中一个输入字段输入值,则会失败)


您的代码包含许多错误。您不能直接使用输入字段,而是需要在输入字段中添加值。您还需要添加tkinter的主循环处理

下面是一个没有任何错误处理的快速运行示例(如果不为其中一个输入字段输入值,则会失败)


您的代码几乎没有错误。第一个是,您不能仅仅通过在两个条目之间放置“+”符号来添加两个条目。您需要获取字符串值,然后将其转换为整数,添加它们,然后将输入框的值设置为整数。 第二个错误是您没有使用主循环。如果没有主循环,tkinter GUI将消失,因此要保持GUI使用循环

使用记事本++。在Windows7上测试。Python 2.7

from tkinter import *

window = Tk()

#name window
window.title('My Add')

#window sized
window.geometry('250x200')


def add():
    sum = int(entry1.get()) + int(entry2.get())
    entry3.delete(0,END)
    entry3.insert(0,str(sum))

L1 = Label(window, text='Number 1:')    
entry1 = Entry(window, width=20)
L1.pack()
entry1.pack()

L2 = Label(window, text='Number 2:')
entry2 = Entry(window, width=20)
L2.pack()
entry2.pack()

button = Button(window, text='Click to add', command=add)
button.pack()

L3 = Label(window, text='Sum of Number 1 and Number 2:')
entry3 = Entry(window, width=20)
L3.pack()
entry3.pack()

window.mainloop()

您的代码几乎没有错误。第一个是,您不能仅仅通过在两个条目之间放置“+”符号来添加两个条目。您需要获取字符串值,然后将其转换为整数,添加它们,然后将输入框的值设置为整数。 第二个错误是您没有使用主循环。如果没有主循环,tkinter GUI将消失,因此要保持GUI使用循环

使用记事本++。在Windows7上测试。Python 2.7

from tkinter import *

window = Tk()

#name window
window.title('My Add')

#window sized
window.geometry('250x200')


def add():
    sum = int(entry1.get()) + int(entry2.get())
    entry3.delete(0,END)
    entry3.insert(0,str(sum))

L1 = Label(window, text='Number 1:')    
entry1 = Entry(window, width=20)
L1.pack()
entry1.pack()

L2 = Label(window, text='Number 2:')
entry2 = Entry(window, width=20)
L2.pack()
entry2.pack()

button = Button(window, text='Click to add', command=add)
button.pack()

L3 = Label(window, text='Sum of Number 1 and Number 2:')
entry3 = Entry(window, width=20)
L3.pack()
entry3.pack()

window.mainloop()

如果你能解释一下你的不同做法,你的答案会更好。否则,读者将被迫逐行逐字地将代码与原始代码进行比较,试图找出您所做的工作。更新了主要更改。非常好!这让世界变得截然不同。这个答案要有用得多。如果你能解释一下你的不同做法,你的答案会更好。否则,读者将被迫逐行逐字地将代码与原始代码进行比较,试图找出您所做的工作。更新了主要更改。非常好!这让世界变得截然不同。这个答案要有用得多。如果你能解释一下你的不同做法,你的答案会更好。否则,读者将被迫逐行逐字地将代码与原始代码进行比较,以试图找出您为使其正常工作所做的工作。我们将确保下一次能够做到这一点。如果您解释您所做的不同,您的答案会更好。否则,读者将被迫逐行逐字地将代码与原始代码进行比较,试图找出您是如何使其正常工作的。我们将在下次确认。