还真不错,今天 Chatgpt 教会我如何开发一款小工具开发(Python 代码实现)

上次使用 Chatgpt 写爬虫,虽然写出来的代码很多需要修改后才能运行,但Chatgpt提供的思路和框架都是没问题。

这次让 Chatgpt 写一写GUI程序,也就是你常看到的桌面图形程序。

由于第一次测试,就来个简单点的,用Python写用来加减乘除的计算器。

提问:请用Python写一个计算器GUI程序

图片

(代码过长,就不完全展示了)

它告诉我,可以使用Python的tkinter库来实现简单的GUI,这确实是最快捷的方法。

代码执行出来是一个很简答的计算器程序,没有什么UI设计可言。

图片

用起来也没什么毛病,但似乎外观上应该更好看点。

在这里插入图片描述

iPhone手机的计算器APP是集美貌、简洁、方便、功效于一体的计算器代表作。

图片

于是我问:帮我优化下这个计算器的UI界面 类似iphone计算器风格。

ChatGPT:
图片

这次代码居然没有完整展现出来,Chatgpt生成到一半自动断了,也不知道什么原因。

我又问它:请写完后半部分。

ChatGPT:
图片

最后它补充道

这段代码实现了以下功能:1、创建计算器 GUI 的主要界面,包括数字按钮和文本框;
2、对数字按钮和运算符按钮的点击事件进行响应,完成对方程的修改、计算和清空等操作;
3、实现了基本的错误处理功能。你可以将这段代码保存为 calculator.py,并在命令行中运行它,即可启动这个计算器 GUI 程序。

经过优化后的代码,UI确实好看多了,类似iPhone计算器的风格,但美感上还差很多,功能也比较简单。

图片

附上完整代码(来自Chatgpt):

import tkinter as tk
from tkinter import fontclass Calculator:def __init__(self, master):self.master = mastermaster.title("Calculator")master.geometry("350x560")master.resizable(width=False, height=False)# 设置按钮和文本框字体self.button_font = font.Font(size=20)self.equation_font = font.Font(size=30)# 创建显示方程的文本框self.equation = tk.Entry(master, width=12, font=self.equation_font, borderwidth=0, justify=tk.RIGHT)self.equation.grid(row=0, column=0, columnspan=4, padx=10, pady=20, ipady=15)# 创建数字按钮self.create_button("C", 1, 0, bg="white", fg="black", width=4, height=2)self.create_button("±", 1, 1, bg="white", fg="black", width=4, height=2)self.create_button("%", 1, 2, bg="white", fg="black", width=4, height=2)self.create_button("÷", 1, 3, bg="#FF9500", fg="white", width=4, height=2)self.create_button("7", 2, 0, bg="#E4E4E4", fg="black")self.create_button("8", 2, 1, bg="#E4E4E4", fg="black")self.create_button("9", 2, 2, bg="#E4E4E4", fg="black")self.create_button("×", 2, 3, bg="#FF9500", fg="white", width=4, height=2)self.create_button("4", 3, 0, bg="#E4E4E4", fg="black")self.create_button("5", 3, 1, bg="#E4E4E4", fg="black")self.create_button("6", 3, 2, bg="#E4E4E4", fg="black")self.create_button("-", 3, 3, bg="#FF9500", fg="white", width=4, height=2)self.create_button("1", 4, 0, bg="#E4E4E4", fg="black")self.create_button("2", 4, 1, bg="#E4E4E4", fg="black")self.create_button("3", 4, 2, bg="#E4E4E4", fg="black")self.create_button("+", 4, 3, bg="#FF9500", fg="white", width=4, height=2)self.create_button("0", 5, 0, bg="#E4E4E4", fg="black", width=8)self.create_button(".", 5, 2, bg="#E4E4E4", fg="black")self.create_button("=", 5, 3, bg="#FF9500", fg="white", width=4, height=2)def create_button(self, text, row, column, bg="#F0F0F0", fg="black", width=2, height=1):# 创建按钮button = tk.Button(self.master, text=text, bg=bg, fg=fg, width=width, height=height, font=self.button_font,borderwidth=0, command=lambda: self.button_click(text))button.grid(row=row, column=column, padx=5, pady=5, ipady=5, sticky="NSEW")def button_click(self, text):if text == "C":self.equation.delete(0, tk.END)elif text == "±":equation = self.equation.get()if equation.startswith("-"):self.equation.delete(0)self.equation.insert(0, equation[1:])elif equation:self.equation.insert(0, "-")elif text == "%":equation = self.equation.get()try:result = float(equation) / 100self.equation.delete(0, tk.END)self.equation.insert(0, result)except ValueError:passelif text in ["+", "-", "×", "÷"]:if self.equation.get() and not self.equation.get().endswith(("+", "-", "×", "÷")):self.equation.insert(tk.END, text)elif text == ".":if self.equation.get() and "." not in self.equation.get():self.equation.insert(tk.END, ".")elif not self.equation.get():self.equation.insert(tk.END, "0.")elif text == "=":equation = self.equation.get()try:result = eval(equation)self.equation.delete(0, tk.END)self.equation.insert(0, result)except (SyntaxError, ZeroDivisionError):self.equation.delete(0, tk.END)self.equation.insert(0, "Error")else:self.equation.insert(tk.END, text)# 创建主窗口
root = tk.Tk()# 创建计算器 GUI
calculator = Calculator(root)# 进入主事件循环
root.mainloop()

