2017-05-18 7 views
-1

ファイル、編集、およびメニューボタンについて、ドロップボタン付きのメニューバーを含むメニューバーを作成するコードを作成しました。Tkirnetモジュールを組み合わせる

File、Edit、Aboutボタンは、file.py edit.pyとabout.pyとして別々のモジュールを作成し、それらを1つのファイルにインポートしてモジュールを作成する方法を実行します。

from Tkinter import * 
    def donothing(): 
     filewin = Toplevel(root) 
     button = Button(filewin, text="Do nothing button") 
     button.pack() 

    root = Tk() 
    menubar = Menu(root) 
    filemenu = Menu(menubar, tearoff=0) 
    filemenu.add_command(label="Exit", command=root.quit) 
    menubar.add_cascade(label="File", menu=filemenu) 
    editmenu = Menu(menubar, tearoff=0) 
    editmenu.add_command(label="Setting", command=donothing) 
    menubar.add_cascade(label="Edit", menu=editmenu) 
    aboutmenu = Menu(menubar, tearoff=0) 
    aboutmenu.add_command(label="Help", command=donothing) 
    menubar.add_cascade(label="About", menu=aboutmenu) 
    root.config(menu=menubar) 
    root.mainloop() 
+0

あなたの質問では質問しませんでした。何が助けを必要としますか?実際に別のファイルにコードを入れてインポ​​ートしようとしましたか?そうでない場合、何があなたを止めていますか? –

+0

私は別のPythonモジュールでクラスを使用し、そのクラスをコードにインポートして、クラスから必要なものを呼び出すと思います。 –

+0

あなたは私がやったことをして、すべてを機能に入れることができます。私は、ユーザーが追加できるメニュー項目があるので、メニューを更新する必要があるときはいつでも関数を呼び出します。 –

答えて

0

ここでは、関数を使用してこれを行う方法を説明します。あなたは関数が別のPythonモジュールに移動され、関数をインポートすることができるようになりました。

3つのモジュール(file.py、edit.py、about.py)に関数がある場合、このようにインポートすることができます。

from tkinter import * 
from file import fileMenu 
from edit import editMenu 
from about import aboutMenu 

独立したファイルでいくつかの従属変数を処理する必要があることに注意してください。このようにすると、すべてのファイルにメニューバー(メニュー)(ルート)が必要になることに注意してください。

いくつかのテストの後、私はすべての機能を別のモジュールに移動し、問題なくインポートできました。私はこれをテストする関数しかインポートしませんでしたが、私はこれをすべてクラスに入れ、各メニュー項目を作成するためにクラス内の各メソッドを呼び出すことが最善であると信じています。