2016-11-04 40 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() 

我似乎無法工作這個.py文件,我是新編碼與python,我已經問了,看,但我似乎無法找到答案。我試圖做一個類中有一個菜單,但錯誤似乎總是說因爲你的框架已經爲0x0的默認大小「自我沒有定義」tkinter Python 3菜單錯誤 - 沒有加載?

感謝

+0

請不要把你的代碼的引擎收錄並鏈接到它。如果你不願意投入一小部分時間來完成一個合適的職位,爲什麼我們願意花時間回答?請閱讀[如何創建一個最小,完整和可驗證的示例](http://www.stackoverflow.com/help/mcve)(MCVE) –

+0

我不知道如何發佈它像其他人一樣?抱歉。 –

+0

然後學習。 Stackoverflow有大量的幫助可用。只需將代碼粘貼到問題中,突出顯示代碼,然後單擊看起來像「{}」的按鈕。 –

回答

0

你看什麼,因爲有裏面沒什麼。

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

應使其可見。此外,我建議您讓AppUI類繼承TkToplevel而不是Frame,以便您可以直接使用self.configure(menu=self.menubar)來顯示菜單。

此外,def OpenFile():def OpenFile(self):更換,否則,當你調用self.OpenFile()(以及同樣如此NewFile),你會得到錯誤TypeError: OpenFile() takes 0 positional arguments but 1 was given