news 2026/6/10 13:59:08

用AI为TinUI写日期滚动选值框

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用AI为TinUI写日期滚动选值框

用AI为TinUI写日期滚动选值框

  • 引言
  • 提问方式
  • 结果
    • GLM-4.7
    • DeepSeek-r1
    • MS Copilot
    • Gemini
  • 效果

引言

TinUI滚动选值框picker的构建介绍见文章tkinter绘制组件(40)——滚动选值框_滚动选择框-CSDN博客。

日期滚动选值框无论是功能目的、交互逻辑、样式外观,其实就是picker,只不过,每个月的天数是不同的,闰年平年的二月份天数也不同,选项的变动就使得TinUI本身的picker很为难。所以,我决定单独为TinUI写一个拓展控件。当然,这个决定其实很早就有了,但是,我懒得写😋,由于各种各样的事情耽误了。

以下一行是本文在笔记一栏而非正文栏目的原因。

虽然成果可用,但是本文仅供娱乐。

随着AI的发展,虽然也就那样,依靠大模型自身努力和已经写好的picker代码,我能快速完成一个基础可用的TinUIDatePicker吗?

登场的选手有:

  • GLM-4.7(深度思考
  • DeepSeek-r1
  • MS Copilot(smart
  • Gemini3(思考

Smart-Space/TinUIPicker: TinUI高级滚动选择器

截止本文章发表,TinUIPicker下只实现了日期选择器时间选择器其实很简单


提问方式

将TinUI的picker代码单独列入md文件(见仓库的prompt.md文件),询问内容如下:

这里面是TinUI的picker源代码,self为BasicTinUI(相当于tkinter画布)。我现在想创建一个新控件,即日期选择器,请分析源码,理解,并将日期选择器编写为一个类,包含年月日、注意闰年

挺随意的。提示词可能会影响模型工作,但是大家都笑你的时候偏偏你最好笑就非常有节目效果。


结果

忘记留证了,描述一下吧🤯。

GLM-4.7

选择列表界面正确,但是按钮位置错位甚至变形,即原本的按钮重新布局代码有问题。我不知道glm改这玩意干啥。

# 以下是Gemini生成片段,跟picker一致# 调整按钮背景框 (源码中的 coords 调整逻辑)mid=(width-9)/2bar.coords(ok[1],(9,height-35,mid-5,height-35,mid-5,height-9,9,height-9))bar.coords(ok[2],(8,height-34,mid-4,height-34,mid-4,height-8,8,height-8))bar.coords(no[1],(mid+5,height-35,width-9,height-35,width-9,height-9,mid+5,height-9))bar.coords(no[2],(mid+4,height-34,width-8,height-34,width-8,height-8,mid+4,height-8))

另外,所有月份都是31天,还能选🤣。

DeepSeek-r1

按钮位置跟picker一样,严丝合缝,但是选择列表宽出了背景元素。很奇怪,picker源码的背景元素的尺寸是通过所有元素的尺寸计算出来的,d老师跟glm一样,对我的设计进行了亿点修改。

同样的,月份都是31天,不过不合法的日期选了之后不会触发回调,但是一个2026-02-31就很难绷🙃。

MS Copilot

小丑,不如人意。

  1. 三个列表选择器中间本来就俩间隔,完了还不一样
  2. 不像deepseek选择器右移5单位,copilot的选择器斜向左上漂移
  3. 选择认定按钮冒出“确定”两个字,这两个字从来没出现过,完了还在背景元素的底边正中间
  4. 根本没有取消按钮,被移出窗口可视范围了

但是copilot的动态天份变动对了呀🫡。

Gemini

正常。甚至,gemini是唯一一个注意到__ui_polygon__ui_toplevelBasicTinUI私有方法的模型,需要使用_BasicTinUI__ui_<...>调用。

当然,配色参数漏了一大堆,以及忽略了TinUIString的面板布局结构,不过已经很不错了,这些我自己加上去就行。

此外,我对样式尺寸进行了小修,就完成了一个基本可用的TinUI日期选择器。


效果

我在datepicker.py提供了两个配色表:pickerlightpickerdark

dark样式

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 9:01:16

视频转文字工具Bili2text:智能转换技术实现与全场景应用指南

视频转文字工具Bili2text&#xff1a;智能转换技术实现与全场景应用指南 【免费下载链接】bili2text Bilibili视频转文字&#xff0c;一步到位&#xff0c;输入链接即可使用 项目地址: https://gitcode.com/gh_mirrors/bi/bili2text 功能解析&#xff1a;视频转文字工具…

作者头像 李华
网站建设 2026/6/10 9:05:17

3分钟学会音频解密:从NCM到MP3的格式转换指南

3分钟学会音频解密&#xff1a;从NCM到MP3的格式转换指南 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你是否曾经遇到过下载的音乐文件无法在普通播放器中打开&#xff1f;这些以.ncm为扩展名的文件就像是被上了锁的音乐盒子&…

作者头像 李华
网站建设 2026/6/10 9:05:05

5分钟打造智能文献管家:零基础科研效率工具使用指南

5分钟打造智能文献管家&#xff1a;零基础科研效率工具使用指南 【免费下载链接】zotero-style zotero-style - 一个 Zotero 插件&#xff0c;提供了一系列功能来增强 Zotero 的用户体验&#xff0c;如阅读进度可视化和标签管理&#xff0c;适合研究人员和学者。 项目地址: h…

作者头像 李华