这段代码还有很多值得修改的地方,如果你有兴趣可以试试。

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

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

相关文章

Android中文图混排时文图的居中对齐

http://www.jianshu.com/p/2650357f7547 先上效果图 看订阅号时间发现的,前一阵子项目要做一个比较复杂的图文混排,但是最后没有做,今天看到,回过头来学习下 代码还是他们的代码,我就不复制了 下来说一下这种形式…

赢在微点答案专区英语_掌握这一招!快速提高英语阅读理解成绩(终生受益)...

一、经常有学生向老师倒苦水,说学英语花了很多时候,总是提不高英语成绩?为什么? 你是否还在为英语阅读成绩而烦恼呢? 你的阅读成绩是否还总是提不高呢? 你的阅读速度是不是还很慢呢? 你阅读的准…

Android中文图混排时文图的居中对齐 FontMetrics以及自定义ImageSpan实现

文章转自:http://www.sohu.com/a/150059234_611601 本文作者CnPeng的博客地址: http://www.jianshu.com/p/2650357f7547 这个标题有点长,乍一看这么个标题你可能没明白啥意思,且听我慢慢道来。 公司的项目中新增了一个“心动”…

实战 | Android中文图混排时文图的居中对齐 FontMetrics以及自定义ImageSpan实现

这个标题有点长,乍一看这么个标题你可能没明白啥意思,且听我慢慢道来。 公司的项目中新增了一个“心动” 的功能,用户初次使用时需要给一个引导页,就是下面图中的这个样子(这就是做完之后的效果了)。 在上图…

英文期刊论文翻译格式要求和文献要求

英文期刊论文翻译格式要求和文献要求 一、全文翻译,句式尽量简单易懂(借助谷歌有道,同时借鉴前人文献写法)1、论文的翻译不能直译。 二、套入模板,调整格式(文章、参考文献)1、论文直接粘贴到模…

时文直播:2015年通信运营业统计公报

2015年,我国通信运营业认真贯彻落实中央各项政策措施,围绕实施网络强国战略,推动网络提速降费,提升4G网络和宽带基础设施水平,积极推动移动互联网、IPTV等新型信息服务普及,全面服务国民经济和社会发展&…

FontMetrics以及自定义ImageSpan实现TextView中文图混排时文图的居中对齐

这个标题有点长,乍一看这么个标题你可能没明白啥意思,且听我慢慢道来。 公司的项目中新增了一个“心动” 的功能,用户初次使用时需要给一个引导页,就是下面图中的这个样子(这就是做完之后的效果了)。 Paste_Image.png 在上图中整体…

单词测试通关学英语的软件,推荐5款最火的英语学习类app

学习英语很累很吃力吗?小编推荐5款最火的英语学习类app,希望对你有所帮助。 如果你是高中生的话,蝶变高中是你必备的app,里面除了正常的励志电台和各科知识点外,还有历年的高考英语听力真题、高中英语课文音频、以及很多英语美文的音频。 1、推荐5款最火的英语学习类app:…

计算机专业英语邱仲潘版英语翻译,计算机英语邱仲潘

