pythonqt设置了按钮但是不显示怎么办_python-使用Qt样式表更改状态更改图标

我正在尝试为我的应用程序支持主题设置,但遇到一个问题,我必须根据QPushButton的状态(默认,悬停,按下等)更改图标.这是我用来设置QPushButton图标的内容:

QPushButton#playButton {

qproperty-icon: url(":/light/icons/play_light.png");

}

由于悬停状态使用的背景需要深色主题的图标,因此我尝试使用以下方法将其更改为其他主题:

QPushButton#playButton:hover {

qproperty-icon: url(":/dark/icons/play_dark.png");

}

当我这样做时,play_light.png会按原样显示,但状态更改时不会更改为play_dark.png.

在我的Python代码中,播放按钮在播放时变为停止按钮,因此,按照我的风格,我使用自定义属性将其设置为该图标:

QPushButton#playButton[isPlaying="true"] {

qproperty-icon: url(":/light/icons/stop_light.png");

}

这对我来说也不会改变.因此,我在网上找到了一些代码来重置按钮的样式,如下所示:

self.ui.playButton.setProperty('isPlaying', not isEnable)

self.ui.playButton.setStyle(qApp.style())

我不想针对每个状态更改的每个按钮使用此解决方法.你们以前遇到过这个问题吗?

感谢您的宝贵时间.

解决方法:

设置qApp.style()并不是一个好主意.试试看(从C转换):

button->style()->unpolish(button);

button->style()->polish(button);

button->update();

标签:qpushbutton,python,qt,pyqt,qstyle

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值