Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 访问帧Tkinter中的按钮_Python_Button_Tkinter - Fatal编程技术网

Python 访问帧Tkinter中的按钮

Python 访问帧Tkinter中的按钮,python,button,tkinter,Python,Button,Tkinter,目前,这是计划的一部分: self.tabs = Notebook(root) self.tabs.grid(column=0, row=0) self.frame1 = Frame() self.frame2 = Frame() self.frame3 = Frame() self.frame4 = Frame() self.frame5 = Frame() self.frame6 = Frame() self.framemain = Frame() self.framemain.gri

目前,这是计划的一部分:

self.tabs = Notebook(root)
self.tabs.grid(column=0, row=0)   
self.frame1 = Frame()
self.frame2 = Frame()
self.frame3 = Frame()
self.frame4 = Frame()
self.frame5 = Frame()
self.frame6 = Frame()
self.framemain = Frame()
self.framemain.grid(column=1, row=0)

def buttonCreate(frameCount):
    buttonhatsforward = Button(self.frame1, image=self.forwardrender, command=select.buttonHatsForwardClicked).grid(column=3, row=0)
    button1 = Button(frameCount, text = "hello")
    button1.grid(column=0, row=1, sticky=W)
    button2 = Button(frameCount, text = "hello")
    button2.grid(column=1, row=1, sticky=W)
    button3 = Button(frameCount, text = "hello")
    button3.grid(column=2, row=1, sticky=W)
    button4 = Button(frameCount, text = "hello")
    button4.grid(column=3, row=1, sticky=W)
    button5 = Button(frameCount, text = "hello")
    button5.grid(column=4, row=1, sticky=W)

    button6 = Button(frameCount, text = "hello")
    button6.grid(column=0, row=2, sticky=W)
    button7 = Button(frameCount, text = "hello")
    button7.grid(column=1, row=2, sticky=W)
    button8 = Button(frameCount, text = "hello")
    button8.grid(column=2, row=2, sticky=W)
    button9 = Button(frameCount, text = "hello")
    button9.grid(column=3, row=2, sticky=W)
    button10 = Button(frameCount, text = "hello")
    button10.grid(column=4, row=2, sticky=W)

    button11 = Button(frameCount, text = "hello")
    button11.grid(column=0, row=3, sticky=W)
    button12 = Button(frameCount, text = "hello")
    button12.grid(column=1, row=3, sticky=W)
    button12 = Button(frameCount, text = "hello")
    button13.grid(column=2, row=3, sticky=W)
    button13 = Button(frameCount, text = "hello")
    button13.grid(column=3, row=3, sticky=W)
    button14 = Button(frameCount, text = "hello")
    button14.grid(column=4, row=3, sticky=W)

buttonCreate(self.frame1)
buttonCreate(self.frame2)
buttonCreate(self.frame3)
buttonCreate(self.frame4)
buttonCreate(self.frame5)
buttonCreate(self.frame6)


self.tab1 = self.tabs.add(self.frame1, text="tab1")
self.tab2 = self.tabs.add(self.frame2, text="tab2")
self.tab3 = self.tabs.add(self.frame3, text="tab3")
self.tab4 = self.tabs.add(self.frame4, text="tab4")
self.tab5 = self.tabs.add(self.frame5, text="tab5")
self.tab6 = self.tabs.add(self.frame6, text="tab6")

这样做的目的是制作一个框架,向其中添加按钮,然后将其添加到一些选项卡。问题是,例如,当我执行
self.button1.config(text=“cookie”)
时,它指的是最后一帧。我怎样才能让我可以分别访问每个按钮?

@TigerhawkT3,谢谢你让我跳出框框思考。我冲了个澡,然后意识到我可以做:
返回(button1,button2,button3,button4,button5,button6,button7,button8,button9,button10,button11,button12,button13,button14)
,然后将我的
buttonCreate
函数修改为
a=buttonCreate(self.frame1)
,最后是
a[2]。配置(text=“cake”,化合物=左)


虽然返回14个按钮不是一个好主意,但我会继续努力使它更苗条、更整洁。很遗憾你没有留下答案,我会投票给你的(

没有足够的代码继续。是否
buttonCreate
是类的一部分?它没有
self
参数。请给出一个MCVE:Done.
buttonCreate
是我用来向每个帧添加按钮的,如下所示
buttonCreate(self.frame1)
将其添加到第一帧,
buttonCreate(self.frame2)
将其添加到第二帧等。理想情况下,我希望能够使用类似于
self.frame1.button1.config(text=“hello”)的内容来控制每个按钮
。我确信您的示例既不完整也不简单……这是涉及函数作用域的基本问题。请研究如何从函数返回对象并保存对这些对象的引用。