【问题标题】:Get variable of radio button with right click右键单击获取单选按钮的变量
【发布时间】:2018-03-18 09:30:43
【问题描述】:

我试图在 tkinter 中单击右键时获取单选按钮的值,但我只返回左键单击的最后一个值。这是我的代码,请帮忙。

from tkinter import *

master=Tk()
master.geometry("600x650")


def rightclick(event):
    print (number.get())

def leftclick(event):
    global left,right
    print (number.get())

row = -1
number=IntVar()

for w in range (10**2):
    column =w
    if w % 10==0:
        row +=1
    column-=row*10


    button=Radiobutton(master,padx=25,pady=18.35,variable=number ,bg= "green",indicatoron=0, value=w)
    button.bind("<Button-3>",rightclick)
    button.bind("<Button-1>", leftclick)

    button.grid(row=row,column=column)

【问题讨论】:

  • 这可能需要mainloop() 才能独立运行。

标签: python-3.x tkinter radio-button right-click


【解决方案1】:

替换:

def rightclick(event):
    print (number.get())

...

    button.bind("<Button-3>",rightclick)

与:

def rightclick(widget):
    print(widget['value'])

...

    button.bind("<Button-3>", lambda e, w=button: rightclick(w))

这使得在单击鼠标最右边的按钮时会调用匿名引用(lambda)。该匿名引用有两个参数,e 作为事件参数,w 作为小部件对象参数。然后它使用小部件参数调用子函数rightclickrightclick 然后打印 valuewidget 它被传递到屏幕。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-18
    • 2010-11-10
    相关资源
    最近更新 更多