Jul-01-2018, 04:43 PM
I have a gui created with tkinter. I want to appear a second window/frame when a button is pressed, but my code instead of appearing a new window (except of the title that appears correctly to a new tk) places the listbox output (which is related to the window/frame) below the last row of the "master" gui, i.e. row=30. The code that creates the listbox/new_frame starts from row 415 and ends in row 486. I think the problem has to do with the container's grid that although is related to ttk1 (=w2), it appears to w1 (= master gui)
import cx_Oracle from tkinter import* from tkinter import messagebox import time from datetime import datetime from tkinter import ttk import tkinter.messagebox as box import tkinter as tk import tkinter.font as tkFont import tkinter.ttk as ttk1 import tkinter as tk2 def search(): try: #=============DB Connect======================# connstr='SOLVATIO/SOLVATIO@localhost' conn = cx_Oracle.connect(connstr) curs = conn.cursor() curs1= conn.cursor() #=============first_query======================# curs.execute("select * from customers where afm='%s'"%afm.get()) result=curs.fetchone() company_name.set(result[1]) siebel_customer_code.set(result[3]) #=============2nd_query======================# curs1.execute("select name_project,description, sb_masterlist, count(*) " + "from customer_desc where company_name_d='%s' group by name_project, description, sb_masterlist"%e2.get()) results=curs1.fetchall() i=curs1.rowcount rr=len(results) ##print(len(results)) for i in range(0,rr): #rr+=1 #if #if i==0: #print("no rows") #else: if i in range (0, 1): name_project=(results[0][0]) description=(results[0][1]) sb_masterlist=(results[0][2]) fname_project1.set(name_project) fdescription1.set(description) fsb_masterlist1.set(sb_masterlist) if i in range (1, 2): name_project=(results[0][0]) description=(results[0][1]) sb_masterlist=(results[0][2]) fname_project1.set(name_project) fdescription1.set(description) fsb_masterlist1.set(sb_masterlist) name_project=(results[1][0]) description=(results[1][1]) sb_masterlist=(results[1][2]) fname_project2.set(name_project) fdescription2.set(description) fsb_masterlist2.set(sb_masterlist) if i in range (2, 3): name_project=(results[0][0]) description=(results[0][1]) sb_masterlist=(results[0][2]) fname_project1.set(name_project) fdescription1.set(description) fsb_masterlist1.set(sb_masterlist) name_project=(results[1][0]) description=(results[1][1]) sb_masterlist=(results[1][2]) fname_project2.set(name_project) fdescription2.set(description) fsb_masterlist2.set(sb_masterlist) name_project=(results[2][0]) description=(results[2][1]) sb_masterlist=(results[2][2]) fname_project3.set(name_project) fdescription3.set(description) fsb_masterlist3.set(sb_masterlist) if i in range (3, 4): name_project=(results[0][0]) description=(results[0][1]) sb_masterlist=(results[0][2]) fname_project1.set(name_project) fdescription1.set(description) fsb_masterlist1.set(sb_masterlist) name_project=(results[1][0]) description=(results[1][1]) sb_masterlist=(results[1][2]) fname_project2.set(name_project) fdescription2.set(description) fsb_masterlist2.set(sb_masterlist) name_project=(results[2][0]) description=(results[2][1]) sb_masterlist=(results[2][2]) fname_project3.set(name_project) fdescription3.set(description) fsb_masterlist3.set(sb_masterlist) name_project=(results[3][0]) description=(results[3][1]) sb_masterlist=(results[3][2]) fname_project4.set(name_project) fdescription4.set(description) fsb_masterlist4.set(sb_masterlist) if i in range (4, 5): name_project=(results[0][0]) description=(results[0][1]) sb_masterlist=(results[0][2]) fname_project1.set(name_project) fdescription1.set(description) fsb_masterlist1.set(sb_masterlist) name_project=(results[1][0]) description=(results[1][1]) sb_masterlist=(results[1][2]) fname_project2.set(name_project) fdescription2.set(description) fsb_masterlist2.set(sb_masterlist) name_project=(results[2][0]) description=(results[2][1]) sb_masterlist=(results[2][2]) fname_project3.set(name_project) fdescription3.set(description) fsb_masterlist3.set(sb_masterlist) name_project=(results[3][0]) description=(results[3][1]) sb_masterlist=(results[3][2]) fname_project4.set(name_project) fdescription4.set(description) fsb_masterlist4.set(sb_masterlist) name_project=(results[4][0]) description=(results[4][1]) sb_masterlist=(results[4][2]) fname_project5.set(name_project) fdescription5.set(description) fsb_masterlist5.set(sb_masterlist) #e1.configure(state='disabled') #f1.configure(state='disabled') conn.close() except: messagebox.showinfo('Μύνημα', 'No such data') #=============3rd_query======================# def Search1(): try: connstr='SOLVATIO/SOLVATIO@localhost' conn = cx_Oracle.connect(connstr) curs2=conn.cursor() curs2.execute("select company_name_m, searchcode, hostname, name_project_m, access_type, ivr_division, subarea, new_name_full," +"subcontractor, masterlist_type from customer_data where primary_identifier='%s'"%primary_identifier.get()) results2=curs2.fetchone() company_name_m.set(results2[0]) searchcode.set(results2[1]) hostname.set(results2[2]) name_project_m.set(results2[3]) access_type.set(results2[4]) ivr_division.set(results2[5]) subarea.set(results2[6]) new_name_full.set(results2[7]) subcontractor.set(results2[8]) masterlist_type.set(results2[9]) conn.close() except: messagebox.showinfo('Μύνημα', 'No such data') #=============4th_query======================# def Search2(): try: connstr='SOLVATIO/SOLVATIO@localhost' conn = cx_Oracle.connect(connstr) curs3=conn.cursor() curs5=conn.cursor() curs7=conn.cursor() curs3.execute("select NAME_PROJECT_MCM,MODEL_E,CONTRACT_NUMBER,SUPPORT_LEVEL,SEARCHCODE_MCM,VENDOR_SUPPORT," +"to_char(customer_support_end_date, 'dd/mm/yyyy'),SUPPLY_TYPE,NEW_NAME_FULL_MCM, AFM_MCM, company_name_mcm from customer_mcm where SERIAL_NUMBER='%s'"%SERIAL_NUMBER.get()) results3=curs3.fetchone() NAME_PROJECT_MCM.set(results3[0]) MODEL_E.set(results3[1]) CONTRACT_NUMBER.set(results3[2]) SUPPORT_LEVEL.set(results3[3]) SEARCHCODE_MCM.set(results3[4]) fSEARCHCODE_MCM=(results3[4]) VENDOR_SUPPORT.set(results3[5]) CUSTOMER_SUPPORT_END_DATE.set(results3[6]) SUPPLY_TYPE.set(results3[7]) NEW_NAME_FULL_MCM.set(results3[8]) AFM_MCM.set(results3[9]) company_name_mcm.set(results3[10]) curs5.execute("select description from customer_desc where name_project ='%s' and company_name_d='%s'"%(pm2.get(),pm12.get())) results5=curs5.fetchone() project_mcm_desc.set(results5[0]) conn.close() except: messagebox.showinfo('Μύνημα', 'No such data') #==================clear button========================================# def clear(): afm.set('') company_name.set('') siebel_customer_code.set('') fdescription1.set('') fdescription2.set('') fdescription3.set('') fdescription4.set('') fdescription5.set('') fname_project1.set('') fname_project2.set('') fname_project3.set('') fname_project4.set('') fname_project5.set('') fsb_masterlist1.set('') fsb_masterlist2.set('') fsb_masterlist3.set('') fsb_masterlist4.set('') fsb_masterlist5.set('') #e1.configure(state='normal') #f1.configure(state='normal') def clear1(): primary_identifier.set('') company_name_m.set('') searchcode.set('') hostname.set('') name_project_m.set('') access_type.set('') ivr_division.set('') subarea.set('') new_name_full.set('') subcontractor.set('') masterlist_type.set('') #p1.configure(state='normal') def clear2(): SERIAL_NUMBER.set('') NAME_PROJECT_MCM.set('') MODEL_E.set('') CONTRACT_NUMBER.set('') SUPPORT_LEVEL.set('') SEARCHCODE_MCM.set('') VENDOR_SUPPORT.set('') CUSTOMER_SUPPORT_END_DATE.set('') SUPPLY_TYPE.set('') NEW_NAME_FULL_MCM.set('') AFM_MCM.set('') project_mcm_desc.set('') company_name_mcm.set('') #p1.configure(state='normal') #==========================GUI===========================================# w1=Tk() w1.title('GUI Special Solutions') w1.geometry('1500x800+0+0') # Defines and places the notebook widget nb = ttk.Notebook(w1) nb.grid(row=1, column=0,columnspan=100, rowspan=99,sticky='NESW') # Adds tab 1 of the notebook page1 = ttk.Frame(nb) nb.add(page1, text='Home') # Adds tab 2 of the notebook page2 = ttk.Frame(nb) nb.add(page2, text='Search', state='disabled') # Adds tab 3 of the notebook page3 = ttk.Frame(nb) nb.add(page3, text='Info', state='disabled') if __name__ == '__main__': widget = tk.Label(page1, compound='top') widget.lenna_image_png = tk.PhotoImage(file=r"C:\Users\dvordonis\Desktop\python\image.png") widget['image'] = widget.lenna_image_png widget.grid(row=0, column=0,sticky=E) widget = tk.Label(page2, compound='top') widget.lenna_image_png = tk.PhotoImage(file=r"C:\Users\dvordonis\Desktop\python\image.png") widget['image'] = widget.lenna_image_png widget.grid(row=0, column=0,sticky=E) ptitle=Label(page2, font=('arial',18,'bold'),text='''Search Asset''') ptitle.grid(row=0, column=2, columnspan=2,sticky='NESW') title1=Label (page1, font=('arial',14,'bold'),text='''Εύρεση''') title1.grid(row=1, column=1, sticky=W) title2=Label (page1, font=('arial',14,'bold'),text='''Στοιχείων SLA''') title2.grid(row=1, column=2, sticky=W) title3=Label (page1, font=('arial',14,'bold'),text='''Ειδικών Έργων & Συμβολαίων Υποστήριξης Εταιρικών Πελατών ''') title3.grid(row=1, column=3, sticky=W) title4=Label (page3, font=('arial',12,'bold'),text='''Σύντομη Περιγραφή:''') title4.grid(row=1, column=0, sticky=W) title5=Label (page3, font=('arial',10),text='''Σε βάση Oracle έχει δημιουργηθεί instance με δεδομένα από Masterlists Ειδικών Έργων Μεγάλων Πελατών και Εξοπλισμού Συμβολαίων Τεχνικής Υποστήριξης. Σε γραφικό interface (GUI) που έχει υλοποιηθεί σε python, εισάγεται από το χρήστη: • το ΑΦΜ του πελάτη και επιστρέφεται λίστα ειδικών έργων με σύντομη περιγραφή τους. • το ΦΑΧ του κυκλώματος και επιστρέφονται πληροφορίες masterlist όπως Ονομασία/Δνση Σημείου, Siebel list of values (LOVs), Sub Contractor κ.λπ. • το Serial Number εξοπλισμού και επιστρέφονται πληροφορίες έργου τεχνικής υποστήριξης όπως επίπεδο υποστήριξης, κατάσταση Συμβολαίου κ.λπ. ''',justify = LEFT, height = 9, wraplength = 1200) title5.grid(row=2, column=0, sticky=E) def clock(): pdatetime=Label(page2, font=('arial',11,'bold'),text=time.strftime('%d/%m/%Y %H:%M:%S'), fg='blue') pdatetime.grid(row=0, column=7, sticky=E) pdatetime=Label(page1, font=('arial',11,'bold'),text=time.strftime('%d/%m/%Y %H:%M:%S'), fg='blue') pdatetime.grid(row=0, column=5, sticky=W) page2.after(1000, clock) # run itself again after 1000 ms # run first time clock() def dialog1(): username=entry1.get() password = entry2.get() if (username == 'admin' and password == 'sla123'): box.showinfo('Μύνημα','Correct Login') nb.tab(page2, state='normal') nb.tab(page3, state='normal') nb.tab(page1, state='disabled') else: box.showinfo('info','Invalid Login') entry1.delete(0,END) entry2.delete(0,END) Label1 = Label(page1,text = 'Username:') Label1.grid(row=2, column=1,sticky=E) entry1 = Entry(page1,bd =4) entry1.grid(row=2, column=2,sticky=E) Label2 = Label(page1,text = 'Password:') Label2.grid(row=3, column=1,sticky=E) entry2 = Entry(page1, bd=4, show='*') entry2.grid(row=3, column=2,sticky=E) btn = Button(page1, text = 'Login',command = dialog1) btn.grid(row=4, column=1,sticky=E) #w1.bind('<Return>',dialog1) def dialog2(): if btn2: nb.tab(page1, state='normal') nb.tab(page2, state='disabled') nb.tab(page3, state='disabled') entry1.delete(0,END) entry2.delete(0,END) SERIAL_NUMBER.set('') NAME_PROJECT_MCM.set('') MODEL_E.set('') CONTRACT_NUMBER.set('') SUPPORT_LEVEL.set('') SEARCHCODE_MCM.set('') VENDOR_SUPPORT.set('') CUSTOMER_SUPPORT_END_DATE.set('') SUPPLY_TYPE.set('') NEW_NAME_FULL_MCM.set('') AFM_MCM.set('') project_mcm_desc.set('') company_name_mcm.set('') primary_identifier.set('') company_name_m.set('') searchcode.set('') hostname.set('') name_project_m.set('') access_type.set('') ivr_division.set('') subarea.set('') new_name_full.set('') subcontractor.set('') masterlist_type.set('') afm.set('') company_name.set('') siebel_customer_code.set('') fdescription1.set('') fdescription2.set('') fdescription3.set('') fdescription4.set('') fdescription5.set('') fname_project1.set('') fname_project2.set('') fname_project3.set('') fname_project4.set('') fname_project5.set('') fsb_masterlist1.set('') fsb_masterlist2.set('') fsb_masterlist3.set('') fsb_masterlist4.set('') fsb_masterlist5.set('') ttk1.destroy() btn2 = Button(page2, text = 'Logout',command = dialog2) btn2.grid(row=26, column=5,sticky=W) #=============================Table_Widget============================# def info11(): if btnw1: #import table3_grid class MultiColumnListbox(tk2.Tk): def __init__(self): self.tree = None self._setup_widgets() self._build_tree() def _setup_widgets(self): s = """sort """ msg = ttk1.Label(w2,wraplength="4i", justify="left", anchor="n", padding=(10, 2, 10, 6), text=s) msg.grid(sticky='nsew') container = ttk1.Frame() container.grid(sticky='nsew') # create a treeview with dual scrollbars self.tree = ttk1.Treeview(columns=car_header, show="headings") vsb = ttk1.Scrollbar(orient="vertical", command=self.tree.yview) hsb = ttk1.Scrollbar(orient="horizontal", command=self.tree.xview) self.tree.configure(yscrollcommand=vsb.set, xscrollcommand=hsb.set) self.tree.grid(column=0, row=0, sticky='nsew', in_=container) vsb.grid(column=1, row=0, sticky='ns', in_=container) hsb.grid(column=0, row=1, sticky='ew', in_=container) container.grid_columnconfigure(0, weight=1) container.grid_rowconfigure(0, weight=1) def _build_tree(self): for col in car_header: self.tree.heading(col, text=col.title(), command=lambda c=col: sortby(self.tree, c, 0)) # adjust the column's width to the header string self.tree.column(col, width=tkFont.Font().measure(col.title())) for item in car_list: self.tree.insert('', 'end', values=item) def sortby(tree, col, descending): """sort tree contents when a column header is clicked on""" # grab values to sort data = [(tree.set(child, col), child) \ for child in tree.get_children('')] data.sort(reverse=descending) for ix, item in enumerate(data): tree.move(item[1], '', ix) # switch the heading so it will sort in the opposite direction tree.heading(col, command=lambda col=col: sortby(tree, col, \ int(not descending))) connstr='SOLVATIO/SOLVATIO@localhost' conn = cx_Oracle.connect(connstr) cursw = conn.cursor() cursw.execute("select NAME_PROJECT_MCM, MODEL_E, CONTRACT_NUMBER , SERIAL_NUMBER,company_name_mcm, searchcode_mcm from customer_mcm where searchcode_mcm='Frap08'") car_list=list(cursw.fetchall()) car_header = ['NAME_PROJECT_MCM', 'MODEL_E', 'CONTRACT_NUMBER' , 'SERIAL_NUMBER','company_name_mcm', 'searchcode_mcm'] w2=tk2.Tk() w2.title("Multicolumn Treeview/Listbox") listbox = MultiColumnListbox() w2.mainloop() btnw1 = Button(page2, text = 'info',command = info11) btnw1.grid(row=28, column=1,sticky=E) #=======================set variables=====================================# afm=StringVar() company_name=StringVar() siebel_customer_code=StringVar() name_project=StringVar() fdescription1=StringVar() fdescription2=StringVar() fdescription3=StringVar() fdescription4=StringVar() fdescription5=StringVar() fname_project1=StringVar() fname_project2=StringVar() fname_project3=StringVar() fname_project4=StringVar() fname_project5=StringVar() fsb_masterlist1=StringVar() fsb_masterlist2=StringVar() fsb_masterlist3=StringVar() fsb_masterlist4=StringVar() fsb_masterlist5=StringVar() primary_identifier=StringVar() company_name_m=StringVar() searchcode=StringVar() hostname=StringVar() name_project_m=StringVar() access_type=StringVar() ivr_division=StringVar() subarea=StringVar() new_name_full=StringVar() subcontractor=StringVar() masterlist_type=StringVar() SERIAL_NUMBER=StringVar() NAME_PROJECT_MCM=StringVar() MODEL_E=StringVar() CONTRACT_NUMBER=StringVar() SUPPORT_LEVEL=StringVar() SEARCHCODE_MCM=StringVar() VENDOR_SUPPORT=StringVar() CUSTOMER_SUPPORT_END_DATE=StringVar() SUPPLY_TYPE=StringVar() NEW_NAME_FULL_MCM=StringVar() AFM_MCM=StringVar() company_name_mcm=StringVar() project_mcm_desc=StringVar() fSEARCHCODE_MCM=StringVar() #======================= buttons & textboxes ==============================# l1=Label (page2, font=('arial',9,'bold'),text='''Α.Φ.Μ :''') e1=Entry(page2, textvariable=afm, bg='lavenderblush', fg='red') l2=Label (page2, text='''Πελάτης :''') e2=Entry(page2, textvariable=company_name, state='readonly', readonlybackground='mintcream') l3=Label (page2, text='''Siebel Code :''') e3=Entry(page2, textvariable=siebel_customer_code, state='readonly', readonlybackground='mintcream') b1=Button(page2, text='Search AFM', command=search, fg='blue') b2=Button(page2, text='Clear AFM', command=clear, fg='red') l4=Label (page2, font=('arial',9,'bold'),text='''Όνομα Έργου :''') f1=Entry(page2, textvariable=fname_project1, state='readonly', readonlybackground='mintcream') l5=Label (page2, font=('arial',9,'bold'),text='''Περιγραφή Έργου :''') f2=Entry(page2, textvariable=fdescription1, bd=2, width=140, state='readonly', readonlybackground='mintcream') f3=Entry(page2, textvariable=fname_project2, state='readonly', readonlybackground='mintcream') f4=Entry(page2, textvariable=fdescription2, bd=2, width=140, state='readonly', readonlybackground='mintcream') f5=Entry(page2, textvariable=fname_project3, state='readonly', readonlybackground='mintcream') f6=Entry(page2, textvariable=fdescription3, bd=2, width=140, state='readonly', readonlybackground='mintcream') f7=Entry(page2, textvariable=fname_project4, state='readonly', readonlybackground='mintcream') f8=Entry(page2, textvariable=fdescription4, bd=2, width=140, state='readonly', readonlybackground='mintcream') f9=Entry(page2, textvariable=fname_project5, state='readonly', readonlybackground='mintcream') f10=Entry(page2, textvariable=fdescription5, bd=2, width=140, state='readonly', readonlybackground='mintcream') m1=Label (page2, font=('arial',9,'bold'),text='''Siebel Masterlist''',wraplength=60) m11=Entry(page2, textvariable=fsb_masterlist1,width=10, state='readonly', readonlybackground='mintcream') m12=Entry(page2, textvariable=fsb_masterlist2,width=10, state='readonly', readonlybackground='mintcream') m13=Entry(page2, textvariable=fsb_masterlist3,width=10, state='readonly', readonlybackground='mintcream') m14=Entry(page2, textvariable=fsb_masterlist4,width=10, state='readonly', readonlybackground='mintcream') m15=Entry(page2, textvariable=fsb_masterlist5,width=10, state='readonly', readonlybackground='mintcream') l1.grid(row=1, column=0,sticky=E) e1.grid(row=1, column=1) l2.grid(row=2, column=0,sticky=E) e2.grid(row=2, column=1) l3.grid(row=3, column=0,sticky=E) e3.grid(row=3, column=1) b1.grid(row=1, column=2) b2.grid(row=4, column=0,sticky=E) l4.grid(row=5, column=0,sticky=E) f1.grid(row=5, column=1) l5.grid(row=5, column=2,sticky=E) f2.grid(row=5, column=3) f3.grid(row=6, column=1) f4.grid(row=6, column=3) f5.grid(row=7, column=1) f6.grid(row=7, column=3) f7.grid(row=8, column=1) f8.grid(row=8, column=3) f9.grid(row=9, column=1) f10.grid(row=9, column=3) m1.grid(row=4, column=4) m11.grid(row=5, column=4,sticky=E) m12.grid(row=6, column=4,sticky=E) m13.grid(row=7, column=4,sticky=E) m14.grid(row=8, column=4,sticky=E) m15.grid(row=9, column=4,sticky=E) lp1=Label (page2, font=('arial',9,'bold'),text='''Κωδ. Κυκλώματος :''') p1=Entry(page2, textvariable=primary_identifier,bg='lavenderblush',fg='red') lp2=Label (page2, text='''Επωνυμία :''') p2=Entry(page2, textvariable=company_name_m, state='readonly', readonlybackground='mintcream') b3=Button(page2,text='Search PI',command=Search1,fg='blue') b4=Button(page2, text='Clear PI', command=clear1,fg='red') lp3=Label (page2, text='''Searchcode :''') p3=Entry(page2, textvariable=searchcode, state='readonly', readonlybackground='mintcream') lp4=Label (page2, text='''Hostname :''') p4=Entry(page2, textvariable=hostname,width=50, state='readonly', readonlybackground='mintcream') lp5=Label (page2, text='''Όνομα Έργου :''') p5=Entry(page2, textvariable=name_project_m, state='readonly', readonlybackground='mintcream') lp6=Label (page2, text='''Siebel Access Type :''') p6=Entry(page2, textvariable=access_type, state='readonly', readonlybackground='mintcream') lp7=Label (page2, text='''Siebel IVR Devision :''') p7=Entry(page2, textvariable=ivr_division, state='readonly', readonlybackground='mintcream') lp8=Label (page2, text='''Siebel Sub Area :''') p8=Entry(page2, textvariable=subarea, state='readonly', readonlybackground='mintcream') lp9=Label (page2, text='''Ονομασία Σημείου :''') p9=Entry(page2, textvariable=new_name_full, width=60, state='readonly', readonlybackground='mintcream') lp10=Label (page2, text='''Sub Contractor :''') p10=Entry(page2, textvariable=subcontractor, width=30, state='readonly', readonlybackground='mintcream') lp11=Label (page2, text='''Τύπος MasterList :''') p11=Entry(page2, textvariable=masterlist_type, width=30, state='readonly', readonlybackground='mintcream') lp1.grid(row=10,column=0,sticky=E) p1.grid(row=10,column=1) lp2.grid(row=11,column=0,sticky=E) p2.grid(row=11,column=1) b3.grid(row=10,column=2) b4.grid(row=17,column=0,sticky=E) lp3.grid(row=12,column=0,sticky=E) p3.grid(row=12,column=1) lp4.grid(row=11,column=2,sticky=E) p4.grid(row=11,column=3,sticky=W) lp5.grid(row=13,column=0,sticky=E) p5.grid(row=13,column=1) lp6.grid(row=14,column=0,sticky=E) p6.grid(row=14,column=1) lp7.grid(row=15,column=0,sticky=E) p7.grid(row=15,column=1) lp8.grid(row=16,column=0,sticky=E) p8.grid(row=16,column=1) lp9.grid(row=12,column=2,sticky=E) p9.grid(row=12,column=3, sticky=W) lp10.grid(row=13,column=2,sticky=E) p10.grid(row=13,column=3, sticky=W) lp11.grid(row=14,column=2,sticky=E) p11.grid(row=14,column=3, sticky=W) lpm1=Label (page2, font=('arial',9,'bold'),text='''Σειριακός Αριθμός :''') pm1=Entry(page2, textvariable=SERIAL_NUMBER,bg='lavenderblush',fg='red') lpm2=Label (page2, text='''Όνομα Έργου :''') pm2=Entry(page2, textvariable=NAME_PROJECT_MCM, state='readonly', readonlybackground='mintcream') bm3=Button(page2,text='Search SN',command=Search2,fg='blue') bm4=Button(page2, text='Clear SN', command=clear2,fg='red') lpm3=Label (page2, text='''Μοντέλο Εξοπλισμού :''') pm3=Entry(page2, textvariable=MODEL_E, state='readonly', readonlybackground='mintcream') lpm4=Label (page2, text='''Αριθμός Συμβολαίου :''') pm4=Entry(page2, textvariable=CONTRACT_NUMBER,width=30, state='readonly', readonlybackground='mintcream') lpm5=Label (page2, text='''Επίπεδο Υποστήριξης :''') pm5=Entry(page2, font=('arial',9,'bold'),textvariable=SUPPORT_LEVEL, width=12, state='readonly', readonlybackground='mintcream') lpm6=Label (page2, text='''Searchcode :''') pm6=Entry(page2, textvariable=SEARCHCODE_MCM, state='readonly', readonlybackground='mintcream') lpm7=Label (page2, text='''Vendor Support :''') pm7=Entry(page2, textvariable=VENDOR_SUPPORT, state='readonly', readonlybackground='mintcream') lpm8=Label (page2, text='''Υποστήριξη Πελατη έως :''') pm8=Entry(page2, textvariable=CUSTOMER_SUPPORT_END_DATE, width=11, state='readonly', readonlybackground='mintcream') lpm9=Label (page2, text='''Τρόπος Διάθεσης :''') pm9=Entry(page2, textvariable=SUPPLY_TYPE, width=30, state='readonly', readonlybackground='mintcream') lpm10=Label (page2, text='''Ονομασία Σημείου :''') pm10=Entry(page2, textvariable=NEW_NAME_FULL_MCM, width=60, state='readonly', readonlybackground='mintcream') lpm11=Label (page2, text='''Α.Φ.Μ :''') pm11=Entry(page2, textvariable=AFM_MCM, width=15, state='readonly', readonlybackground='mintcream') lpm12=Label (page2, text='''Επωνυμία :''') pm12=Entry(page2, textvariable=company_name_mcm, width=15, state='readonly', readonlybackground='mintcream') lpm13=Label (page2, text='''Περιγραφή Έργου :''') pm13=Entry(page2, textvariable=project_mcm_desc, width=140, state='readonly', readonlybackground='mintcream') lpm1.grid(row=18,column=0,sticky=E) pm1.grid(row=18,column=1) lpm2.grid(row=19,column=0,sticky=E) pm2.grid(row=19,column=1) bm3.grid(row=18,column=2) bm4.grid(row=25,column=0,sticky=E) lpm3.grid(row=20,column=0,sticky=E) pm3.grid(row=20,column=1) lpm4.grid(row=19,column=2,sticky=E) pm4.grid(row=19,column=3,sticky=W) lpm5.grid(row=21,column=0,sticky=E) pm5.grid(row=21,column=1,sticky=W) lpm6.grid(row=22,column=0,sticky=E) pm6.grid(row=22,column=1) lpm7.grid(row=23,column=0,sticky=E) pm7.grid(row=23,column=1) lpm8.grid(row=24,column=0,sticky=E) pm8.grid(row=24,column=1, sticky=W) lpm9.grid(row=20,column=2,sticky=E) pm9.grid(row=20,column=3, sticky=W) lpm10.grid(row=21,column=2,sticky=E) pm10.grid(row=21,column=3, sticky=W) lpm11.grid(row=22,column=2,sticky=E) pm11.grid(row=22,column=3, sticky=W) lpm12.grid(row=23,column=2,sticky=E) pm12.grid(row=23,column=3, sticky=W) lpm13.grid(row=24,column=2,sticky=E) pm13.grid(row=24,column=3, sticky=W) w1.mainloop()