Ich bin neu in der GUI-Programmierung und ich versuche, dieses Python-Programm zu arbeiten. Was wäre der richtige Weg, um die Funktion start()
aufzurufen, damit die beiden Leinwände aktualisiert werden. Mein Code sieht so aus.Tkinter Loop-Funktion
from Tkinter import *
class TKinter_test(Frame):
def __init__(self,parent):
Frame.__init__(self,parent)
self.parent = parent
self.initUI()
user_reply = 0
def accept(self):
self.user_reply = 1
def decline(self):
self.user_reply = 2
def initUI(self):
BtnFrame = Frame (self.parent)
BtnFrame.place(y=450, x=20)
canvasFrame = Frame(self.parent)
canvasFrame.place(y = 200)
canvas_1 = Canvas(canvasFrame, width = "220", height ="200")
canvas_2 = Canvas(canvasFrame, width = "220", height ="200")
canvas_1.pack(side = LEFT)
canvas_2.pack(side = RIGHT)
textfield_1 = canvas_1.create_text(30,50,anchor = 'w', font =("Helvetica", 17))
textfield_2 = canvas_2.create_text(30,50,anchor = 'w', font =("Helvetica", 17))
Accept = Button(BtnFrame, text="Friends!", width=25, command = self.accept)
Decline = Button(BtnFrame, text="Not friends...", width=25, command = self.decline)
Accept.pack(side = LEFT)
Decline.pack(side = RIGHT)
def ask_user(self,friend_1,friend_2):
timer = 0;
while(timer == 0):
if(self.user_reply == 1):
print friend_1 + " and " + friend_2 + " are friends!"
self.user_reply = 0
timer = 1;
elif(user_reply == 2):
print friend_1 + " and " + friend_2 + " are not friends..."
self.user_reply = 0
timer = 1
def start(self):
listOfPeople = ["John","Tiffany","Leo","Tomas","Stacy","Robin","Carl"]
listOfPeople_2 = ["George","Jasmin","Rosa","Connor","Valerie","James","Bob"]
for friend_1 in listOfPeople:
for friend_2 in listOfPeople_2:
ask_user(friend_1,friend_2)
print "Finished"
def main():
root = Tk()
root.geometry("500x550")
root.wm_title("Tkinter test")
app = TKinter_test(root)
root.mainloop()
if __name__ == '__main__':
main()
Ich möchte in ask_user etwas verwenden, die textfield_1 und 2. So etwas wie textfield_1.itemconfigure(text = friend_1)
aktualisiert, und ich würde es vorziehen, nicht Threads zu verwenden. Danke.
Es ist unklar, wie Sie das Update durchführen möchten. –
Nun, jedes Mal, wenn die Funktion 'start()' die Funktion 'ask_user()' aufruft, möchte ich, dass sie die Ansicht mit den zwei Namen der Freundesliste aktualisiert und darauf wartet, dass der Benutzer eine Antwort gibt, ob sie das tut oder nicht sind Freunde mit Schaltflächen Akzeptieren/Ablehnen @BillalBEGUERADJ – Nate
Sorry für die späte Antwort, aber hoffentlich wird mein Code hilfreich sein. –