Python学习笔记——按钮对象样式及字符串的格式化

在Python中使用PyQt或者PySide中按钮对象,可以使用setStyleSheet()方法更新按钮对象的样式,如果需要多次或者对多个按钮更新类似的样式,可以先建立一个样式字符串,字符串中包含定义的变量,通过字符串的格式化format()方法传入参数,从而进行样式更改。

下面代码定义了一个按钮的样式字符串,定义了3个变量,分别是默认显示的图片,及鼠标移动到按钮对象上显示的图片,及按钮按下后显示的图片。在按钮单击事件槽函数中可以对多个(一组)按钮的样式进行更改。

# 按钮样式,定义了按钮默认显示的图片,及鼠标移动其上,及鼠标按下时显示的图片样式
pushBtn_sheet = """
        QPushButton {{  
        border: none;  
        background-image: url({background_image});  
        background-repeat: no-repeat;  
        background-position: center;  
        }}  
        QPushButton:hover {{  
        background-image: url({hover_image});  
        }}  
        QPushButton:pressed {{  
        background-image: url({pressed_image});  
        }}  
    """

# 在按钮对象1中设置按钮1和按钮2的样式
def menuBtn1Click(self):

    # 设置menuBtn1按钮样式
    self.menuBtn1.setStyleSheet(pushBtn_sheet.format(
            background_image = 'gui/images/icons/btn1.png',
            hover_image = 'gui/images/icons/btn1_1.png',
            pressed_image = 'gui/images/icons/btn1_2.png'
        ))

    # 设置menuBtn2按钮样式
    self.menuBtn2.setStyleSheet(pushBtn_sheet.format(
            background_image = 'gui/images/icons/btn2.png',
            hover_image = 'gui/images/icons/btn2_1.png',
            pressed_image = 'gui/images/icons/btn2_2.png'
        ))

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值