腾讯云AI代码助手编程挑战赛-每日一句

一、作品简介

“每日一句”是一个基于Python的图形用户界面(GUI)应用程序,旨在为用户提供随机的中英文名言警句。它利用腾讯云AI代码助手辅助开发,为用户带来便捷、高效的阅读体验。

二、技术架构

1. 编程语言:使用Python语言。

2. GUI库:借助tkinter库构建图形用户界面,实现窗口创建、组件布局与交互等功能。

三、实现过程

1. 创建页面

  • 首先导入tkinterrandom模块。
  • 创建主窗口root,设置标题为“每日一句”,定义窗口大小为800x500像素,并设置背景颜色。

2. 添加基础功能 - 名言展示

  • 定义一个包含中英文名言对的列表quotes,每个名言对以字典形式存储,包含en(英文)和cn(中文)键值对。
  • 创建顶部标题标签title_label,设置字体、颜色并添加到主窗口。
  • 构建名言显示区域quote_frame,设置背景颜色、边框样式等属性,再创建左右两个标签quote_label_enquote_label_cn用于分别显示英文和中文名言,设置字体、换行长度、对齐方式等属性后将它们添加到quote_frame中。
  • 创建按钮区域button_frame,在其中的按钮button设置文本为“获取名言”,绑定show_random_quote函数,定义按钮的字体、颜色、激活颜色等属性后添加到button_frame中。
  • show_random_quote函数中,通过random.choicequotes列表中随机选择一条名言,并更新左右标签的文本内容。

3. 运行主循环

  • 调用root.mainloop()启动GUI应用程序的主循环,使窗口保持显示并响应用户操作。

四、开发环境

系统:win11系统

工具:VSCode开发工具

插件:安装腾讯云AI代码助手插件

五、关键技术解析

1. 随机选择功能

  • 使用random.choice函数从预定义的名言列表中随机获取一条名言,实现每日一句的随机性。

2. GUI布局与组件设置

  • 通过tkinter的各种布局管理器(如pack)来安排标签、按钮等组件在窗口中的位置,同时设置组件的各种属性(如字体、颜色、边框等)来美化界面。

六、腾讯云AI代码助手在上述过程中的助力

完整的助力于开发的整个生命周期,包括初始页面到数据展示以及操作,最后进行打包exe文件。

七、使用说明

1. 运行程序后,会显示一个窗口,窗口顶部有标题“每日一句”。

2. 点击“获取名言”按钮,即可在窗口中间区域看到随机出现的一条中英文名言,英文名言在左边显示,中文名言在右边显示。

八、项目源码

import tkinter as tk
from tkinter import font
import randomdef show_random_quote():quote = random.choice(quotes)quote_label_en.config(text=quote["en"])quote_label_cn.config(text=quote["cn"])# 创建主窗口
root = tk.Tk()
root.title("每日一句")
root.geometry("800x500")
root.configure(bg="#f0f8ff")  # 设置背景颜色# 自定义字体
custom_font = font.Font(family="Helvetica", size=14, weight="bold")# 预定义的中英文名言列表
quotes = [{"en": "Life is like a box of chocolates, you never know what you're gonna get.", "cn": "生活就像一盒巧克力,你永远不知道你会得到什么。"},{"en": "The secret to success is to stick to your goal.", "cn": "成功的秘诀在于坚持自己的目标。"},{"en": "Don't wait for opportunities, create them.", "cn": "不要等待机会,而要创造机会。"},{"en": "Every day is a new beginning.", "cn": "每一天都是一个新的开始。"},{"en": "Believe in yourself, you can do it!", "cn": "相信自己,你能做到!"},{"en": "Difficulties are like springs, it depends on how strong you are.", "cn": "困难像弹簧,看你强不强。"},{"en": "Dreams are the lighthouses that guide the way.", "cn": "梦想是指引前行的灯塔。"},{"en": "Actions speak louder than words.", "cn": "行动胜过言语。"},{"en": "Keep curiosity, the world is full of surprises.", "cn": "保持好奇心,世界充满惊喜。"},{"en": "Love is another name for understanding.", "cn": "爱是理解的别名。"}
]# 创建顶部标题
title_label = tk.Label(root, text="每日一句", font=custom_font, bg="#f0f8ff")
title_label.pack(pady=20)# 创建名言显示区域
quote_frame = tk.Frame(root, bg="#ffffff", bd=2, relief="groove")
quote_frame.pack(padx=40, pady=20, fill=tk.BOTH, expand=True)quote_label_en = tk.Label(quote_frame, text="", font=custom_font, wraplength=350, justify="center", bg="#ffffff")
quote_label_en.pack(side=tk.LEFT, padx=20, pady=20)quote_label_cn = tk.Label(quote_frame, text="", font=custom_font, wraplength=350, justify="center", bg="#ffffff")
quote_label_cn.pack(side=tk.RIGHT, padx=20, pady=20)# 创建按钮区域
button_frame = tk.Frame(root, bg="#f0f8ff")
button_frame.pack(pady=20)button = tk.Button(button_frame, text="获取名言", command=show_random_quote, font=custom_font, bg="#4CAF50", fg="white", activebackground="#45a049")
button.pack()# 运行主循环
root.mainloop()

