|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 cjjJasonchen 于 2024-2-14 21:10 编辑
Scrollbar —— 滑条
许久不见,想我否?
这次更新我带来了滑条哦~
本期demo展示与解读
demo
(这是播放音频的例子,上次说的圆角矩形也做了一个例子)
这些各种形状的边框,突起、凹陷。。。。。之类的效果在正式版发布后会陆续更新,以下是源码
上方gif动图笑点解析:
| 滑条的滑块在拖动时可以展示百分比(在使用时用label添加的功能,非滑条自带
| 播放与暂停键采用了最新的 switch ——开关组件,支持帧动画(这里使用了渐变效果,在使用时使用Player添加的动画效果,非 switch 自带
| 滑条左右两边的 ”-“ ”+“ (后续使用Button添加的,点击可移动滑块,非滑条自带
| 音乐是”打飞机“
| 下方简介区滚动鼠标滚轮便可上下滑动,无需拖动滑块(是在滑块的command中添加的,非滑条组件自带效果
| 简介展示框使用了上次@Twilight6同学要求的圆角矩形
(使用的是pygame的draw方法,非frame自带,很抱歉并没有达到你所说的效果,
我没有使用函数绘制出真正圆滑的圆角矩形,只是在四个角简单的画了个圆,
如果要达到斜率平滑变化的圆角,需要更复杂的算法)
源码:
新版demo3 —— 滑条.zip
(406.16 KB, 下载次数: 13)
接下来是一些意见的征求:
| 1、目前帧动画(之前那个软软弹弹的按钮效果)目前给他起的名字是“Player——播放器“,想问问各位这样是否妥当,是否应该修改为”animation——动画“?
| 2、”switch——开关“组件,目前的属性、变量名似乎也有所不妥,见下方代码:
- def __init__(self,
- group=None, # 加入到哪个Group中,该组件通常是Frame
- pos = [0,0],size=[100,50], # 位置、大小
- active_textures = [(240,240,240),], # 接受一个元组/列表或函数,代表按钮上的图案
- init_textures = [(250,250,250),], # 接受一个元组/列表或函数,代表按钮上的图案
- down_textures = [(230,230,230),], # 接受一个元组/列表或函数,代表按钮上的图案
- block = True, # 当鼠标位于上方时是否打开阻断
- unblock=False, # 是否免疫阻断
- mouse_button = 1, # 响应哪个按钮
- down_command = [None,], # 当按钮被点击时调用(按下时)
- command = [None,], # 当按钮被点击时调用(抬起时)
- active_command = [None,], # 当按钮处于鼠标下方时,反复调用
- repeat=-1, # 长按时按照多少帧的间隔调用command
- ):
复制代码
active_textures——活动纹理、 init_textures——初始纹理、down_textures——按下纹理
之前这些名字在按钮和滑块中全部是没有”s“ 的,接受的是单个函数或者图片对象
现在这些参数接受的全是列表或者是元组。。。
但是,down_command = [None,], command = [None,],active_command = [None,],这三个参数接受的同样也变成了列表和元组,我却没有加s,是否需要修改?
个人认为全部没有s或许会更方便些,所以就没改,留到发日志的时候和大伙探讨一下
| 3、目前pygameGUI的主要了理念是:尽可能的提高自由度,减少繁杂的操作
(相比tkinter,他会更复杂却不难以使用,但成品的美观程度会远远超越tkinter,
所以,我希望各位在使用时看着我写的教程或者注释,而不是把它背下来 )
我希望使用者可以自己写组件,但是由于我在之前写代码的时候似乎使用了过多的私有变量,
以至于继承变得很低效,使用者自己写组件时似乎只能继承”widget“也就是组件基类,而不能继承”Button“、”Frame“之类的已经做好的组件
(这些私有变量是比较有用的,在各位修改实例化组件的属性时,可以大幅度减少bug和使用者的代码行数)
例如:frame.image = xxxxxxx
如果把私有变量删掉,后面还要再加一句
frame.image = xxxx
frame.rect = frame.image.get_rect()
如果有私有变量的话,多出来的这些我就可以使其在修改属性时自动执行!
以上,此次开发日志汇报完毕!请各位鱼油认真检阅!希望pygameGUI早日完成,有机会开源到pypi!
接下来的目标主要是做输入框啦~加油!
求评论,请勿评分!!!
|
评分
-
查看全部评分
|