使用 tkinter 单击激活功能 Python

Activating function on click with tkinter Python

我有一个创建单选按钮的函数:

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

使用 Radiobuttons, you should use a variable 将单选按钮组合在一起并跟踪当前值时。您可以使用 Radiobutton 的 command 选项在进行选择时调用函数并获取变量的值以获取当前选择:

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()