让我先给你一些背景。
我正在使用 tkinter、python 和 MySQL 制作一个项目。在我的项目中,每次用户单击tkinter 窗口中的创建按钮(我将在此之后调用root)时,都会创建按钮并显示在根窗口中。
#Creating the button for that specific date
btn = tk.Button(root, text=dateoftable) #dateoftable contains some string value
btn.number=btnnumber #btnnumber is a unique number for each button that increments by one everytime a new button is created
btn.place(x=x, y=y, width=100, height=100) #x and y are predefined variables
#Adding the button object to the dictionary
tables[btnnumber]=btn #tables is a dictionary
所以所有创建的按钮对象都存储在tables
字典中。
现在,每次将按钮添加到根窗口时,都会将 tkinter 按钮对象插入到 MySQl 表中,该表具有btnobject
(主键)并dateoftable
作为表列的名称timetablebtn
。只需假设dateoftable
包含非唯一的任意字符串值。
lastelem = list(tables.values())[-1] #gets the most recently added button object on the root window
#**The problem is in the below statement**
config.cursorobj.execute("INSERT INTO timetablebtn VALUES ('{0}','{1}')".format(str(lastelem), dateoftable))
config.mysqlobj.commit()
如您所见,我将按钮对象作为字符串存储在 MySQL 表中,这是一个问题,因为当我从数据库调用它时,我无法再次引用它,它只是变成了一个虚拟字符串值。
所以我想知道是否有办法将对象存储到 MySQL 上。如果那不可能,我想知道当我从数据库中的表中检索值时是否有办法引用同一个按钮对象。
如果需要更多信息,我将编辑问题和代码并发布。提前致谢。