QTtabwidget设置图标居中
时间: 2023-07-04 17:31:19 浏览: 262
您可以使用以下代码将QTTabWidget中的图标居中:
```cpp
// 获取tabBar
QTabBar* tabBar = ui->tabWidget->tabBar();
// 遍历所有选项卡
for (int i = 0; i < tabBar->count(); i++) {
// 获取选项卡的图标
QIcon icon = tabBar->tabIcon(i);
if (!icon.isNull()) {
// 设置选项卡图标的大小
QSize iconSize(tabBar->iconSize().width(), tabBar->iconSize().height());
icon.pixmap(iconSize);
// 将图标居中
tabBar->setTabIcon(i, icon);
tabBar->setTabIconSize(iconSize);
}
}
```
将上述代码添加到您的QTTabWidget中的初始化函数中,即可实现图标居中的效果。
相关问题
qss设置图标居中对齐
您可以使用如下的CSS样式来使一个图标居中对齐:
```
display: flex;
justify-content: center;
align-items: center;
```
这个样式使用了flex布局,将图标在水平和垂直方向上同时居中对齐。
qtabwidget设置标签图标居中对齐
可以通过以下方式实现 qtabwidget 标签图标的居中对齐:
1. 将 tab 的图标设置为 pixmap,而不是 QIcon。
2. 设置 tab 的 text 和 iconSize。
3. 自定义样式表,将图标居中对齐。
示例代码如下:
QTabWidget *tabWidget = new QTabWidget(this);
// 创建 tab
QWidget *tab1 = new QWidget;
QWidget *tab2 = new QWidget;
// 设置 tab 的 text 和 icon
tabWidget->addTab(tab1, "Tab 1");
tabWidget->setTabIcon(0, QIcon(QPixmap(":/images/image.png").scaled(QSize(24, 24))));
tabWidget->setIconSize(QSize(24, 24));
tabWidget->addTab(tab2, "Tab 2");
tabWidget->setTabIcon(1, QIcon(QPixmap(":/images/image2.png").scaled(QSize(24, 24))));
tabWidget->setIconSize(QSize(24, 24));
// 自定义样式表,将图标居中对齐
QString styleSheet = "QTabBar::tab {"
" width: 100px;"
" height: 40px;"
" border: 1px solid gray;"
" border-bottom: none;"
" border-top-left-radius: 4px;"
" border-top-right-radius: 4px;"
" background: white;"
"}"
"QTabBar::tab:selected {"
" background: gray;"
"}"
"QTabBar::tab:pressed {"
" background: white;"
"}"
"QTabBar::tab:!selected {"
" margin-top: 2px;"
"}"
"QTabBar::tab:first {"
" margin-left: 0;"
"}"
"QTabBar::tab:last {"
" margin-right: 0;"
"}"
"QTabBar::tab:only-one {"
" margin: 0;"
"}"
"QTabBar::tab:!selected::icon {"
" position: relative;"
" top: 50%;"
" transform: translateY(-50%);"
"}";
tabWidget->setStyleSheet(styleSheet);
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)