因此,我目前正在尝试制作一个程序,该程序允许我输入一个输出到tkinter中文本窗口的字符串。但是,当在simpledialog.askstring窗口中按下“取消”按钮时,我收到一条错误消息。
这是我在Python Shell中收到的错误消息:
_tkinter.TclError: wrong # args: should be ".!text insert index chars ?tagList chars tagList ...?"
我只是希望程序在按下取消按钮时不执行任何操作。 :(
from tkinter import *
from tkinter import simpledialog
import tkinter.messagebox
class Thing:
def __init__(self):
global buttonThing
global window
window = Tk()
frame1 = Frame(window)
frame1.pack()
buttonThing = Button(frame1, text = "click me", command = self.clickMe)
buttonThing.pack()
self.text =Text(window)
self.text.pack()
window.mainloop()
def clickMe(self):
uwu = simpledialog.askstring("hey","put stuff")
self.text.insert(END, uwu)
Thing()
答案 0 :(得分:2)
当您按“取消”时,您的对话框返回“无”,并且当您尝试在文本控件中插入“无”时,该错误存在。
因此将此代码self.text.insert(END, uwu)
替换为
if uwu:
self.text.insert(END, uwu)