2016-11-04 5 views
-1
import sys 
import time 
import tkinter 
from tkinter import * 
import tkinter.messagebox as tm 
from tkinter.filedialog import * 
from sys import exit 

class AppUI(Frame): 

    def __init__(self, master=None): 
     Frame.__init__(self, master, relief=SUNKEN, bd=2) 

     self.menubar = Menu(self) 

     filemenu = Menu(self.menubar, tearoff=0) 
     filemenu.add_command(label="New", command=self.NewFile) 
     filemenu.add_command(label="New", command=self.OpenFile) 
     self.menubar.add_cascade(label="File", menu=filemenu) 

     menu = Menu(self.menubar, tearoff=0) 
     self.menubar.add_cascade(label="Edit", menu=menu) 
     menu.add_command(label="Cut") 
     menu.add_command(label="Copy") 
     menu.add_command(label="Paste") 

    def OpenFile(): 
     name = askopenfilename 
     askopenfilename() 

    def NewFile(): 
     tm.showerror("ERROR", "Cannot Open New File!") 

     try: 
      self.master.config(menu=self.menubar) 
     except AttributeError: 
      self.master.tk.call(master, "config", "-menu", self.menubar) 

     self.canvas = Canvas(self, bg="white", width=400, height=400, 
          bd=0, highlightthickness=0) 
     self.canvas.pack() 


root = Tk() 

app = AppUI(root) 
app.pack() 

root.mainloop() 

私はこのpythonファイルを扱うことができません。私はPythonでコーディングするのは新しいです、私は尋ねてみましたが、答えを見つけることができません。私はそれのメニューを使用してクラスを作成しようとしましたが、エラーが常に言っているようだtkinter Python 3メニューエラー - 何も読み込まれませんか?

おかげ

+0

あなたのコードをpastebinに載せてリンクしないでください。あなたが適切な投稿をするのにかかるわずかな時間を投資する意思がないなら、なぜそれに答える時間を取るべきですか?他の人と同様に、投稿する方法がわかりません。どうすればよいですか?[最小、完全、および検証可能な例を作成する方法](http://www.stackoverflow.com/help/mcve) –

+0

ごめんなさい。 –

+0

それから学ぶ。 Stackoverflowには数多くのヘルプがあります。質問にコードを貼り、コードを強調表示し、 '{}'のようなボタンをクリックしてください。 –

答えて

0

を「自己定義されていない」があるので、あなたのフレームは、0x0のデフォルトの大きさを持っているので、あなたは何を見ていません中には何もない。

Frame.__init__(self, master, relief=SUNKEN, bd=2, width=200, height=200) 

を表示する必要があります。さらに、AppUIクラスをTkまたはToplevelからFrameの代わりに継承し、self.configure(menu=self.menubar)を直接使用してメニューを表示することをお勧めします。

また、def OpenFile():はあなたがself.OpenFile()を呼び出して(と同じことがNewFileのために真である)とき、そうしないと、エラーTypeError: OpenFile() takes 0 positional arguments but 1 was givenを取得しますdef OpenFile(self):に置き換える必要があります。

関連する問題