本书共分为20章,每章由正文、难句解释、关键词、练习和课外阅读等部分组成,此外,每章还提供了参考译文。本书由一线教师编写,其了解学生的知识水平、接受能力和需求点,而且翻译过大量计算机图书,有丰富的翻…

新编计算机英语,新编计算机英语

《新编计算机英语》以计算机和IT领域的*英语时文和经典原版教材为基础,通过精心挑选难度适中的新闻记者材料和悉心编写的学习指南,配以详尽的注释和练习,使读者能够快速掌握计算机英语的一般特点和大量专业词汇,并提高阅读和检索计…

快讯 | OpenAI 推出漏洞赏金计划,奖励最高 2 万美元;马斯克被曝明面上呼吁暂停 AI 研究,暗中却购买上万个 GPU 推进 AIGC 项目

一分钟速览新闻点 复旦大学与阿里云共建中国高校最大的科研智算平台 科大讯飞将于 5 月 6 日发布讯飞预训练大模型的详细信息 国家网信办就《生成式人工智能服务管理办法(征求意见稿)》公开征求意见 毫末智行正式发布自动驾驶生成式大模型DriveGPT O…

OpenAI向ChatGPT社区致歉:承认数据泄露 CEO称感觉糟糕

雷递网 乐天 3月26日 人工智能企业OpenAI日前发布公告,承认部分ChatGPT Plus服务订阅用户可能泄露部分个人隐私和支付信息。 OpenAI称,由于开源库中的一个错误,本周早些时候将ChatGPT下线,该错误允许一些用户看到另一个活跃用户的…

如何用 Midjourney 绘制你自己的皮克斯风格头像?

元宇宙时代,有个卡通形式的头像(Avatar)似乎是刚需了。我看到很多小伙伴都给自己弄了一个头像。大多保持了神似,很是羡慕。 我也想自己弄一个,不过雇人设计绘制太贵,自己画嘛,你知道的…… 我的…

联邦学习(FL)安全威胁

MPC、DP等:通过降低模型性能或系统效率为代价来确保隐私安全 一、FL安全问题 训练过程中,联邦学习仍然存在模型更新过程中向第三方或中央服务器透露敏感信息的情况FL协议设计存在漏洞,任一参与方可能获得全局参数并能控制这些参数的上传模型…

如何准备CKAD和CKA认证?

在准备 CNCF 的 CKAD 或 CKA 认证时,会有很多疑问,首先出现哪个考试,参考哪些资源,避免哪些常见错误等。尤其是如果您没有以前的知识或新手- 根据 Kubernetes 的经验,这可能是一个艰难的处境。InfraCloud 强烈鼓励工程…

朝鲜APT组织使用带后门IDA软件攻击安全研究人员

2021年初,朝鲜APT组织Lazarus通过养推特大V账号,配合定制开发的恶意软件0day漏洞针对安全研究人员进行了一系列的网络攻击活动,详细可见:通过社交媒体针对安全研究人员的社会工程学攻击活动。 而就在2021年11月10日,国…

chatgpt自己杜撰答案(sometimes)?

当我想通过filebeat将mysql表的内容同步到ELK系统中时,我向chatgpt询问时: 在我根据上述回答完成配置文件后启动filebeat后报错如下: ERRORinstance/beat.go:916Exiting: Error while initializing input: Error creating input. No such i…

智能聊天功能——语音聊天篇

如今大部分人都面临着来自生活各方面的压力,时常感到焦虑、孤独,有的甚至患上了抑郁症等心理疾病,他们无法排解,甚至找不到人来诉苦,本系统提供了语音对话功能。 在用户无聊的时候,可以唤醒“依米”&#x…

转【Latex】Texstudio英文拼写错误检查功能出问题的解决方法

【Latex】Texstudio英文拼写错误检查功能出问题的解决方法 2018年03月23日 22:54:49 阅读数:685 问题描述 最近用latex(编辑器为Texstudio)写论文,相比于本科时常用的word,各种方便,唯一不爽的是texstu…

英文论文纠错:

Grammarly:官网下载,拉到底部product的office版本,下载后安装,word中会多一个插件,就像这样 基本上免费的功能就够用了,它会识别全文,然后给出你可能存在的问题