📜  PyQt5 QSpinBox – 获取样式名称(1)

📅  最后修改于: 2023-12-03 15:18:49.705000             🧑  作者: Mango

PyQt5 QSpinBox – 获取样式名称

在 PyQt5 中, QSpinBox 类提供了一个样式表,可以用于自定义小部件的外观和感觉。有时,我们需要了解当前应用于 QSpinBox 的样式表名称。

使用 .styleSheet() 方法可以获得当前应用于 QSpinBox 的样式表。例如:

styleSheet = self.spinBox.styleSheet()

样式表的名称可以通过正则表达式或字符串操作来提取。以下是一个示例代码,用于提取样式表名称和定义的样式属性。

import re

styleSheet = self.spinBox.styleSheet()
# 匹配样式名称
match = re.search("^[^{]*", styleSheet)
styleName = match.group(0).strip()
# 匹配样式属性
propertyMatch = re.findall("([A-Za-z0-9_]*):", styleSheet)
properties = [prop.strip() for prop in propertyMatch]

上述代码中,我们使用正则表达式来匹配样式表名称和定义的属性。 我们首先使用 re.search 函数来匹配样式表名称。 正则表达式 “^[^{] *” 匹配第一个花括号之前的所有字符。 match.group(0) 从匹配对象中返回匹配对象的第一部分,即样式表名称。 要提取属性名称,请使用 re.findall 函数。 正则表达式 “([ A-Za-z0-9_] *):” 匹配冒号之前的属性名称。 它返回一个列表,其中包含所有定义的属性名称。 然后我们使用一个简单的列表解析来删除属性名称之间的空格。

希望这篇文章对您的 PyQt5 编程有所帮助。