[Tutor] thinter: can't figure out how to update a window instead of creating a new on
Chris Roy-Smith
chris_roysmith at internode.on.net
Sat Jan 27 21:58:30 EST 2018
Hi,
system: Python 3.6, LInux
I have been playing around with the following code which I want to
update the window, but I creates a new window (with the correct
display), but I have not been able to find the solution. Perhaps I'm
using the wrong key words in my searches.
Thank you for any assistance, I'm hoping to learn something from this
experience
Regards, Chris Roy-Smith
#!/usr/bin/python3
import mysql.connector
from tkinter import *
import pickle
master = Tk()
def getCfg():
fobj = open('members.pkl', 'rb')
cfg = pickle.load(fobj)
fobj.close()
return cfg
def editmember(page=1):
form=Toplevel(master)
form.title('test form')
cfg=getCfg()
QrySelectMembers='select ident, concat_ws(" " ,`given`, `surname`)
as `fullname` from `details` where 1 order by `surname` asc, `given` asc
limit '+str(page)+', 10'
db=mysql.connector.connect(user = cfg['user'], password =
cfg['password'], database = cfg['database'])
cursor=db.cursor()
cursor.execute(QrySelectMembers) #,(page))
MemberList=list(cursor)
cursor.close()
db.close
ro=0
for Member in MemberList:
ident=Member[0]
msg='edit '+Member[1]
Button(form, text=msg, command= lambda tmp=ident :
EdForm(tmp)).grid(sticky=(W, E), row=ro, column=0)
ro+=1
Button(form, text='exit', command=form.destroy).grid(row=ro+1,
column=2)
Button(form, text='next 10', command= lambda p=page+10 :
editmember(p)).grid(row=ro, column=1)
Button(form, text="previous 10", command= lambda p=page-10 :
editmember(p)).grid(row=ro, column=0)
Button(master, text='click to test', command=editmember).grid(row=0,
column=0)
Button(master, text='quit', command=master.destroy).grid(row=1, column=0)
master.mainloop()
More information about the Tutor
mailing list