qss设置图标居中对齐
时间: 2023-05-22 12:05:45 浏览: 238
您可以使用如下的CSS样式来使一个图标居中对齐:
```
display: flex;
justify-content: center;
align-items: center;
```
这个样式使用了flex布局,将图标在水平和垂直方向上同时居中对齐。
相关问题
QMenu QSS 有图标和无图标时让文字对齐
在 QMenu 中,如果设置了图标,那么文字会默认垂直居中对齐,但是如果没有设置图标,那么文字会默认顶部对齐。这种差异导致了在 QMenu 中设置了图标和不设置图标时,无法通过一套 QSS 样式实现文字居中对齐。
不过,我们可以利用 QMenu 的子控件 QAbstractItemView 来实现统一的对齐方式。具体来说,可以在 QSS 样式中设置 QAbstractItemView 的对齐方式,然后将 QMenu 的子控件设置为 QAbstractItemView。
以下是一个例子,演示了如何在设置了图标和不设置图标时,让 QMenu 中的文字都居中对齐:
```python
menu = QMenu()
# 设置 QAbstractItemView 的对齐方式
menu.setStyleSheet("QAbstractItemView { padding: 5px; alignment: center; }")
# 添加带图标的 QAction
action1 = QAction(QIcon("icon.png"), "Action with Icon", menu)
menu.addAction(action1)
# 添加不带图标的 QAction
action2 = QAction("Action without Icon", menu)
menu.addAction(action2)
# 将 QMenu 的子控件设置为 QAbstractItemView
menu.view().setUniformItemSizes(True)
```
在上面的例子中,我们通过设置 QAbstractItemView 的 alignment 属性为 center,来实现子控件居中对齐。然后,通过设置 QMenu 的子控件为 QAbstractItemView,来让 QMenu 中所有子控件都继承 QAbstractItemView 的对齐方式。最后,通过设置 QMenu 的 uniformItemSizes 属性为 True,来让 QAbstractItemView 中的所有子控件都具有相同的大小。
这样,在 QMenu 中设置了图标和不设置图标时,就都可以实现文字居中对齐了。
Qt 用QSS代码设置QPushButton文字在图标下方显示
可以使用 QPushButton 的 `QSS` 样式表来实现文字在图标下方显示的效果,具体代码如下:
```cpp
QPushButton {
border: none;
background-color: transparent;
padding-top: 5px; /* 设置文字和图标的间距 */
text-align: center;
font-size: 16px;
color: #333333;
}
QPushButton::icon {
width: 48px;
height: 48px;
}
QPushButton::text {
padding-top: 5px; /* 设置文字和图标的间距 */
position: absolute;
top: 60px; /* 调整文字的位置 */
left: 0;
right: 0;
}
```
在上面的代码中,`padding-top` 属性设置了文字和图标的间距,`text-align` 属性设置了文字居中对齐,`color` 属性设置了文字颜色,`QPushButton::icon` 选择器设置了图标的大小,`QPushButton::text` 选择器设置了文字的位置。
可以根据实际情况调整样式表中各个属性的值,以达到最佳效果。
阅读全文