2017-07-14 8 views
-6

で定義されていない私はpythonでTkinterのライブラリを使用してプログラムを作成しようとしていますが、それはは、メニューバーのpython

NameError ---ことを示すエラーを与える:名「メニューバー」が

import tkinter 
import sys 


def hey(): 
    print("hello") 


def myNew(): 
    mlabel = Label(root,text="yo").pack() 



root = tkinter.Tk() 
root.title("Wizelane") 

root.geometry('400x80+350+340') 
filemenu = tkinter.Menu(menubar, tearoff=0) 
filemenu.add_command(label="New",command=myNew) 

label = tkinter.Label(root,text="say hello") 
label.pack() 
hello = tkinter.Button(root,text="hello",command=hey) 
hello.pack() 
root.mainloop() 
+0

ここでチェックhttps://www.tutorialspoint.com/python/tk_menu.htm – babygame0ver

+0

(root.mainloop前root.config(メニュー=メニューバー)の行を追加します)。それは働くかもしれない – babygame0ver

+3

ここで何が起こると思いますか?変数 'menubar'を定義する必要があります。 –

答えて

0

が定義されていません。ここで重要な部分が欠落しています。

メニューを最初に設定し、カスケードラベルを追加する必要があります。

このコードを見てください。

import tkinter 

def hey(): 
    print("hello") 

def myNew(): 
    # you forgot to use tkinter.Label here. 
    mlabel = tkinter.Label(root, text="yo").pack() 


root = tkinter.Tk() 
root.title("Wizelane") 
root.geometry('400x80+350+340') 

my_menu = tkinter.Menu(root) 

# configure root to use my_menu widget. 
root.config(menu = my_menu) 

# create a menu widget to place on the menubar 
file_menu = tkinter.Menu(my_menu, tearoff=0) 

# add the File cascade option for drop down use 
my_menu.add_cascade(label = "File", menu = file_menu) 

# then add the command you want to add as a File option. 
file_menu.add_command(label="New", command = myNew) 

label = tkinter.Label(root, text="say hello") 
label.pack() 

hello = tkinter.Button(root, text="hello", command = hey) 
hello.pack() 

root.mainloop() 
関連する問題