2016-05-25 25 views
-7

私はPythonコード用のグラフィックスウィンドウを作成しようとしていましたが、ボタンを追加する方法はわかりません。ウェブサイトを見ていて、それは私のエディション(3.2.3 )私は今いくつかのコードを持っている、これに何か問題はありますか?GUI PythonのTkinterコード

import tkinter 
import tkinter as tk 
root = tk.Tk() 
root.title("Adventure game") 
root.geometry("1820x1000") 
root.mainloop() 
class Window(Tk): 
    def __init__(self, parent): 
     Tk.__init__(self, parent) 
     self.parent = parent 
     self.initialize() 

    def initialize(self): 
     self.geometry("600x400+30+30") 
     wButton = Button(self, text='start', command = self.OnButtonClick()) 
     wButton.pack() 

     def OnButtonClick(self): 
      top = Toplevel() 
      top.title("title") 
      top.geometry("300x150+30+30") 
      topButton = Button(top, text="OPTION_1", command = self.OnButtonPress()) 
      topButton = Button(top, text="OPTION_2", command = self.OnButtonPress()) 
      topButton.pack() 

      def OnButtonPress(self): 
       top = Toplevel() 
       top.title("title") 
       top.geometry("300x150+30+30") 
       topButton = Button(top, text="OPTION_1", command = self.destroy) 
       bottomButton = Button(top, text="OPTION_2", command = self.destroy) 
       topButton.pack() 
+0

* "これに何か問題はありますか?" * - なぜあなたにお尋ねしますか?あなたはそれを試しましたか?それは*働いていますか? – jonrsharpe

+0

いいえ、それは何か助けが必要であることを暗示しています。 – Luke

+1

...何ですか?あなたの質問は何ですか? [ask]を読んで、これを実際の問題が何であるかを示す[mcve]にカットしてください。 – jonrsharpe

答えて

2

あなたのポストされた質問に答える "これで何か問題はありますか?":

かいつまんはい、あり

まず、字下げはとなります。あなたの実際のコードではなく、あなたの投稿のみに表示されているはずです。

第2に、tkinterライブラリをインポートして使用する方法です。

  • import tkinter VS import tkinter as tk

    それらのいずれかを使用して行ってください。両方ではありません。あなたが輸入に基づいてのTkにはアクセスできませんよう

  • class Window(Tk):

    これはエラーを与える必要があります。以前の決定に基づいてclass Window(tkinter.Tk):またはclass Window(tk.Tk):のいずれかです。

    コード内で使用するすべてのtkinter参照に同じアクションが適用されます。

これを解決する別の方法はありますか? - はい

from tkinter import *あなたは直接class Window(Tk):になるように名前にアクセスできます。

私はそれ以前に教えてくれませんでしたか?

ライブラリを最初からすべてインポートできます。そうするべきか? IMHOはできるだけ多くの依存関係を避けるべきです。どうして?これは、コードをより軽量かつ転送可能にするためです。自分のコードで使用されていないものをインポートするのはなぜですか?

tkinterのドキュメントを慎重に読んでください。言及されたmartineauのように、何千もの "コードベース"が何千もあり、すべての可能な形式の書類(書籍、電子書籍、論文、オンラインチュートリアル...)

pythonのドキュメントを読んでください。少なくとも、特定の部品に問題が発生したとき。

新しい質問を投稿する前にQ & Aをご覧ください。同じ目標を目指した質問は、SOだけの数十話で利用できます。

いくつかの例:

は、すべてのこれらの質問は、彼らが心の中で同じ質問を持っていない場合でも、あなたが使用できる例を与えます。これらの質問は、自分の利益のために使用できるコード例を提供します。

+0

あなたは答えをアップアップする必要があるが、質問をdownvoteする必要があるときの気持ち... –