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”)的内容来控制每个按钮
。我确信您的示例既不完整也不简单……这是涉及函数作用域的基本问题。请研究如何从函数返回对象并保存对这些对象的引用。