2016-04-30 14 views
0

私はPythonで非常に基本的なムービーの推奨GUIを構築しており、ジャンルを選択すると新しいウィンドウを開くようにしようとしています。ウィンドウを開くことはできますが、ラジオボタンを新しいクラスに割り当てるのは難しいです。私はジャンルを選択し、次にヒットし、ユーザーが選択したボタンに基づいて推薦することから始めたいと思っています。tkinter GUIで複数のウィンドウを使う

from tkinter import * 
class movie1: 
    def __init__(self, master): 
     self.master = master 
     master.title("Movie Recommendation") 

     self.label = Label(master, text= "Welcome to the movie recommendation application! \n Please select the genre of the movie you would like to see.") 
     self.label.pack(padx=25, pady=25) 

     CheckVar1 = StringVar() 

     C1 = Radiobutton(master, text = "Action", variable = CheckVar1, value=1) 
     C1.pack(side=TOP, padx=10, pady=10) 
     C2 = Radiobutton(master, text = "Comedy", variable = CheckVar1, value=2) 
     C2.pack(side=TOP, padx=10, pady=10) 
     C3 = Radiobutton(master, text = "Documentary", variable = CheckVar1, value=3) 
     C3.pack(side=TOP, padx=10, pady=10) 
     C4 = Radiobutton(master, text = "Horror", variable = CheckVar1, value=4) 
     C4.pack(side=TOP, padx=10, pady=10) 
     C5 = Radiobutton(master, text = "Romance", variable = CheckVar1, value=5) 
     C5.pack(side=TOP, padx=10, pady=10) 

     self.nextbutton = Button(master, text="Next", command=self.reco) 
     self.nextbutton.pack(side=BOTTOM, padx=10, pady=10) 

    def reco(self): 
     self.newWindow = Toplevel(self.master) 
     self.app = movie2(self.newWindow) 

class movie2: 
    def __init__(self, master): 
     self.master = master 
     self.frame = Frame(self.master) 

    def C1(self): 
     print("option 1")  


root = Tk() 
my_gui = movie1(root) 
root.mainloop() 
+0

* - 2番目のクラスに何が選択されたのかを知りたい場合は、それをmovie2に送信してください。self.app = movie2(self.newWindow、genre_selected) –

答えて

0

することはでき新しいクラスに選択された値を渡す:私は次のヒット、ジャンルを選択して、ユーザーが選択したボタンに基づいて、私の推薦で起動できるようにしたい*

class movie1: 
    def __init__(self, master): 
     ... 
     self.CheckVar1 = StringVar() 
     ... 

    def reco(self): 
     ... 
     choice = self.CheckVar1.get() 
     self.app = movie2(self.newWindow, choice) 

class movie2: 
    def __init__(self, master, choice): 
     ... 
     print("you chose: %s" % choice) 
     ... 
関連する問題