首页 > 解决方案 > 我正在为我的应用程序构建一个 GUI,但出现错误。为什么?

问题描述

我正在尝试使用 tkinter 为我的应用程序制作 GUI,但它不起作用。为什么?该程序需要从用户那里获取 2 个输入并将它们保存在变量中,我还在下面的代码中标记了错误的位置

import tkinter as tk

# making the window
root = tk.Tk()
root.title("AutoWhatsUp")
root.geometry('500x500')

# getting phone number from user
enter_number = tk.Label(root, text = "enter below the phone number you want to message")
enter_number.pack()
filed = tk.Entry(root)
filed.pack()
def get_number():
    phone_num = filed.get()
    done_procces_phone = tk.Label(root, text = 'Phone number procced!').pack() # getting error here
confirm_number = tk.Button(root, text = 'procces number', command = get_number).pack() #getting error here
# getting the message
enter_mess = tk.Label(root, text = 'enter below the message').pack() #getting error here
enter_mess_here = tk.Entry(root).pack() #getting error here
def getting_message():
    message_here = enter_mess_here.get()
    print(message_here)
    done_procces_mess = tk.Label(root, text = "done!").pack() #getting error here
get_mess = tk.Button(root, text = "procces message", command = getting_message).pack() #getting error here


root.mainloop()

标签: pythontkinter

解决方案


你的问题是你把 None 放在你的变量中enter_mess_here

enter_mess_here = tk.Entry(root).pack() #getting error here

在你的函数中,当你想获得价值时,它并没有从中获得价值,而是从无中获得价值Entry。所以它会引发一个错误。

首先将您分配Entry给一个变量,然后使用pack,这样就可以了:

enter_mess_here = tk.Entry(root)
enter_mess_here.pack()

推荐阅读