簡體   English   中英

如何防止QTabWidget中的選項卡按鈕縮小

[英]How to prevent tab buttons from shrinking in QTabWidget

縮小包含窗口時,如何防止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();
}

當主窗口足夠大時,我可以看到每個選項卡的全名:

在此處輸入圖片說明

但是,當我縮小主窗口時,即使我啟用了標簽欄的滾動功能,標簽名稱也會被縮短,每個名稱的一部分都被刪除了:

在此處輸入圖片說明

由於啟用了選項卡欄滾動功能,因此從UI角度來看,將選項卡名稱保持完整大小似乎是可行的,因此用戶將能夠清楚地閱讀每個選項卡名稱。

但是,我需要知道如何修改上面的代碼,以使選項卡按鈕的名稱不會縮小,因此會被部分省略。

為了簡潔起見,我將不去描述我為弄清楚這一點而進行的許多誤導新手實驗。

謝謝

您可以使用以下方式禁用文字省略:

tabs->setElideMode(Qt::ElideNone);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM