56 lines
2.0 KiB
Python
56 lines
2.0 KiB
Python
import tkinter as tk
|
|
from tkinter import ttk, filedialog, messagebox, scrolledtext
|
|
|
|
from core.ui.basic_ui import BasicUI
|
|
from core.Function.tracert_fun import TracertFun
|
|
|
|
import logging
|
|
logger = logging.getLogger(__name__)
|
|
|
|
class TracertTab(ttk.Frame, BasicUI):
|
|
def __init__(self, parent):
|
|
super().__init__(parent)
|
|
self.tracert_ui()
|
|
self.tracert_fun = TracertFun(self.result_box)
|
|
|
|
def tracert_ui(self):
|
|
"""tracert界面布局"""
|
|
self.create_targetadd_section()
|
|
|
|
self.create_output_section()
|
|
# --------------------------------------UI界面布局函数--------------------------------------
|
|
def create_targetadd_section(self):
|
|
# 区域标签
|
|
frame = ttk.LabelFrame(self, text="追踪目标地址")
|
|
frame.pack(side='top', fill='x', padx=10, pady=5)
|
|
|
|
self.entry_tracert_add = self.add_input(frame, "目标地址", row=0, col=0, entry_width=40, inivar="202.89.233.100")
|
|
self.but_tracert_start = self.add_button(frame, "开始追踪", row=0, col=1, width=8, command=self.tracert_start_callback)
|
|
self.but_tracert_stop = self.add_button(frame, "停止追踪", row=0, col=2, width=8, command=self.tracert_stop_callback)
|
|
|
|
def create_output_section(self):
|
|
# 区域标签
|
|
frame = ttk.LabelFrame(self, text="结果输出")
|
|
frame.pack(side='top', fill='x', padx=10, pady=5)
|
|
|
|
self.result_box = scrolledtext.ScrolledText(frame, width=100, height=25)
|
|
self.result_box.pack(pady=10)
|
|
# --------------------------------------按钮回调函数--------------------------------------
|
|
def tracert_start_callback(self):
|
|
"""开始追踪按钮回调"""
|
|
target = self.entry_tracert_add['var'].get()
|
|
if not target:
|
|
messagebox.showwarning("输入错误", "请输入目标地址!")
|
|
return
|
|
self.tracert_fun.start_tracert(target)
|
|
|
|
def tracert_stop_callback(self):
|
|
"""停止追踪按钮回调"""
|
|
self.tracert_fun.stop_tracert()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|