正在建造迷宫。 用户可以输入大小,然后单击按钮将按钮颜色更改为黑色。 最终想要的是创造人工智能。 尝试在用户创建的迷宫中导航。 这个黑色的矩形人工智能不能继续下去。
问题是它是使用嵌套循环创建的,因此不知道如何更改按钮的属性。 它们有同样的名字。 来自tkinter import *
import tkinter as tk
from tkinter.ttk import Combobox,Treeview,Scrollbar
类主菜单(frame ) :
def __init__(self,master ) :
' ' Initialize the frame.' ' ' '
super(mainmenu,self )._ _ init _ (master ) )。
self.grid (
self.frame1=tk.labelframe(self,text='entering diemsions ',width=300,height=130,bd=5) )。
self.frame1.grid(row=0,column=0,columnspan=3,padx=8) )。
self.frame2=tk.labelframe(self,text='creating maze ',width=300,height=130,bd=5) ) ) ) )。
self.frame2.grid(row=1,column=0,columnspan=3,padx=8) )。
self.create_GUI (
efcreate_GUI(self ) :
self.width _ LBL=label (self.frame 1,text='width: ' ) ) ) )。
self.width_LBL.grid(row=1,column=1) ) ) ) )。
self.width _ txt=entry (self.frame1)
self.width_txt.grid(row=1,column=2) ) ) ) ) )。
self.get dimensions _ BTN=button (self.frame 1,text='enter dimensions ',command=lambda 3360 self.create maze ) )
self.get dimensions _ BTN.grid (row=1,column=3) ) )。
self.height _ LBL=label (self.frame 1,text='height: ' ) ) )。
self.height_LBL.grid(row=1,column=4) ) ) ) ) )。
self.height _ txt=entry (self.frame1)
self.height_txt.grid(row=1,column=5) ) )。
默认掩码(self ) :
idth=int(self.width_txt.get ) )
height=int(self.height_txt.get ) )
forwidthcountinrange(width ) :
forheightcountinrange(height ) :
self.maze _ BTN=button (self.frame 2,text=',width=4,height=2) ) ) ) ) ) ) ) ) ) ) )。
self.maze _ BTN.grid (row=height count,column=widthcount ) )。
self.maze_btn.bind (',self.disablebtn ) )。
defdisableBTN(self,event ) :
grid _ info=event.widget.grid _ info ()
col=grid_info['column']
col=int(col )
row=grid_info['row']
row=int(row )
root=Tk ()
root.title('hi ) ) ) )。
root.geometry(500x500 ) )
root.configure(BG='white ' ) )。
app=主菜单(root )
root.mainloop (