如何防止标签按钮在QTabWidget中缩小

时间:2015-02-25 21:04:42

标签: qt tabs qt5 qtabwidget qtabbar

当我缩小包含窗口时,如何防止Qt5 QTabWidget的标签按钮缩小,从而遮盖整个标签名称?

这是问题的一个独立示例:

#include <QApplication>
#include <QMainWindow>
#include <QtGui>
#include <QTableWidget>

QTableWidget*
makeTableWidget( QWidget* parent )
{
    QTableWidget* tableWidget = new QTableWidget( 20, 20, parent );

    for( int irow = 0; irow < 20; irow++ ) {
      for( int icol = 0; icol < 20; icol++ ) {
            QTableWidgetItem* newItem = new QTableWidgetItem( QString( "%1,%2" ).arg( irow ).arg( icol ) );
            tableWidget->setItem( irow, icol, newItem );
      }
    }

    return tableWidget;
}

int
main( int argc, char *argv[] ) {
    QApplication app( argc, argv );

    QMainWindow* mw = new QMainWindow();

    QTabWidget* tabs = new QTabWidget();

    tabs->setUsesScrollButtons( true );

    for( int itab = 0; itab < 10; itab++ ) {
            QTableWidget* tableWidget = makeTableWidget( mw );
            tabs->addTab( tableWidget, QString( "Table%1" ).arg( itab, 2, 10, QLatin1Char( '0' ) ) );
    }

    mw->setCentralWidget( tabs );

    mw->show();

    return app.exec();
}

当主窗口足够大时,我可以看到每个标签的全名:

enter image description here

然而,当缩小主窗口时,即使我已经为标签栏启用了滚动功能,标签名称也会缩短,每个名称的一部分都会被删除:

enter image description here

由于启用了标签栏滚动,似乎从UI角度来看,它可以使标签名称保持完整大小,因此用户可以明确地阅读每个标签栏。

但是,我需要知道如何修改上面的代码,以便标签按钮名称不会缩小,从而得到部分省略。

为了简洁起见,我将对我的许多被误导的新手实验进行描述,试图弄明白这一点。

由于

1 个答案:

答案 0 :(得分:1)

您可以使用以下命令禁用文本省略:

tabs->setElideMode(Qt::ElideNone);