以下是使用Python的tkinter实现该功能的示例代码:

import tkinter as tk
import requests
import json

class App(tk.Frame):
    def __init__(self, master=None):
        super().__init__(master)
        self.master = master
        self.pack()
        self.create_widgets()

    def create_widgets(self):
        self.date_label = tk.Label(self, text='请选择日期:')
        self.date_label.pack(side='left')

        self.date_entry = tk.Entry(self)
        self.date_entry.pack(side='left')

        self.ok_button = tk.Button(self, text='确定', command=self.send_date)
        self.ok_button.pack(side='left')

        self.devname_label = tk.Label(self, text='可选设备:')
        self.devname_label.pack()

        self.devname_listbox = tk.Listbox(self, selectmode='extended')
        self.devname_listbox.pack()

        self.start_button = tk.Button(self, text='开始预约', command=self.start_resv)
        self.start_button.pack()

    def send_date(self):
        date = self.date_entry.get()
        resv_url = 'http://example.com/resv'
        resv_data = {
            'date': date
        }
        res = requests.post(resv_url, data=json.dumps(resv_data))
        res_json = res.json()
        devnames = [dev['devName'] for dev in res_json['data']]
        for devname in devnames:
            self.devname_listbox.insert('end', devname)

    def start_resv(self):
        selected_indices = self.devname_listbox.curselection()
        selected_devnames = [self.devname_listbox.get(i) for i in selected_indices]
        startresv_url = 'http://example.com/startresv'
        startresv_data = {
            'devnames': selected_devnames
        }
        res = requests.post(startresv_url, data=json.dumps(startresv_data))
        
root = tk.Tk()
root.title('设备预约')
App(master=root)
root.mainloop()

代码说明:

  1. 导入必要的库:tkinter 用于创建界面,requests 用于发送 HTTP 请求,json 用于处理 JSON 数据。
  2. 创建一个 App 类继承 tkinter.Frame,用于构建界面。
  3. create_widgets 函数中创建界面元素:日期标签、输入框、确定按钮、设备名称标签、列表框、开始预约按钮。
  4. send_date 函数处理用户输入的日期,发送到后端获取设备名称列表并填充到列表框中。
  5. start_resv 函数获取用户选中的设备名称,发送到后端进行预约。
  6. 最后创建 Tk 对象,设置标题,创建 App 实例并进入消息循环。

注意:

  • 请将代码中的 resv_urlstartresv_url 替换为你的实际后端接口地址。
  • 请确保你的后端接口返回的 JSON 格式与示例代码中的一致。

示例代码仅供参考,你可以根据实际需求进行调整和扩展。

使用Python tkinter 实现日期输入并发送设备名称进行预约

原文地址: https://www.cveoy.top/t/topic/mSNF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录