87.通过qss实现扑克牌上下左右移动

当前我们有这样一张图片

我们搞一个标签来展示图片,然后搞上下左右四个按钮,对图片进行移动,以达到扑克牌的切换

首先我们创建label,使他背景为第一张扑克

简单摆一下位置

先实现功能,最后我们再用布局管理器去摆

设置上下按钮的变量

槽函数对qss进行操作

def down(self):
    self.v_count = (self.v_count + 1) % 5
    self.label.setStyleSheet('background-image:url(resource/card.png);background-origin:content;padding-top:'+str(self.v_count*-70)+'px;padding-left:'+str(self.h_count*-52)+'px;')

def up(self):
    self.v_count = (self.v_count - 1) % 5
    self.label.setStyleSheet('background-image:url(resource/card.png);background-origin:content;padding-top:'+str(self.v_count*-70)+'px;padding-left:'+str(self.h_count*-52)+'px;')

def right(self):
    self.h_count = (self.h_count + 1) % 13
    self.label.setStyleSheet('background-image:url(resource/card.png);background-origin:content;padding-top:'+str(self.v_count*-70)+'px;padding-left:'+str(self.h_count*-52)+'px;')

def left(self):
    self.h_count = (self.h_count - 1) % 13
    self.label.setStyleSheet('background-image:url(resource/card.png);background-origin:content;padding-top:'+str(self.v_count*-70)+'px;padding-left:'+str(self.h_count*-52)+'px;')
  • qss中也是可以用字符串进行拼接的

当有选择器的时候样式表是可以叠加的,也就是说,咱们这样写槽函数也行

经测试一样可以完成功能

最后的槽函数我们也可以这样写

如果再槽函数中也加入了选择器,那咱们也可以这样写

我们现在回过头来搞样式

首先锁死label的大小

之后正常摆放

当然也可以有别的样式,这个就咱们自己设置吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Suyuoa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值