-
Notifications
You must be signed in to change notification settings - Fork 79
SiLabel.py
IceF != 0 edited this page Jun 26, 2024
·
5 revisions
SiLabel.py 提供了比 QLabel 更加强大的标签类型:SiLabel
SiPixLabel
SiDraggableLabel
-
继承自
QLabel
-
方法:
activate()
deactivate()
hasMoveLimits()
> bool
isActive()
> bool
moveTo(int, int)
removeMoveLimits()
setAutoAdjustSize(bool)
setHint(str)
setInstantMove(bool)
setMoveLimits(int, int, int, int)
setText(str)
-
信号:
moved
> [int, int]
尝试启动移动动画
停止移动动画
返回该 SiLabel 是否具有移动位置限制
返回动画是否正在进行
尝试使用移动动画来移动控件
- 当
moveTo
方法被调用时,如果立即移动策略为否,则会将传入值设为动画的目标值,并调用self.activate
方法
如果立即移动策略被启用,那么会直接调用self.move
,实现立即移动
移除移动位置限制(如果有)
设置自动调节尺寸
- 这会使每次调用
self.setText
后调用self.adjustSize
,如果你继承SiLabel
构建新类,可以通过重写adjustSize
方法以实现某些功能
设置提示栏文字
设置立即移动策略
设置移动限制
- 当
moveTo
方法被调用时,它会将传入值(x, y)
传入内部函数_legalizeMovingTarget(x, y)
以获得合法的移动位置,从而保证控件在移动范围内移动,设置移动范围需要setMoveLimits
方法来实现,传入值(x1, y1, x2, y2)
中前两者是左上角坐标,后两者是右下角坐标 - 需要强调的是,
setMoveLimits
已经考虑了控件的长和宽,这已经保证了控件的任何部分不超出规定的矩形范围
改变控件文字