QTabWidget-选项卡图标不在中心

ern*_*rni 1 icons qt tabs widget tabwidget

我有一个带有六个选项卡的QTabWidget,所有选项卡都有一个图标-但图标不在选项卡的中心:

标签图标

到目前为止,我所做的是:

tabWidget->setStyleSheet("QTabBar::tab {width: 40px; height: 40px;}"
                        "QTabBar::tab:selected {background: lightblue;}");
tabWidget->setIconSize(QSize(40, 40));
tabWidget->addTab("widget", QIcon("iconPath"), ""); //<--for all six tabs
Run Code Online (Sandbox Code Playgroud)

和:

tabWidget->setTabIcon(index, QIcon("iconPath"));
Run Code Online (Sandbox Code Playgroud)

有什么想法为什么会发生这种情况,以及如何解决?

KGC*_*beX 5

我也一直在努力解决这个问题。这是我的解决方法。

背景:

我试图打开左侧的标签菜单,该菜单使用图标作为指示器(用户会看到的内容),但是我遇到了一个问题:

在此处输入图片说明

我的图标是使用“属性编辑器”中的currentTabIcon设置的,它与底部对齐(这是预期的,因为我使用的是West方向。通常,选择North方向,图标在左侧)。

我将其作为样式表:

QTabBar::tab:hover {
	background-color: #212121;
}

QTabBar::tab:selected{
    background-color: #313131;
}
QTabBar::tab {
    background-color: #111111;	
	height:70px;
	width: 70px;
	border: none;
}
Run Code Online (Sandbox Code Playgroud)

现在,尝试本文中设置边距的建议解决方案并没有达到预期的效果,实际上它根本没有效果。

解:

在试用了一些CSS属性之后,我发现设置了padding-toppadding-bottom给了我想要的结果。

在此处输入图片说明

添加行:

	padding-top: -15px;
	padding-bottom: 15px
Run Code Online (Sandbox Code Playgroud)

为我解决了这个问题,但是需要根据您的需要进行更改。

我的最终样式表类似于:

QTabBar::tab:hover {
	background-color: #212121;
}

QTabBar::tab:selected{
    background-color: #313131;
}
QTabBar::tab {
    background-color: #111111;	
	height:70px;
	width: 70px;
	border: none;
	margin: 0px;
	padding-top: -15px;
	padding-bottom: 15px
}
Run Code Online (Sandbox Code Playgroud)