0

我必须显示一些wireshark数据包,用户可以选择特定的数据包来查看信息。为此,我使用了一个名为 SelectedFilterSearch() 的函数来显示所选过滤器的数据包。

用户将从 Spinbox 中选择特定的数据包,当数据包的数量大于零时,它将显示一个命令按钮来显示。我无法获得 spinbox 选择的值。任何人都可以帮忙吗?下面是我的代码。我没有使用类。

def SelectedFilterSearch():
    cap = pyshark.FileCapture(pktfname.get(), display_filter= fltrname.get())

def display():
    print(selectedspin.get())

numpkts = 0

for i in cap:
    numpkts = numpkts + 1
if numpkts < 1:
    messagebox.showerror("Error", "Selected filter not available")
else:
    dispString = "There are " + str(numpkts) + " packet available. Please select a packet to display"
    selectedspin = Spinbox(top_right, from_=0, to=numpkts, width=3).grid(row=4, column=10)
    TFLDisplayLpkts = tkinter.Label(top_right, font=("Courier", 9), text=dispString, background="cyan").grid(row=3, column=10)
    TFLDisplayB = tkinter.Button(top_right, text = "Display", command = display).grid(row=5, column=10)
4

1 回答 1

0

在我看来,您可以创建变量来存储选定的值。看看我是如何处理这个问题的。

def display():
    print(my_spinbox_var.get())
my_spinbox_var=IntVar()
my_spinbox=Spinbox(top_right,from_0,to=numpkts,width=3,textvariable=my_spinbox_var)
my_spinbox.grid(row=4,column=10)

请不要犹豫与我联系。

罗伯特

于 2020-03-31T08:48:31.700 回答