-
Notifications
You must be signed in to change notification settings - Fork 117
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已经考虑了控件的长和宽,这已经保证了控件的任何部分不超出规定的矩形范围
改变控件文字