九、 效果展示

十、可体现价值

1. 文化与语言学习

  • 方便用户同时接触中英文名言,有助于英语学习者对比中英文表达差异,提高语言理解和翻译能力。
  • 提供丰富的文化内涵,不同类型的名言可以拓宽用户的文化视野。

2. 日常激励与启发

- 每日获取不同的名言警句,能够为用户提供日常的精神激励和生活启发,帮助用户在不同的情境下获取积极的思考方向。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/892194.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言的语法

C语言的语法与应用探讨 C语言作为一种高效的程序设计语言,自1970年代问世以来,一直在科学计算、系统编程、嵌入式系统等领域中扮演着重要角色。本文将深入探讨C语言的基本语法、数据结构、控制结构以及其在实际应用中的重要性。 一、C语言基础 1.1 数…

【AI工具】PDFMathTranslate安装使用

用了一天时间,安装并使用了PDFMathTranslate这款PDF文档翻译工具。 PDFMathTranslate是能够完整保留排版的 PDF 文档全文双语翻译项目,之前使用文档翻译的时候,对于论文这种类型的文章,由于图表和公式太多,文档翻译经常…

Ubuntu 上安装 Docker

在Ubuntu上安装Docker的步骤如下: 1. 更新系统 首先,更新系统的软件包索引: sudo apt update2. 安装必要的依赖包 接着,安装一些必要的依赖包,用于安装Docker的官方仓库: sudo apt install apt-transp…

conda 批量安装requirements.txt文件

conda 批量安装requirements.txt文件中包含的组件依赖 conda install --yes --file requirements.txt #这种执行方式,一遇到安装不上就整体停止不会继续下面的包安装。 下面这条命令能解决上面出现的不执行后续包的问题,需要在CMD窗口执行: 点…

网络安全图谱以及溯源算法

​ 本文提出了一种网络攻击溯源框架&#xff0c;以及一种网络安全知识图谱&#xff0c;该图由六个部分组成&#xff0c;G <H&#xff0c;V&#xff0c;A&#xff0c;E&#xff0c;L&#xff0c;S&#xff0c;R>。 1|11.知识图 ​ 网络知识图由六个部分组成&#xff0c…

上汽乘用车研发流程

目的 最近刚入职主机厂&#xff0c;工作中所提到各个阶段名称与之前在供应商那边不一致&#xff0c;概念有点模糊&#xff0c;所以打算学习了解一番 概念 术语 EP: enginerring prototype car 工程样车 Mule Car: 骡子车 Simulator Car&#xff1a;模拟样车 PPV&#xff1a;…

封装/前线修饰符/Idea项目结构/package/impore

目录 1. 封装的情景引入 2. 封装的体现 3. 权限修饰符 4. Idea 项目结构 5. package 关键字 6. import 关键字 7. 练习 程序设计&#xff1a;高内聚&#xff0c;低耦合&#xff1b; 高内聚&#xff1a;将类的内部操作“隐藏”起来&#xff0c;不需要外界干涉&#xff1b…

【生物信息】如何使用 h5py 读取 HDF5 格式文件中的数据并将其转换为 NumPy 数组

data_mat h5py.File(args.data_file) x1 np.array(data_mat[X1]) x2 np.array(data_mat[X2]) if not args.no_labels: y np.array(data_mat[Y]) data_mat.close() 这段代码展示了如何使用 h5py 读取 HDF5 格式文件中的数据并将其转换为 NumPy 数组。以下是代码的详细解释&a…

计算机网络 (23)IP层转发分组的过程

一、IP层的基本功能 IP层&#xff08;Internet Protocol Layer&#xff09;是网络通信模型中的关键层&#xff0c;属于OSI模型的第三层&#xff0c;即网络层。它负责在不同网络之间传输数据包&#xff0c;实现网络间的互联。IP层的主要功能包括寻址、路由、分段和重组、错误检测…

