一、准备工作
使用图形开发界面库(如Tkinter、PyQt)制作一个GUI文件,然后还是使用flask制作后端,使用request发送同步申请,使用pymysql来连接数据库,重点依然是数据库的连接以及同步申请的方法。
安装好以下Python库
# flask文件中
from flask import Flask, request, jsonify, send_from_directory
import pymysql
from flask_cors import CORS
import os
import subprocess
# GUI文件中
import tkinter as tk
from tkinter import ttk
from tkinter import messagebox
import json
import requests
二、开始
2.1 GUI文件的编写
我简单的写了两个功能,一个是添加数据,一个是查询数据,使用request库发送同步申请(由于是简单的,因此没有使用异步申请请求,如果想要发送异步请求的话,使用asyncio和aiohttp库),接收从后端返回的数据,由于不是web端,因此代码和处理方式也不同,个人认为这个比web要难。
class MyApp(tk.Tk):
def __init__(self):
super().__init__()
# 初始化界面
self.title('数据添加和查询示例')
self.geometry('400x300')
# 布局
self.create_layout()
def create_layout(self):
# 添加数据部分
self.name_label_add = ttk.Label(self, text='姓名:')
self.name_input_add = ttk.Entry(self)
self.add_button = ttk.Button(self, text='添加数据', command=self.add_data)
self.name_label_add.pack()
self.name_input_add.pack()
self.add_button.pack()
# 查询数据部分
self.query_button = ttk.Button(self, text='查询数据', command=self.query_data)
self.result_label = ttk.Label(self, text='查询结果:')
self.result_browser = tk.Text(self, height=10, width=45,font=('SimSun', 12))
self.query_button.pack()
self.result_label.pack()