1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python按按钮变颜色_当按钮单击时更改按钮颜色

python按按钮变颜色_当按钮单击时更改按钮颜色

时间:2023-09-16 14:11:36

相关推荐

python按按钮变颜色_当按钮单击时更改按钮颜色

我正在制作一个迷宫,用户可以输入尺寸,然后点击一个按钮将按钮的颜色改为黑色。我最终想要的是制作一个人工智能,它将试图在用户创建的迷宫中导航,而这个黑色矩形是人工智能不能继续的。

问题是我不知道如何更改按钮的属性,因为创建时使用了一个嵌套循环,它们都有相同的名称。在from tkinter import *

import tkinter as tk

from tkinter.ttk import Combobox,Treeview,Scrollbar

class MainMenu(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()

def create_GUI(self):

self.width_lbl = Label(self.frame1, 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.getdimensions_btn = Button(self.frame1, text = "enter dimensions",command = lambda:self.createmaze())

self.getdimensions_btn.grid(row = 1 , column = 3)

self.height_lbl = Label(self.frame1, text = "height:")

self.height_lbl.grid(row = 1 , column = 4)

self.height_txt = Entry(self.frame1)

self.height_txt.grid(row = 1, column = 5)

def createmaze(self):

width = int(self.width_txt.get())

height = int(self.height_txt.get())

for widthcount in range (width):

for heightcount in range(height):

self.maze_btn = Button(self.frame2, text = "",width = 4, height = 2)

self.maze_btn.grid(row = heightcount , column = widthcount)

self.maze_btn.bind("", self.disablebtn)

def disablebtn(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 = MainMenu(root)

root.mainloop()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。