41 lines
1.4 KiB
Python
41 lines
1.4 KiB
Python
![]() |
import tkinter as tk
|
|||
|
from tkinter import ttk
|
|||
|
import pyperclip
|
|||
|
|
|||
|
|
|||
|
def create_ui(parent, run_callback):
|
|||
|
"""创建前端界面"""
|
|||
|
frame = ttk.Frame(parent)
|
|||
|
frame.grid(row=0, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))
|
|||
|
frame.columnconfigure(1, weight=1)
|
|||
|
|
|||
|
ttk.Label(frame, text="输入字符串 1:").grid(row=0, column=0, sticky=tk.W, pady=2)
|
|||
|
input_entry = ttk.Entry(frame)
|
|||
|
input_entry.grid(row=0, column=1, sticky=(tk.W, tk.E), pady=2)
|
|||
|
|
|||
|
ttk.Label(frame, text="输出结果 1:").grid(row=1, column=0, sticky=tk.W, pady=2)
|
|||
|
output_entry = ttk.Entry(frame, state="readonly")
|
|||
|
output_entry.grid(row=1, column=1, sticky=(tk.W, tk.E), pady=2)
|
|||
|
|
|||
|
def copy_output(event):
|
|||
|
output = output_entry.get()
|
|||
|
if output:
|
|||
|
pyperclip.copy(output)
|
|||
|
tk.messagebox.showinfo("提示", "输出已复制到剪贴板")
|
|||
|
|
|||
|
output_entry.bind("<Button-1>", copy_output)
|
|||
|
|
|||
|
def run():
|
|||
|
input_text = input_entry.get().strip()
|
|||
|
if not input_text:
|
|||
|
tk.messagebox.showerror("错误", "请输入字符串")
|
|||
|
return
|
|||
|
result = run_callback([input_text])
|
|||
|
output_entry.configure(state="normal")
|
|||
|
output_entry.delete(0, tk.END)
|
|||
|
output_entry.insert(0, result[0] if result else "")
|
|||
|
output_entry.configure(state="readonly")
|
|||
|
|
|||
|
ttk.Button(frame, text="运行脚本", command=run).grid(row=2, column=0, columnspan=2, pady=5)
|
|||
|
|
|||
|
return frame
|