如何在 qtabwidget 中设置不同宽度的标签?

问题描述 投票:0回答:1

在我的项目中有一个带有 5 个选项卡的 QTabWidget,使用 styleSheet 我改变了整个小部件的样式,但是一些选项卡对于其中的文本变小了。如何为某些选项卡设置单独的宽度?

如您所见,前 3 个选项卡的宽度正常,但后 2 个对于其中的文本来说太小了。 样式表:

QTabWidget::pane
{               
    background-color: rgb(212, 234, 255);
    border: 1px solid; /*граница*/
    border-color: rgb(255, 255, 255);
}
QTabWidget::tab-bar
{   
    left: 10px; /*перемещение кнопок вкладок*/
    width: 650px;
}
QTabBar::tab
{
    font: 75 11pt "MS Shell Dlg 2";
    font-weight: bold;
    background-color: qlineargradient(spread:pad, x1:0.502, y1:1, x2:0.493, y2:0, 
                                stop:0 rgba(53, 92, 88, 255), 
                                stop:1 rgba(45, 143, 132, 255));
                                
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    min-width: 5px;
    padding: 6px;   
    border: 1px solid;
    border-color: rgb(255, 255, 255);
}
QTabBar::tab:selected, 
QTabBar::tab:hover
{
    background-color: rgb(63, 171, 160);
}
QTabBar::tab:!selected
{
    margin-top: 5px
}
QTabBar::tab:selected
{
    margin-left: 4px;
    margin-right: 4px;
    background-color: qlineargradient(spread:pad, x1:0.502, y1:1, x2:0.493, y2:0, 
                                stop:0 rgba(53, 92, 88, 255), 
                                stop:1  rgb(58, 207, 192));
}

补充资料: 我不会更改 UI 的 .ui 或 .py 文件; 为了创建 UI,我使用 QtDesigner; 所有逻辑代码都在单独的文件中,我在其中导入 UI 文件。

python css qt pyqt qtabwidget
1个回答
0
投票

将 QTabWidget 的大小策略设置为“首选”,以使其扩展以适合其内容:

myTabWidget.setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);

在QTabWidget中添加如下样式表:

QTabWidget::tab-bar {
    width: fit-content;
}
© www.soinside.com 2019 - 2024. All rights reserved.