【W800】UART 的使用与问题

1.开发环境 OS: Windows 11开发板&#xff1a;海凌科 HLK-W800-KIT-PROSDK: W80X_SDK_v1.00.10IDE: CSKY Development Kit 2.UART 使用 在 SDK 中创建文件 uart_test.h 和 uart_test.c&#xff0c;然后在 CDK 项目中添加这两个文件&#xff0c;CDK 会自动 include 头文件。 …

万界星空科技质量管理QMS系统具体功能介绍

一、什么是QMS系统&#xff0c;有什么价值&#xff1f; 1、QMS 系统即质量管理系统&#xff08;Quality Management System&#xff09;。 它是一套用于管理和控制企业产品或服务质量的集成化体系。 2、QMS 系统的价值主要体现在以下几个方面&#xff1a; 确保产品质量一致性…

【C++】B2099 矩阵交换行

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 &#x1f4af;前言&#x1f4af;题目描述题目描述输入格式输出格式输入输出样例输入 #1输出 #1 &#x1f4af;题目分析&#x1f4af;不同解法分析我的做法实现步骤&#xff1a;优点&#xff1a;不足&#…

Tableau数据可视化与仪表盘搭建-数据连接

目录 连接本地文件 课程操作 连接方式&#xff08;实时/数据提取&#xff09; 保存工作簿 筛选器 数据处理 连接数据有三种类型 第一种&#xff0c;连接到本地文件&#xff0c;例如Excel&#xff0c;csv&#xff0c;JSON等 第二种&#xff0c;连接到数据库&#xff0c;例…

Linux(Centos 7.6)命令详解:cd

1.命令作用 改变当前工作目录(change directory) 2.命令语法 Usage: cd [-L|[-P [-e]]] [dir] 3.参数详解 -L‌&#xff0c;当目标路径是符号链接时&#xff0c;强制使用符号链接&#xff0c;这是一个默认选项。-P‌&#xff0c;使用物理路径代替符号链接。-e‌&#xff0…

创建型模式-生成器模式

生成器模式是创建型模式的一种&#xff0c;生成器模式主要是解决在大类创建对象初始化的复杂的问题。将一个复杂类的创建拆分成几个部分&#xff0c;再根据具体需求创建初始对象&#xff0c;而不必每次都创建所有的部分。在需要创建包含有不同内容的对象的时候&#xff0c;可以…

系统日志优化---自定义springboot-starter日志组件供各个服务使用

在优化项目时发现各个微服务都有各自的接口调用日志逻辑&#xff0c;比如每个服务都定义一个aop类拦截&#xff0c;十分冗余&#xff0c;其实是可以做成starter被各个服务引用使用&#xff0c;前提要先了解一下springboot自动装配原理 创建springboot工程&#xff0c;如果是jdk…

Android V QCOM GPS | APN for LocationService

问题 在高通平台上验证 GPS 功能流程时候,block 在 APN 数据库的查询。经查,发现高通有内部实现的 LocationService(aosp源码和mtk都没有的类) 包含查询 TelephonyProvider 数据库的逻辑,直接原因是查询到 APN Protocol 不符合预期,直接fail。 关于 Android APN 数据列的…

计算机网络之---有线网络的传输介质

1. 双绞线&#xff08;Twisted Pair Cable&#xff09; 定义&#xff1a;双绞线是一种由两根绝缘铜线按一定螺旋方式绞合在一起的传输介质。常见的类型包括非屏蔽双绞线&#xff08;UTP&#xff09;和屏蔽双绞线&#xff08;STP&#xff09;。特点&#xff1a; UTP&#xff1a…

字玩FontPlayer开发笔记9 Tauri2打包应用

字玩FontPlayer开发笔记9 Tauri2打包应用 字玩FontPlayer是笔者开源的一款字体设计工具&#xff0c;使用Vue3 ElementUI开发&#xff0c;源代码&#xff1a;github | gitee 笔记 字玩目前是用Electron进行桌面端应用打包&#xff0c;但是性能体验不太好&#xff0c;一直想替…

spring mvc源码学习笔记之十

前面的文章介绍了用 WebApplicationInitializer 或者 AbstractAnnotationConfigDispatcherServletInitializer 来代替 web.xml 。 我们学 java web 的时候就知道&#xff0c;servlet 容器会自动加载 web.xml。 那么&#xff0c;疑问就来了&#xff0c;WebApplicationInitialize…