python - 如何在子类中使用“setStyleSheet”
问题描述
我是 Python 新手,经过长时间的休息后再次学习编码。因此,如果这是微不足道的(几乎可以肯定是),请原谅。
我正在尝试创建 QWidget 的子类,以便更轻松地设置背景颜色(当然还有其他未来的东西)。
我有两个例子,一个有效,另一个无效。我想“修复”没有的那个。
任务是创建一个带有红色背景的窗口。
(注意。我是英国人,因此在我的定制中使用颜色而不是颜色)
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
import sys
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super(MainWindow, self).__init__(*args, **kwargs)
cw1 = QWidget()
cw1.setAutoFillBackground(True)
cw1.setStyleSheet("background-color: Red;")
self.setCentralWidget(cw1)
app = QApplication(sys.argv)
window = MainWindow()
window.show()
app.exec_()
在这个版本中,我将 QWidget 子类化以允许颜色参数
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
import sys
class ColourW(QWidget):
def __init__(self, colour, *args, **kwargs):
super(ColourW, self).__init__(*args, **kwargs)
self.setAutoFillBackground(True)
self.setStyleSheet("background-color: {colour};")
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super(MainWindow, self).__init__(*args, **kwargs)
cw1 = ColourW('red')
self.setCentralWidget(cw1)
app = QApplication(sys.argv)
window = MainWindow()
window.show()
app.exec_()
非常感谢任何帮助。
解决方案
推荐阅读
- azure-functions - 时间触发 Azure 函数显示 Microsoft.WindowsAzure.Storageb 错误
- unit-testing - JUnit 测试未按顺序运行
- java - 如何为窗口应用程序设置 setBorder?
- dart - 安装 Dart SDK 的 `dev channel release` 是什么?
- datetime-format - 如何从 informatica powercenter 中的表达式转换中的 SYSDATE 获取上个月和年份
- unity3d - 如何防止粒子系统物理模块在 Unity 构建中被剥离?
- sql-server - 用于变量表名、列名和值的 SQL Server 更新语句
- robotframework - 无法执行获取请求。获取 400 错误请求错误
- php - SQL 查询更新两次
- sql - 从时间差为 3 分钟的多行中获取一行