Найти - Пользователи
Полная версия: Tkinter - Диалоговое окно - Ошибка
Начало » GUI » Tkinter - Диалоговое окно - Ошибка
1
Bujhm666
Пытаюсь создать диалоговое окно и при попытке вызова получаю ошибку:
AttributeError: ‘App’ object has no attribute ‘tk’

# -*- coding: utf-8 -*-


from Tkinter import *
import ttk

class Test_Dialog(Toplevel):
def __init__(self, parent):
Toplevel.__init__(self, parent)
self.parent = parent
self.transient(self.parent)

frame = Frame(self)

lab = ttk.Label(frame, justify="left", anchor="n",
text="Мой техт")

lab.grid(row=0, column=0, padx=10, pady=5, sticky=E)
frame.grid(row=0, column=0, sticky=NSEW)

class App(object):
def __init__(self):
self.tool = ttk.Frame()
self.tool.pack(anchor = NW)

self.btn = ttk.Button(self.tool, text= u"Добавить", command=self._add_record)
self.btn.pack(side = LEFT)

def _add_record(self, event=None):
win = Test_Dialog(self)


if __name__ == "__main__":
root = Tk()
app = App()
root.mainloop()
regall
В следующей строчке вы передаете в констурктор экземпляр класса App, и он же parent для вашего нового фрейма. Но… Tkinter не понимает, что это за объект, и как он может быть parent'ом его объектов.
win = Test_Dialog(self)
Попробуйте так:
win = Test_Dialog(self.tool)
Bujhm666
Большое спасибо, так действительно работает.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB