python - 采用背景颜色时如何更改按钮颜色?
问题描述
在这里,我给出了我的屏幕截图,我希望在悬停时更改整个按钮颜色,但只有边框或更改按钮在中心区域采用背景颜色我该如何更改它
class window(QtGui.QMainWindow):
def __init__(self):
super(window,self).__init__()
self.setGeometry(50,50,500,500)
self.setWindowTitle("PAVAI")
self.setStyleSheet("background-image: url(/home/balaji/black.png)")
#self.setStyleSheet('background-color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 1,stop: 0 white, stop: 0.4 gray,stop: 1 green);')
Calculate = QtGui.QPushButton("SHRINKAGE",self)
Calculate.move(100,200)
Calculate.resize(270,320)
Calculate.setStyleSheet('QPushButton :{ background-color: red; }')
Calculate.setStyleSheet('QPushButton:hover{ background-color: red; }')
Calculate.clicked.connect(self.shrinkage)
解决方案
如果您将样式表应用于小部件而不指示选择器,它将应用于小部件及其子级,因此当您使用它时,background-image: url(/home/balaji/black.png)
它也适用于按钮,因此如果您正在设置它但红色背景在它的background-image
顶部. 一种解决方案是background-image: url()
在悬停状态处于活动状态时在按钮上设置 a,这将消除 QMainWindow 中设置的背景图像:
class window(QtGui.QMainWindow):
def __init__(self):
super(window,self).__init__()
self.setGeometry(50,50,500,500)
self.setWindowTitle("PAVAI")
self.setStyleSheet("background-image: url(/home/balaji/black.png)")
calculate = QtGui.QPushButton("SHRINKAGE",self)
calculate.setGeometry(100,200, 270,320)
calculate.setStyleSheet('''
QPushButton:hover{ background-color: red; background-image: url()}
''')
补充说明:
- 我看到你调用了两次
Calculate.setStyleSheet(...)
,在这种情况下,只会使用最后一个。 - 我建议您阅读以下有关 Qt 样式表规则的链接:
推荐阅读
- java - 无法从领事注销服务(Spring Boot 应用程序)
- qt - 尝试使用 CMake 和 make 构建 Qt 项目时面临问题
- wpf - Xamarin 表单中是否有任何内容相当于 WPF 中的“路径”?
- ios - 在使用不同标签按下的 UIButton 上播放声音
- angular - 默认情况下如何检查角度单选按钮?
- c++ - c++ 在两个数组变量之间显示文本的问题
- oracle - 如何在 oracle Begin-End 中输出 Select 语句
- vue.js - $vuetify.rtl=true 仅将组件内的内容向右移动,但将组件替换到右侧不起作用?
- javascript - 如何计算时差
- android - ionic 3-更改android SDK工具版本