在Python Tkinter中交互更改布局

时间:2019-04-04 15:07:17

标签: python matplotlib tkinter

我试图基于图论(数学)用Python制作一个交互式游戏(桌面应用程序)。我已经设法绘制了图形,下一步我想实现的是,每当我单击“下一步”按钮时,我的当前图形都将被删除,程序将在同一图形上创建并绘制一个新图形。帆布。另一个问题是图应该是交互式的(这就是为什么我需要那些主循环)。

    def play(self):

        self.button_start.pack_forget()
        self.canvas.draw()
        self.canvas.get_tk_widget().pack(side=BOTTOM, fill=BOTH, expand=True)

        total_nodes = randint(4, 5)
        graph = np.array([[0 if random() < 0.3 or j <= i else 1 for i in range(total_nodes)] for j in range(total_nodes)])


        plot_instance = netgraph.PlayableGraph(graph) # this will automatically draw the graph

        def nextGraph(plot_instance):
            plot_instance.deleteGraph()
            total_nodes = randint(4, 5)
            graph = np.array(
                [[0 if random() < 0.3 or j <= i else 1 for i in range(total_nodes)] for j in range(total_nodes)])
            plot_instance = netgraph.PlayableGraph(graph)

            # process plot_instance...

            mainloop()

        self.button_next.pack(padx=15, pady=15)
        self.button_next.config(command=nextGraph(plot_instance))

        mainloop()

现在可以使用的是:我看到了“开始”按钮。按下时,将忘记其包装,并在其位置出现“下一步”按钮。我的图将被绘制,但是可以看到一个闪烁,在其中绘制了一个图,然后将其删除,然后再次绘制(新图,应该与第一个图不同)。但是,当我按“下一步”按钮时,什么也不会发生。我敢肯定有解决这个问题的方法,但是我还不太清楚。

Screenshot

0 个答案:

没有答案