Dec-25-2018, 07:44 PM
Hello!,
I am creating a GUI that will unite all the 3 programs together.3 differend buttons for 3 differend .py files. How can i make each one of them able to work as soon as i tab a button on my GUI? The whole story is will i import it as a library or ??????? Test code here:
I am creating a GUI that will unite all the 3 programs together.3 differend buttons for 3 differend .py files. How can i make each one of them able to work as soon as i tab a button on my GUI? The whole story is will i import it as a library or ??????? Test code here:
from tkinter import * import numpy as np import os import sys class MyApp: def __init__(self,root): root.title("Πρόσθεση πινάκων") self.root=Frame(root) self.root.pack() self.start() self.entries1=[] self.L1=[] self.L2=[] self.Q=[] self.F=[] def start(self): self.w=Label(self.root,text="Πολλαπλασιασμός πινάκων με αριθμό παραδείγματα",font="Arial 12") self.w.grid(row=1,column=1) self.w1=Label(self.root,text="Διάλεξε τις διαστάσεις του πίνακα",font="Arial 12") self.w1.grid(row=2,column=1) self.s1=Label(self.root,text="X:",font="Arial 10") self.entry1=Entry(self.root,font="Arial 12",bg="#d9d9d9",width=5) self.entry1.grid(row=3,column=1) self.s2=Label(self.root,text="Y:",font="Arial 10") self.s2.grid(row=4,column=1) self.entry2=Entry(self.root,font="Arial 12",bg="#d9d9d9",width=5) self.entry2.grid(row=4,column=1) self.w2=Label(self.root,text="Διάλεξε αριθμό",font="Arial 12") self.w2.grid(row=5,column=1) self.entry3=Entry(self.root,font="Arial 12",bg="#d9d9d9",width=5) self.entry3.grid(row=6,column=1) self.w3=Button(self.root,text="Σχηματισμός πίνακα ",font="Arial 12",bg="#d9d9d9",command=self.multi) self.w3.grid(row=10,column=1) def creation(self): num="0123456789" entry_value1=self.entry1.get() entry_value2=self.entry2.get() entry_value3=self.entry3.get() if entry_value1 not in num or entry_value2 not in num or entry_value3 not in num: root.withdraw() alertwindow=Toplevel() alertwindow.title("Προσοχή") alertlabel=Label(alertwindow,text="Παρακαλω,βαλε μονο ακαιρεους αριθμους!") alertlabel.pack() alertbutton=Button(alertwindow,text="Ξαναπροσπάθησε",command=self.restart) alertbutton.pack() if entry_value1=="" or entry_value2=="" or entry_value3=="": root.withdraw() empty_alertwindow=Toplevel() empty_alertwindow.title("Προσοχή") empty_alertlabel=Label(empty_alertwindow,text="Παρακαλω,συμπλήρωσε ολα τα πεδία") empty_alertlabel.pack() empty_alertbutton=Button(empty_alertwindow,text="Ξαναπροσπάθησε",command=self.restart) empty_alertbutton.pack() entry_value1=int(entry_value1) entry_value2=int(entry_value2) d=entry_value1*entry_value2 s=Label(self.root,text=" Πίνακας:",font="Arial 15") s.grid(row=12,column=1) for i in range(entry_value1): for w in range(entry_value2): entry=Entry(self.root,font="Arial 12",bg="#d9d9d9",width=5) entry.grid(row=12+i,column=2+w) self.entries1.append(entry) global q q=Button(self.root,text="Αποτέλεσμα",font="Arial 14",state='active',command=self.result_lock) q.grid(row=14+entry_value1,column=1) def result(self): f=0 entry_value1=self.entry1.get() entry_value2=self.entry2.get() entry_value3=self.entry3.get() entry_value1=int(entry_value1) entry_value2=int(entry_value2) entry_value3=int(entry_value3) d=entry_value1*entry_value2 for x in self.entries1: res1=x.get() res1=int(res1) self.L1.append(res1) for i in range(entry_value1): self.L2.append(list(self.L1[f:f+entry_value2])) f+=entry_value2 for x in self.L2: for i in range(entry_value2): self.Q.append(x[i]) r=Label(self.root,text="Εδώ είναι αναλυτικά οι πράξεις:",font="Arial 12") r.grid(row=18+entry_value1,column=1) for c in range(d): self.F.append(self.Q[c]*entry_value3) c=0 for t in range(entry_value1): for i in range(entry_value2): f=Label(self.root,text="{}*{}={}".format(self.Q[c],entry_value3,self.F[c]),font="Arial 12") f.grid(row=18+entry_value1+t,column=2+i) c+=1 e=Label(self.root,text="Ο πίνακας που προκύπτει είναι:",font="Arial 12") e.grid(row=20+entry_value1+d,column=1) c=0 for t in range(entry_value1): for i in range(entry_value2): e=Label(self.root,text="{}".format(self.F[c]),font="Arial 12") e.grid(row=20+entry_value1+d+t,column=2+i) c+=1 g=Button(self.root,text="Ξαναπροσπάθησε",font="Arial 12",command=self.refresh) g.grid(row=28+2*entry_value1+d,column=1) def refresh(self): self.root.destroy() myapp=MyApp(root) def result_lock(self): self.result() q['state']=DISABLED def restart(self): os.execl(sys.executable, sys.executable, *sys.argv) def multi(self): self.creation() self.w3['state']=DISABLED #----------------------------------------------- root=Tk() myapp=MyApp(root) root.mainloop()Thanks