Я пытаюсь перенести проект 2to3 на python и застрял в tkinter.
В python2 нет проблем с добавлением строки меню в Frame в tkinter,
, но python3произошла ошибка атрибута.(Объект Frame не имеет атрибута 'tk_menuBar')
Есть ли различия между python2 и python3 в добавлении строки меню в Frame в tkinter?
class TkMap(Map, tkinter.Tk):
""" Map with Tkinter GUI functions """
def __init__(self, cols, rows, value,
width, height, widthMM, heightMM,
title, menu = None, keybindings = []):
""" TkMap extends Map and Tkinter """
Map.__init__(self, cols, rows, widthMM, heightMM)
tkinter.Tk.__init__(self)
self.title(title)
if menu == None:
menu = [('File',[['Exit',self.destroy]])]
keybindings.append( ("<Configure>", self.changeSize))
self.menuButtons = {}
self.debug = 0
self.application = 0
self.width = width
self.height = height
self.colScale = self.width / self.cols
self.rowScale = self.height / self.rows
self.addMenu(menu)
def addMenu(self, menu):
""" Create a menu """
self.mBar = tkinter.Frame(self,relief=tkinter.RAISED,borderwidth=2)
self.mBar.pack(fill=tkinter.X)
*for entry in menu:
self.mBar.tk_menuBar(self.makeMenu(self.mBar, entry[0],entry[1]))*
self.mBar.pack(side = "top")
PS.Это мой первый вопрос, поэтому я буду признателен, если вы укажете на мою ошибку в отношении плохих манер.