python - 在选择另一个小部件时更改 PyQt5 中的背景
问题描述
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys
def foo():
app = QApplication(sys.argv)
window = QWidget()
window.setStyleSheet("""
background-color: green;
""")
btn1 = QPushButton('My_Button', window)
btn1.setStyleSheet("""
QPushButton{
background-color:yellow;
}
""")
btn1.setGeometry(25,25,50,50)
window.resize(100,100)
window.show()
sys.exit(app.exec())
if __name__ == "__main__":
foo()
我们如何更改主小部件(QWidget)的背景颜色。示例:- 当我们按下TAB时,My_Button 被选中,所以我想要的是当我们选择任何小部件时,它可以更改另一个小部件的内容(此处为背景)。
解决方案
您可以创建一个继承自 QPushButton 的子类 My_Button,并覆盖其 focusInEvent 事件侦听器 - 在您的情况下,运行这些行来更改主小部件背景的颜色。然后,在您的应用程序中使用这个子类。
推荐阅读
- javascript - this.state.xxx.map 不是函数
- json - 如何将所有数据加载到选取器视图中
- firebase - 获取当前的 Firestore API 调用
- vb.net - vb.net 从文本框日期获取一年的第一天/上个月的最后一天/上个月的第一天
- flutter - Flutter:在屏幕之间传递多个数据
- amazon-web-services - AWS 网络输出
- jupyterhub - 为自己读/写 Jupyter notebook,为他人只读
- python - 处理无效的 Json
- android - 实现“com.github.parse-community.Parse-SDK-Android:parse:1.20.0”不起作用
- embedded - 如何使普通的 C 库在嵌入式环境中工作?