大佬教程收集整理的这篇文章主要介绍了按下了列表中的哪个按钮?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的窗口中有一个按钮,按下时会创建另一个按钮。我保留了添加的按钮列表。按钮的创建使用相同的方法,因此每个按钮使用相同的命令:
def addMacro(self):
# find the CAN pane
for i,s in enumerate(self.objectPanes):
if str(s).find('.can') != -1:
canPane = self.objectPanes[i]
# Create the message List
messages = []
func = messageData[self.messagename.get()][2]
if func != "InvalID message number":
addresses = self.getAddresses()
# Form the message. If too long,it will return multiple packets
messages = func(canPane.ch0[0],int(messageData[self.messagename.get()][1]),addresses,self.var,self.funcVars,'macro')
print('Macro messages = ',messages)
for msg in messages:
messageComplete,link,message,parsed,mname,parsedIDentifIEr,messageTime,IDentifIEr = \
manageFilterlinks(msg,self.messageList,self.bits)
#i = len(self.macrobuttons) - 1
# Create the new button
self.macrobuttons.append([tk.button(master=self.macroBtnFrame,text=self.messagename.get(),command=self.macroClick),IDentifIEr,message])
# Bind right click to the button
i = len(self.macrobuttons) - 1
self.macrobuttons[i][0].bind('<button-3>',self.macroRightClick)
# Place the button(s) in a grID
x = 0
y = 0
for macro in self.macrobuttons:
macro[0].grID(row=x,column=y,padx=(5,0),pady=(5,0))
y += 1
if y == 5:
y = 0
x += 1
按下任何创建的按钮时调用的方法是macroClick:
def macroClick(self):
print('Macro Click')
print('Self = ',self)
print('Macro Children = ',self.macroBtnFrame.children)
for btn in self.macrobuttons:
print(btn)
if btn[0] == self:
print('Send message: ',btn[1],btn[2])
此方法中的代码目前仅用于测试。我希望能够访问按钮列表 self.macrobuttons,以获取在方法 addMacro() 中使用这行代码添加的添加参数(标识符和消息):
self.macrobuttons.append([tk.button(master=self.macroBtnFrame,message])
我遇到的问题是我不知道点击了网格中的哪个按钮,所以我不知道要从列表中的哪个项目中绘制。
有什么想法吗?
谢谢,
瑞克
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的按下了列表中的哪个按钮?全部内容,希望文章能够帮你解决按下了列表中的哪个按钮?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。