我是软件开发专业的学生,我正在开发一个应用程序(我的第一个应用程序!)以便于学习。 它工作得相当好,我几乎所有的功能,我想工作。在
项目简介:这是一个管理程序,记录体育俱乐部的成员。所以它有添加成员、列出成员等基本功能
为了完成它,它还需要一个删除成员的函数。这一直都很好,但我很少使用这个函数。在
现在,在我修改了一个ttk.Treeview()
对象,使其按姓氏排序之后,我添加了一个新成员,以查看它是否按应该排序。是的!在
现在我想删除那个成员,但由于某些原因,它不再起作用了。在
它使Python崩溃。它不只是使应用程序崩溃,没有错误,只是简单的”Pythonw.exe已经停止工作”。在
以下是属于该函数的所有代码:
def dellid(zeid, addwindow):
winsound.PlaySound("SystemHand", winsound.SND_ASYNC)
usure = tkinter.Tk()
print('usure window created')
usure.title('Lid verwijderen')
usure.geometry('{}x{}'.format('300', '150'))
usure.iconbitmap(default='programdata\\icon.ico')
usure.attributes("-topmost", True)
addwindow.grab_set()
#logo2 = PhotoImage(file="warning.png")
#logolabel = tkinter.Label(usure, image = logo2)
#logolabel.grid(row01, columnspan = 2)
usure.columnconfigure(0, weight = 1)
usure.columnconfigure(1, weight = 2)
label01 = tkinter.Label(usure, text = '''
Weet U zeker dat U dit lid wilt verwijderen?
Deze actie kan niet ongedaan worden gemaakt!''').grid(row = 1, columnspan = 2)
emptyrow = tkinter.Label(usure, text = ' ').grid(row = 2, columnspan = 2)
jaknop = ttk.Button(usure, text = 'Ja', command = lambda: delforsure(zeid, usure, addwindow)).grid(row = 3, column = 0, sticky = 'E')
neeknop = ttk.Button(usure, text = 'Nee', command = lambda: nodell(addwindow, usure)).grid(row = 3, column = 1, sticky = 'S')
def nodell(addwindow, usure):
addwindow.grab_release()
usure.destroy()
def delforsure(zeid, usure, addwindow):
#addwindow.grab_release()
addwindow.destroy()
print('addwindow destroyed')
usure.destroy()
print('usure destroyed')
conn = sqlite3.connect('test.db')
c = conn.cursor()
opendb = []
opendb.append(zeid)
print(zeid)
print(opendb)
c.execute("DELETE FROM leden WHERE ids = ?",opendb)
print('c.execute')
conn.commit()
print('c.commit')
#usure.destroy()
done = tkinter.Tk()
done.title('Lid verwijdert')
done.geometry('{}x{}'.format('300', '150'))
done.iconbitmap(default='programdata\\icon.ico')
label01 = tkinter.Label(done, text = '''
Lid verwijdert
''')
label01.pack()
done.update()
time.sleep(2)
on_return(done)
on_return
函数关闭上述窗口并重新打开主菜单。在
现在在delforsure(zeid, usure, addwindow)
中,它锁定在usure.destroy()
线上
它不再打印“usure destroyed”这句话了,我把它放在那里看它锁在哪里了。在
它不会给出任何错误,Python本身只是崩溃。在
如果我移动
^{pr2}$在底部的on_return(done)
下,它确实会关闭窗口并返回主菜单,但主菜单将被图形化扭曲,不久之后仍然会崩溃。在
我真的不明白发生了什么事。在
谁能帮我查一下这个问题吗?在
看起来你正在创建一个是/否模式窗口。你不想使用tkinter内置的版本有什么原因吗?在
相关问题 更多 >
编程相关推荐