资讯详情

资讯详情

Python情侣心愿抽签系统(Tkinter可视化界面+本地JSON持久化)

一、项目简介本项目是一款基于Python Tkinter开发的桌面端情侣心愿抽签系统无需数据库通过本地JSON文件实现数据持久化操作简单、界面清新美观。系统支持自定义录入情侣专属心愿、随机抽取心愿、甜蜜日常任务、趣味恋爱挑战四大核心功能所有数据本地永久保存关闭程序、重启电脑数据均不会丢失。项目轻量化、代码结构清晰、注释完善非常适合Python初学者练手、课程设计、小型毕设项目同时兼具实用性和趣味性适合情侣日常互动使用。二、核心功能介绍1. 心愿自定义录入功能用户可自由输入专属情侣心愿添加后实时展示在心愿列表中数据自动保存到本地JSON文件支持无限新增心愿打造专属二人的心愿库。2. 三大趣味抽签模式抽取心愿随机抽取用户自定义录入的专属心愿仪式感拉满甜蜜任务内置多款日常甜蜜互动任务助力情侣日常升温恋爱挑战趣味互动挑战告别平淡日常增加恋爱趣味性3. 本地数据持久化存储摒弃复杂的MySQL、SQLite数据库采用轻量的JSON文件存储所有数据无需额外配置环境开箱即用数据稳定不丢失。4. 可视化GUI界面基于Tkinter搭建简约粉嫩的情侣风界面分区清晰、操作简单零基础用户也可轻松上手。三、项目技术栈开发语言Python 3.xGUI界面TkinterPython内置库无需额外安装数据存储本地JSON文件轻量化持久化存储核心模块random随机抽签、os文件操作、json数据解析优势零环境配置、零第三方依赖、代码简洁、运行高效、兼容性强Windows、Mac系统均可运行。四、完整项目代码import tkinter as tk from tkinter import ttk, messagebox, scrolledtext import random import json import os # 无数据库本地json文件存储 DATA_FILE couple_lottery.json # 初始默认题库 default_data { wish_list: [], sweet_task: [ 给对方一个大大的拥抱, 主动说一句情话, 为对方倒一杯温水, 牵手散步十分钟, 夸对方三个优点, 一起分享小零食 ], love_challenge: [ 合拍一张搞怪合照, 互相按摩五分钟, 一起合唱一首歌, 真心话问答一轮, 写下今日心动瞬间, 为对方准备小惊喜 ] } # 加载数据 def load_data(): if os.path.exists(DATA_FILE): with open(DATA_FILE, r, encodingutf-8) as f: return json.load(f) return default_data # 保存数据 def save_data(data): with open(DATA_FILE, w, encodingutf-8) as f: json.dump(data, f, ensure_asciiFalse, indent2) data load_data() # 主窗口 root tk.Tk() root.title( 情侣心愿抽签系统) root.geometry(800x620) root.config(bg#fff0f5) # 1.心愿录入区域 frame_wish ttk.LabelFrame(root, text✨ 情侣心愿库录入) frame_wish.place(x20, y15, width760, height160) tk.Label(frame_wish, text输入心愿, font(微软雅黑,11)).place(x20, y25) wish_entry ttk.Entry(frame_wish, width55, font(微软雅黑,11)) wish_entry.place(x90, y25) def add_wish(): text wish_entry.get().strip() if not text: messagebox.showwarning(提示,请输入心愿内容) return data[wish_list].append(text) save_data(data) refresh_wish_show() wish_entry.delete(0, tk.END) messagebox.showinfo(成功,心愿添加完毕) ttk.Button(frame_wish, text添加心愿, commandadd_wish).place(x620, y22) # 心愿展示 wish_show scrolledtext.ScrolledText(frame_wish, width85, height4) wish_show.place(x15, y60) def refresh_wish_show(): wish_show.delete(1.0, tk.END) for idx, item in enumerate(data[wish_list]): wish_show.insert(tk.END, f{idx1}. {item}\n) refresh_wish_show() # 2.随机抽签功能 frame_draw ttk.LabelFrame(root, text 随机抽签专区) frame_draw.place(x20, y190, width760, height200) result_label tk.Label(frame_draw, text等待抽签, font(微软雅黑,14,bold),fg#e63968) result_label.place(x250, y30) # 抽取心愿 def draw_wish(): if not data[wish_list]: messagebox.showwarning(提示,心愿库为空请先添加心愿) return res random.choice(data[wish_list]) result_label.config(textf 抽到心愿{res}) # 甜蜜任务 def draw_task(): res random.choice(data[sweet_task]) result_label.config(textf 今日甜蜜任务{res}) # 恋爱挑战 def draw_challenge(): res random.choice(data[love_challenge]) result_label.config(textf 恋爱小挑战{res}) ttk.Button(frame_draw, text抽取心愿, commanddraw_wish).place(x80, y100) ttk.Button(frame_draw, text甜蜜任务, commanddraw_task).place(x280, y100) ttk.Button(frame_draw, text恋爱挑战, commanddraw_challenge).place(x480, y100) # 3.系统说明 frame_tip ttk.LabelFrame(root, text 系统说明) frame_tip.place(x20, y410, width760, height180) tip_text tk.Text(frame_tip, width90, height9, font(微软雅黑,10)) tip_text.place(x10, y10) tip_content 1. 支持自定义录入情侣专属心愿永久保存 2. 三大抽签模式心愿抽取 / 每日甜蜜任务 / 恋爱小挑战 3. 所有数据本地保存关闭程序不丢失 4. 操作简单、界面清新、适合情侣双人使用 5. 毕设轻量化项目代码简洁、结构清晰 tip_text.insert(tk.END, tip_content) tip_text.config(statetk.DISABLED) root.mainloop()五、代码核心解析1. 数据持久化模块项目通过load_data()读取本地JSON文件数据若文件不存在则加载默认初始数据save_data()函数实现数据实时写入保存确保新增的心愿数据永久留存无需数据库支持极大简化项目部署难度。2. 心愿录入与刷新模块通过输入框获取用户自定义心愿做非空校验避免空数据录入添加心愿后自动刷新展示列表实时同步最新数据交互体验流畅。3. 随机抽签核心模块利用Python内置random.choice()函数从对应心愿、任务、挑战列表中随机抽取内容并在界面实时展示结果。同时对心愿库做空值判断为空时弹出提示框提升程序容错性。4. GUI界面布局采用分区布局设计将心愿录入、抽签功能、系统说明三大模块独立分区界面整洁有序。搭配粉嫩主题配色、清晰的文字层级适配情侣使用场景视觉体验舒适。六、运行教程1. 运行环境安装Python3.6及以上版本即可无需安装任何第三方库所有模块均为Python内置。2. 运行步骤新建Python文件命名为couple_lottery.py将上述完整代码复制粘贴到文件中直接运行代码程序会自动在同级目录生成couple_lottery.json数据文件正常使用所有功能数据自动保存七、项目拓展方向可二次开发新增心愿删除、编辑功能优化数据管理添加抽签记录历史查询功能留存恋爱点滴增加积分、打卡机制完成任务可累计积分优化界面UI添加图标、动画特效打包成exe可执行文件无需Python环境即可打开八、项目总结这款情侣心愿抽签系统是一款轻量化、高实用性的Python桌面项目代码通俗易懂、结构分层清晰非常适合Python初学者学习GUI开发、文件数据持久化等核心知识点。同时项目趣味性十足兼具学习价值和实用价值可作为课程设计、小型毕设、日常练手项目使用。全程无复杂配置、零依赖、开箱即用轻松实现情侣趣味互动工具开发。九、版权说明本项目为开源学习项目仅供个人学习、交流使用禁止用于商业用途转载请注明出处。
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →