鱼C论坛

 找回密码
 立即注册
查看: 916|回复: 9

[已解决]pygameGUI 2.0 开发讨论

[复制链接]
发表于 2024-2-15 18:24:05 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 cjjJasonchen 于 2024-2-15 18:28 编辑

同志们!我又来啦!

先看看下面这段代码
def get_pos_index(self,pos):
        """
        得到距离鼠标按下位置最接近的text字符位置的索引值
        (两字之间,带头带尾)
        """
        length = []
        length.append(abs(pos[0]-self.text.get_rect()[0]))
        for index in range(1,len(self.text.text)+1):
            width = self.text.style.size(self.text.text[0:index])[0]
            x = self.text.get_rect()[0]+width
            length.append(abs(pos[0]-x))
        print(length)
        print(length.index(min(length)))
        return length.index(min(length))

一堆text,这样是不是有一些过于混乱了?

事情是这样的,

当时,我制作写entry组件,然而,发生了一些意想不到的事情

我需要在entry中内嵌一个“label“,我给它起的名字是”self.text“因为在button组件中我也是这么干的,表示文本嘛,一点问题没有

可是,label组件里的文本信息也叫”text“啊!

如果我想得到entry 中 label的文本信息,我就要”self.text.text“!

于是就出现了一堆text,而且还代表着不同意思。。。。。。
(button中没有这种问题是因为button的text其实是一张图片,没有什么其他的需要变化的
   而entry中的text是动态的,需要实时变化,所以就遇上问题啦~)

什么玩意啊,可读性直接爆炸!我已经可以想象到两个月以后我看到这坨答辩的时候一脸懵逼的表情了



所以我起名困难症又犯了。。。。帮我给他起个名字吧~


目前光标的算法已经实现了一半了,理论已经完全实现,剩下的就是慢慢做了。。。


还有一件事,entry是单行的,如果你们希望多行输入的话可能要在等很长时间了,我打算在做好各种”特效“也就是以前的”凸起“”凹陷“”圆角“”边框“之类之类的东西之后
你们希望多行文本叫什么名字呢?

关于代码中的变量名混乱的问题,可以尝试给它们起一些更具体和易于理解的名字,以提高可读性。关于 "self.text" 可以考虑更改为 "self.label" 或者 "self.label_text",这样就能区分开 "label" 组件和 "text" 内容了。同样地,还可以将 "length" 更名为 "distances"。

至于多行文本的组件命名,你可以考虑使用 "TextField" 或者 "TextArea" 这样的名称来描述它是一个用于多行输入的文本框。希望这个建议对你有帮助!

最佳答案
2024-2-15 18:24:18
关于代码中的变量名混乱的问题,可以尝试给它们起一些更具体和易于理解的名字,以提高可读性。关于 "self.text" 可以考虑更改为 "self.label" 或者 "self.label_text",这样就能区分开 "label" 组件和 "text" 内容了。同样地,还可以将 "length" 更名为 "distances"。

至于多行文本的组件命名,你可以考虑使用 "TextField" 或者 "TextArea" 这样的名称来描述它是一个用于多行输入的文本框。希望这个建议对你有帮助!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

评分

参与人数 1荣誉 +5 收起 理由
zhangchenyvn + 5

查看全部评分

本帖被以下淘专辑推荐:

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

使用道具 举报

发表于 2024-2-15 18:24:18 | 显示全部楼层    本楼为最佳答案   
关于代码中的变量名混乱的问题,可以尝试给它们起一些更具体和易于理解的名字,以提高可读性。关于 "self.text" 可以考虑更改为 "self.label" 或者 "self.label_text",这样就能区分开 "label" 组件和 "text" 内容了。同样地,还可以将 "length" 更名为 "distances"。

至于多行文本的组件命名,你可以考虑使用 "TextField" 或者 "TextArea" 这样的名称来描述它是一个用于多行输入的文本框。希望这个建议对你有帮助!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-15 18:24:40 | 显示全部楼层
本帖最后由 cjjJasonchen 于 2024-2-15 18:28 编辑

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

使用道具 举报

发表于 2024-2-15 18:24:49 | 显示全部楼层
cjjJasonchen 发表于 2024-02-15 18:24
@python爱好者. @歌者文明清理员 @zhangchenyvn


嗨,@python爱好者,@歌者文明清理员和@zhangchenyvn!欢迎来到讨论区!有什么关于pygameGUI 2.0的开发问题或者想法吗?我们可以一起讨论和分享经验。让我们开始吧!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-15 18:26:31 | 显示全部楼层
明天有时间在研究, 抱歉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-15 18:27:05 | 显示全部楼层
FishC 发表于 2024-2-15 18:24
关于代码中的变量名混乱的问题,可以尝试给它们起一些更具体和易于理解的名字,以提高可读性。关于 "self.t ...


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

使用道具 举报

发表于 2024-2-15 18:27:18 | 显示全部楼层


哈哈,谢谢夸奖!作为一名AI助手,我会尽力为大家提供准确、有帮助的回答。有任何其他问题,都随时来问我吧!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-15 18:27:40 | 显示全部楼层
歌者文明清理员 发表于 2024-2-15 18:26
明天有时间在研究, 抱歉

好的,ai已经解决了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-15 18:27:49 | 显示全部楼层
cjjJasonchen 发表于 2024-02-15 18:27
好的,ai已经解决了


太棒了!如果有任何其他问题,随时来找我吧。AI助手很乐意帮助你!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-15 18:31:18 | 显示全部楼层
最佳给2楼@小甲鱼 @不二如是
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 14:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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