如上图所示
现有的源代码,请问如何修改成我需要的样子
import threading
import tkinter as tk
from datetime import datetime
from tkinter import ttk
from 根据系统单号打印单个标签v2 import print_label_v2
root = tk.Tk()
root.title('小助手 v0.0.2')
root.geometry('650x500+100+100')
"""左边布局"""
left_frame = tk.Frame(root)
left_frame.pack(side=tk.LEFT, anchor=tk.N, padx=5, pady=5)
"""左边布局 标签打印"""
net_frame = tk.LabelFrame(left_frame, text='标签打印', padx=5, pady=5)
net_frame.pack()
tk.Label(net_frame, text='(1)订单状态').pack(anchor=tk.W)
socket_type = ttk.Combobox(net_frame)
socket_type['values'] = ['打单配货', '批量称重']
socket_type.current(0)
socket_type.pack(anchor=tk.W)
tk.Label(net_frame, text='(2)查询范围').pack(anchor=tk.W)
socket_host = ttk.Combobox(net_frame)
socket_host['values'] = ['7日内', '30日内']
socket_host.current(0)
socket_host.pack(anchor=tk.W)
tk.Label(net_frame, text='(3)打印数量').pack(anchor=tk.W)
socket_host = ttk.Combobox(net_frame)
socket_host['values'] = ['1', '2', '3', '4', '5', '6']
socket_host.current(1)
socket_host.pack(anchor=tk.W)
tk.Label(net_frame, text='(4)系统单号').pack(anchor=tk.W)
entry_port = ttk.Entry(net_frame)
entry_port.pack(fill=tk.X)
# 获取文本框输入
def getTextInput():
result = entry_port.get() # 获取文本输入框的内容
print(result) # 输出结果
# 获取打印标签数量
def getPrintNum():
print_num = socket_host.get()
return print_num
def thread_it(func, *args, on_finished=None):
"""将函数打包进线程"""
def wrapped_func():
# 调用函数并获取返回值
result = func(*args)
# 如果提供了on_finished回调函数,则调用它并将返回值传递给它
if on_finished:
on_finished(result)
# 创建线程
t = threading.Thread(target=wrapped_func)
# 设置守护线程
t.daemon = True
# 启动线程
t.start()
# 当按钮被点击的时候执行click_button()函数
def click_button(print_num):
result = entry_port.get().strip('\n').strip() # 获取文本输入框的内容
print(result, type(result)) # 输出结果
# 限制按钮在程序运行中不能重复点击
global print_button
print_button.config(state=tk.DISABLED)
close_button.config(state=tk.DISABLED)
global send_area
if result.find('XD') != -1:
print_label_v2(trade_no=result, print_num=print_num)
send_area.insert(tk.END,
f'>>>{datetime.now().strftime("%Y-%m-%d %H:%M:%S")}\t系统单号:{result}已打印\n')
entry_port.delete(0, 999)
else:
send_area.insert(tk.END, f'请输入正确的系统单号!\n')
print_button.config(state=tk.NORMAL)
close_button.config(state=tk.NORMAL)
# 按钮
button_frame = tk.Frame(net_frame)
button_frame.pack()
print_button = tk.Button(button_frame, text='打印', bg='#7CCD7C',
command=lambda: thread_it(click_button, getPrintNum()))
close_button = tk.Button(button_frame, text='忽略')
print_button.pack(side=tk.LEFT)
close_button.pack(side=tk.RIGHT)
"""左边布局 使用说明"""
recv_frame = tk.LabelFrame(left_frame, text='使用说明', padx=5, pady=5)
recv_frame.pack(side=tk.TOP, anchor=tk.N, fill=tk.X)
tk.Radiobutton(recv_frame, text='方式1:勾选待打单>打印').pack(anchor=tk.W)
tk.Radiobutton(recv_frame, text='方式2:输入单号>打印').pack(anchor=tk.W)
"""右边布局"""
right_frame = tk.Frame(root)
right_frame.pack(side=tk.TOP, padx=5, pady=5)
info_frame = tk.Frame(right_frame)
info_frame.pack()
tk.Label(info_frame, text='待打印订单').pack(anchor=tk.W)
#
# text_pad = tk.Text(info_frame, width=62)
# text_pad.pack(side=tk.LEFT, fill=tk.X)
# send_text_bar = tk.Scrollbar(info_frame)
# send_text_bar.pack(side=tk.RIGHT, fill=tk.Y)
"""待打印订单列表"""
class Checklist(tk.Frame):
def __init__(self, master, options):
super().__init__(master)
self.vars = []
for option in options:
var = tk.BooleanVar(value=False)
item = tk.Checkbutton(self, text=option, variable=var)
item.pack(side="top", anchor="w")
self.vars.append(var)
def state(self):
return [var.get() for var in self.vars]
class App(tk.Frame):
def __init__(self, master):
super().__init__(master)
self.options = ["option 1", "option 2", "option 3", "option 4", "option 5", "option 1", "option 2", "option 3",
"option 4", "option 5"]
self.checklist = Checklist(self, self.options)
self.checklist.pack(side="left", fill="x", expand=True)
# self.button = tk.Button(self, text="Submit", command=self.submit)
# self.button.pack(side="bottom")
def submit(self):
print(self.checklist.state())
app = App(info_frame)
app.pack(side="top", fill="both", expand=True)
tk.Label(right_frame, text='信息日志').pack(anchor=tk.W)
send_frame = tk.Frame(right_frame)
send_frame.pack()
send_area = tk.Text(send_frame, width=58, height=6)
send_area.pack(side=tk.LEFT)
send_button = tk.Button(send_frame, text='清除', width=5)
send_button.pack(side=tk.RIGHT, fill=tk.Y)
root.mainloop()