Как запустить холст Tkinter в зависимости от главного окна Tkinter - PullRequest
0 голосов
/ 23 ноября 2018

Я новичок в программировании и в настоящее время пытаюсь создать программу, которая рисует графики для аффинных функций (функций в форме f (x) = ax + b) с библиотекой Python Tkinter.Я делаю класс с именем graph, но когда я хочу инициализировать объект canvas, он должен зависеть от фрейма.Как я могу инициализировать основной кадр и объект canvas внутри класса?Вот код:

class Graph:
    def __init__(self, a="", b="", dimensions=None, graduation=None, graph=tkinter.Tk(), graphing_area=tkinter.Canvas(graph, height=500, width=500)):
        self.a = a
        self.b = b
        self.dimensions = dimensions
        self.graduation = graduation
        self.graph = graph
        self.graphing_area = graphing_area

1 Ответ

0 голосов
/ 23 ноября 2018

Инициировать значения graph и graphing_area вне секции аргументов.Если вы хотите опцию установки графика в качестве функционального параметра, установите graph параметр на None по умолчанию и установите self.graph на graph только если значение отличается от None.

class Graph:
    def __init__(self, a="", b="", dimensions=None, graduation=None, graph=None):
        self.a = a
        self.b = b
        self.dimensions = dimensions
        self.graduation = graduation
        if not graph:
            self.graph = tkinter.Tk()
        else:
            self.graph = graph
        self.graphing_area = tkinter.Canvas(self.graph, height=500, width=500)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...