2016-05-29 4 views
0

私はゲームを作っています。なぜなら、両方の行/列を表示する代わりに行/列の数が1になっているのだろうと思いました。私が1つをコメントアウトすると、両方の表示ではなく、他の表示と逆も同様です。あなたが同じ座標を持つgridを呼び出しているPython GUIは2つではなく1つのラベルしか表示しません

class OthelloGUI(): 

    def __init__(self): 

     self._root_window = tkinter.Tk() 

     self._root_window.title('Othello') 

     self.read_row() 

     self.read_column() 


    def read_row(self) -> int: 


     self.row_text =tkinter.StringVar() 

     self.row_text.set('Num of rows:') 

     row_label = tkinter.Label(
       master = self._root_window, textvariable = self.row_text, 
       background = 'yellow', height = 1, width = 10, font = DEFAULT_FONT) 

     row_label.grid(row=1, column = 0, padx = 10, pady=10, sticky = tkinter.W+tkinter.N) 

     return self.row.get() 


    def read_column(self) -> int: 

     self.column_text =tkinter.StringVar() 

     self.column_text.set('Num of columns:') 

     column_label = tkinter.Label(
       master = self._root_window, textvariable = self.column_text, 
       background = 'yellow', height = 1, width = 13, font = DEFAULT_FONT) 

     column_label.grid(row=1, column = 0, padx = 10, pady=50, sticky = tkinter.W+tkinter.N) 

     return self.column.get() 

答えて

1

row_label.grid(row=1, column = 0, padx = 10, pady=10, sticky = tkinter.W+tkinter.N) 

column_label.grid(row=1, column = 0, padx = 10, pady=50, sticky = tkinter.W+tkinter.N) 

いつグリッドの両方(1、0)で、もう一つは最初のを上書きします。代わりに、別の行/列の引数を使用してください:

row_label.grid(row=1, column = 0, padx = 10, pady=10, sticky = tkinter.W+tkinter.N) 

column_label.grid(row=2, column = 0, padx = 10, pady=50, sticky = tkinter.W+tkinter.N) 

もちろん、行/列を任意のインターフェイスに設定してください。

+0

私は新しい質問があります。私はread_rowの下にoptionmenusを追加していますが、optionmenuは定義されていません。 'option = OptionMenu(self.root_window、self.row、4,6,8,10,12,14,16) option.grid(行= 1、列= 1、padx = 10、pady = 10、sticky = tkinter.E + tkinter.N) return self.row.get() ' – accelerate

+1

@accelerateあなたは一般的に、新しい質問のために別の投稿を作成すべきです。それにもかかわらず、私はそれに答えようとすることができます - あなたは 'tkinter'をインポートしたようでしたので、' OptionMenu'の代わりに 'tkinter.OptionMenu'を使ってみてください。 –

関連する問題