鱼C论坛

 找回密码
 立即注册
查看: 315|回复: 28

[作品展示] 【PygameGUI2.0 开发日志】 输入框终于来啦!

[复制链接]
发表于 2024-3-17 16:00:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 cjjJasonchen 于 2024-3-17 16:02 编辑

Entry —— 输入框




在座的各位新鱼油老猫娘亲爱的管理大大,大家好~~~

数周未见,想我否?

输入框它终于来啦!!!




本期 demo 展示:

请看gif:

输入框展示

输入框展示

(这次采用了比较暖的颜色,以及圆角矩形)




源码: 新版demo4 —— 输入框.zip (93.89 KB, 下载次数: 3)




上方gif动图笑点解析:
| 最外层使用了上上次与大家见过一面的window窗口组件
| 右上角的关闭按钮是用的华文琥珀字体的乘号
| 复刻的是旧版小甲鱼python教程中tkinter的教学内容(有一定修改)
| 光标可以通过方向键鼠标单击调整位置(暂时没做长按,刚刚突然想起来,下次再做吧~  )
| 删除键可以长按,连续删除~
| 光标始终显示在字体上层,你甚至可以把它的图像改成钻石剑。。。
| 密码之类的文本可以设定显示字符~你甚至可以让你的密码显示成颜文字。。。。
| 单击输入框会打开Pygame的输入模式,单击输入框以外的地方会使输入模式关闭,再也不用担心进入pygame游戏忘记切换成英文导致键盘失效啦~
| 有已输入拼音的显示和候选字显示(输入法)




后续开发方向

1、这个输入框的基本功能已经完成了,但是我个人还不是特别满意,bug肯定还是有的,而且代码太难看了,以后大概率我会重构的

2、q群里的小伙伴们应该都知道,前段时间我搓了pygame的全屏的框架,看上去确实挺好用的,但是和pygameGUI不兼容,后续考虑一下怎么修。
(pygame全屏框架:拖动窗口边框,改变窗口大小,显示内容不变,可 f11 一键全屏。)
(不兼容的原因: 显示部分没有问题,但是对于鼠标的判定必须全部修改,原因:
        举个例子:
                按钮,按钮是通过获得自身绘制的矩形位置、鼠标位置,从而判断是否被点击的,
        而上面说的全屏框架,改变了按钮的显示大小和位置,鼠标点击时就不会触发按钮的交互了)

        目前想到的解决方法是做几判定鼠标交互的函数,放在widget基类里面,默认是现在使用的方法,然后再做几个别的,
        遮罩判定法,还有支持全屏框架的判定法,等等。这样就支持全屏框架啦~

但是由于没有使用继承,一个一个改真的超级麻烦。。。。




意见征询

大家有什么想说的评论区见哦~
评论区见~






评分

参与人数 3荣誉 +15 鱼币 +10 贡献 +9 收起 理由
中英文泡椒 + 5 + 5 + 3 无条件支持楼主!
python爱好者. + 5 + 5 + 3 鱼C有你更精彩^_^
liuhongrun2022 + 5 + 3

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-3-17 16:08:51 | 显示全部楼层
加油!
希望做出更好的作品
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-3-17 16:10:00 | 显示全部楼层
zxbin1 发表于 2024-3-17 16:08
加油!
希望做出更好的作品



感谢催更~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-3-17 16:11:22 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-3-17 16:34:58 | 显示全部楼层

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-3-17 16:44:42 | 显示全部楼层
祝贺祝贺,操作界面get~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-3-17 16:59:48 | 显示全部楼层
不二如是 发表于 2024-3-17 16:44
祝贺祝贺,操作界面get~

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-3-17 17:01:49 | 显示全部楼层
我也祝贺祝贺
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-3-17 17:03:36 | 显示全部楼层


谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-3-17 17:18:37 | 显示全部楼层
恭喜恭喜!看着终于像一个真正的窗口了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-3-17 17:19:56 | 显示全部楼层
liuhongrun2022 发表于 2024-3-17 17:18
恭喜恭喜!看着终于像一个真正的窗口了




感谢评分
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-3-17 22:18:02 | 显示全部楼层
就输入这块,已经在效果上几乎完美无瑕了,恭喜恭喜(所有细节都考虑到了,真可谓"巧夺天工",同时方便了我们这些平民),所有我的建议为:
1.就你的全屏问题,可以通过将所有非全屏情况下按钮的判定范围根据与最初全屏下与整体情况的比例关系来设定(即你小我大)
2.那个屏幕后盖建议使用透明的方式直接能透过电脑背景
3.建议尽快完成重构,多用继承,否则不利于后续开发,以及使用者自行拓展的便捷性(初衷)
4.建议设置个字体文件,然后输入事可以随时切换
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-3-17 22:18:32 | 显示全部楼层
加油,已经很好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-3-18 00:02:32 From FishC Mobile | 显示全部楼层
python爱好者. 发表于 2024-3-17 22:18
就输入这块,已经在效果上几乎完美无瑕了,恭喜恭喜(所有细节都考虑到了,真可谓"巧夺天工",同时方便了我 ...

1,收到,正准备做这样的
2,没太看懂是什么意思。。。
3,会重构的,等修好不兼容的bug
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-3-18 07:18:28 From FishC Mobile | 显示全部楼层
python爱好者. 发表于 2024-3-17 22:18
加油,已经很好了

刚刚又思考了一下,或许我可以直接改掉传给ui库的鼠标位置参数,这样也可以避免不兼容的问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-3-18 09:17:28 | 显示全部楼层
cjjJasonchen 发表于 2024-3-17 16:11
at区:
@python爱好者. @中英文泡椒 @KeyError

来啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-3-18 18:04:40 From FishC Mobile | 显示全部楼层
中英文泡椒 发表于 2024-3-18 09:17
来啦

感谢回复
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-3-18 18:53:25 | 显示全部楼层
cjjJasonchen 发表于 2024-3-18 00:02
1,收到,正准备做这样的
2,没太看懂是什么意思。。。
3,会重构的,等修好不兼容的bug

就是说像截图软件配的那种透明窗口一样,自己不显示内容
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-3-18 18:54:34 | 显示全部楼层
cjjJasonchen 发表于 2024-3-18 07:18
刚刚又思考了一下,或许我可以直接改掉传给ui库的鼠标位置参数,这样也可以避免不兼容的问题

但是同样的复杂程度下,这种难度更高,且其怪异逻辑也不利于后期继续开发
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-3-18 19:39:06 | 显示全部楼层
python爱好者. 发表于 2024-3-18 18:54
但是同样的复杂程度下,这种难度更高,且其怪异逻辑也不利于后期继续开发

复杂度不高,鼠标要改变的大小和位置我的全屏框架中都是算好的,但是之前说的函数方法仍然需要,这个改变pos可以作为全屏框架的专用方法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-29 02:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表