pyqt UI 文件 - 设置 class 属性
pyqt UI File - set class property
我有一个包含我的样式的 .qss 文件。
我像这样将它加载到我的应用程序中:
with open(_assets_folder + _css_file) as fh:
main_view.setStyleSheet(fh.read())
我在 .ui 文件中有我的视图,我像这样加载到我的应用程序中:
uic.loadUi(self._views_folder + ui_file, self)
而且我可以像这样将我的 .qss 中的 classes 应用到我的 top_label1(并且有效):
self.top_label1.setProperty('class', 'top')
顶部 class 在我的 .qss 文件中:
.top {
color: black;
font-size: 82px;
font-weight: bold;
font-family: Arial;
qproperty-alignment: 'AlignVCenter | AlignCenter';
}
我的标签在我的 .ui 文件中:
<widget class="QLabel" name="top_label1">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>330</width>
<height>120</height>
</size>
</property>
<property name="baseSize">
<size>
<width>330</width>
<height>120</height>
</size>
</property>
</widget>
是否可以直接在.ui文件中设置class?
QT 设计有什么选择吗?
我尝试添加(手动)以下但没有成功:
<property name="class">
<string>top</string>
</property>
您还可以从 Designer 的 属性 编辑器中添加“dynamic properties”:
添加一个名为“class”的字符串 属性 并相应地设置名称值。
请注意,虽然可以使用点-class 选择器(假设设置了名为“class”的字符串 属性),但您也可以使用自定义 属性 命名并使用方括号选择器;例如,在上述情况下,您还可以使用以下样式表:
QWidget[class="top"] {
color: black;
font-size: 82px;
font-weight: bold;
font-family: Arial;
qproperty-alignment: 'AlignVCenter | AlignCenter';
}
请注意,属性 值在样式表中始终是字符串,因此它们 必须 括在引号中,布尔值 必须 小写。
例如,如果您添加名为“bigFont”的布尔动态 属性,样式表将如下所示:
QWidget[bigFont="true"] {
font-size: 82px;
}
我有一个包含我的样式的 .qss 文件。 我像这样将它加载到我的应用程序中:
with open(_assets_folder + _css_file) as fh:
main_view.setStyleSheet(fh.read())
我在 .ui 文件中有我的视图,我像这样加载到我的应用程序中:
uic.loadUi(self._views_folder + ui_file, self)
而且我可以像这样将我的 .qss 中的 classes 应用到我的 top_label1(并且有效):
self.top_label1.setProperty('class', 'top')
顶部 class 在我的 .qss 文件中:
.top {
color: black;
font-size: 82px;
font-weight: bold;
font-family: Arial;
qproperty-alignment: 'AlignVCenter | AlignCenter';
}
我的标签在我的 .ui 文件中:
<widget class="QLabel" name="top_label1">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>330</width>
<height>120</height>
</size>
</property>
<property name="baseSize">
<size>
<width>330</width>
<height>120</height>
</size>
</property>
</widget>
是否可以直接在.ui文件中设置class? QT 设计有什么选择吗?
我尝试添加(手动)以下但没有成功:
<property name="class">
<string>top</string>
</property>
您还可以从 Designer 的 属性 编辑器中添加“dynamic properties”:
添加一个名为“class”的字符串 属性 并相应地设置名称值。
请注意,虽然可以使用点-class 选择器(假设设置了名为“class”的字符串 属性),但您也可以使用自定义 属性 命名并使用方括号选择器;例如,在上述情况下,您还可以使用以下样式表:
QWidget[class="top"] {
color: black;
font-size: 82px;
font-weight: bold;
font-family: Arial;
qproperty-alignment: 'AlignVCenter | AlignCenter';
}
请注意,属性 值在样式表中始终是字符串,因此它们 必须 括在引号中,布尔值 必须 小写。
例如,如果您添加名为“bigFont”的布尔动态 属性,样式表将如下所示:
QWidget[bigFont="true"] {
font-size: 82px;
}