使用tkinter Python在单击时激活函数

使用tkinter Python在单击时激活函数,python,python-3.x,tkinter,nmap,Python,Python 3.x,Tkinter,Nmap,我有一个创建单选按钮的功能: def scan_networks(): net_scan = nmap.PortScanner() net_scan.scan(hosts='10.0.0.0/24', arguments='-sn') network_scan_window = Tk() for i, host in enumerate(net_scan.all_hosts()): targetable_hosts_label = Label(te

我有一个创建单选按钮的功能:

def scan_networks():
    net_scan = nmap.PortScanner()
    net_scan.scan(hosts='10.0.0.0/24', arguments='-sn')
    network_scan_window = Tk()
    for i, host in enumerate(net_scan.all_hosts()):
        targetable_hosts_label = Label(text="Targetable Hosts:").grid(row=0)
        hosts_radio = Radiobutton(network_scan_window, value=host, text=host).grid(row=1, column=i)
    network_scan_window.mainloop()
我需要调用一个函数时,点击其中一个主机广播与它的主机

假设函数返回了一组具有不同ip的单选按钮 我需要使用单选按钮值的参数调用函数x。使用时,应使用a将单选按钮分组并跟踪当前值。您可以使用Radiobutton的
命令
选项,在进行选择时调用函数,并获取变量值以获取当前选择:

import tkinter as tk

def callback():
    print(v.get())

root = tk.Tk()

list = ['one', 'two', 'three']

v = tk.StringVar()
v.set(list[0])

for value in list:
    tk.Radiobutton(root, value=value, text=value, variable=v, command=callback).pack()

root.mainloop()

所以“v”是组的名称,v.get是值?我用命令解决了这个问题,它执行了我的功能,谢谢
v
StringVar
对象。与
变量
具有相同对象的所有单选按钮都在同一“组”中,这意味着一次只能选择其中一个单选按钮。您可以使用
v.get()
获取
v
的当前值,但也可以使用
v.set('two')
之类的内容更改选定的单选按钮。您应该能够从我链接的两个页面中获得所需的大部分信息。