MSN_Issue
پنج شنبه 28 مرداد 1395, 11:01 صبح
سلام دوستان
من دارم یه برنامه مینویسم که یه پنجره ی اصلی حاوی چندتا دکمه داره.
با زدن هر دکمه یه پنجره دیگه باز میشه که یه سری کارا توش انجام میشه. میخواستم ببینم چیکار باید بکنم که تا وقتی پنجره دومی بسته نشده کاربر نتونه برگرده سر پنجره اول و دیگه اینکه قبل و بعد از باز شدن پنجره دوم یه سری کارا به ترتیب انجام بشه...
کد نمونه ای که استفاده کردم رو میذارم:
import Tkinter as tk
class Demo1:
def __init__(self, master):
self.master = master
self.frame = tk.Frame(self.master)
self.button1 = tk.Button(self.frame, text = 'New Window', width = 25, command = self.new_window)
self.button1.pack()
self.frame.pack()
def new_window(self):
print 1
self.newWindow = tk.Toplevel(self.master)
print 2
self.app = Demo2(self.newWindow)
print 3
class Demo2:
def __init__(self, master):
self.master = master
self.frame = tk.Frame(self.master)
self.quitButton = tk.Button(self.frame, text = 'Quit', width = 25, command = self.close_windows)
self.quitButton.pack()
self.frame.pack()
def close_windows(self):
self.master.destroy()
def main():
root = tk.Tk()
app = Demo1(root)
root.mainloop()
if __name__ == '__main__':
main()
مثلا توی این کد توی متد new_window میخوام که 1 و 2 چاپ بشه ولی 3 تا وقتی که پنجره دومیه بسته نشده چاپ نشه و بعد از بسته شدن اون چاپ بشه. اما به محض اجرای متد هر سه چاپ میشن!!
ممنون میشم راهنماییم کنین
من دارم یه برنامه مینویسم که یه پنجره ی اصلی حاوی چندتا دکمه داره.
با زدن هر دکمه یه پنجره دیگه باز میشه که یه سری کارا توش انجام میشه. میخواستم ببینم چیکار باید بکنم که تا وقتی پنجره دومی بسته نشده کاربر نتونه برگرده سر پنجره اول و دیگه اینکه قبل و بعد از باز شدن پنجره دوم یه سری کارا به ترتیب انجام بشه...
کد نمونه ای که استفاده کردم رو میذارم:
import Tkinter as tk
class Demo1:
def __init__(self, master):
self.master = master
self.frame = tk.Frame(self.master)
self.button1 = tk.Button(self.frame, text = 'New Window', width = 25, command = self.new_window)
self.button1.pack()
self.frame.pack()
def new_window(self):
print 1
self.newWindow = tk.Toplevel(self.master)
print 2
self.app = Demo2(self.newWindow)
print 3
class Demo2:
def __init__(self, master):
self.master = master
self.frame = tk.Frame(self.master)
self.quitButton = tk.Button(self.frame, text = 'Quit', width = 25, command = self.close_windows)
self.quitButton.pack()
self.frame.pack()
def close_windows(self):
self.master.destroy()
def main():
root = tk.Tk()
app = Demo1(root)
root.mainloop()
if __name__ == '__main__':
main()
مثلا توی این کد توی متد new_window میخوام که 1 و 2 چاپ بشه ولی 3 تا وقتی که پنجره دومیه بسته نشده چاپ نشه و بعد از بسته شدن اون چاپ بشه. اما به محض اجرای متد هر سه چاپ میشن!!
ممنون میشم راهنماییم کنین