QTabWidget中如何防止标签按钮缩小
How to prevent tab buttons from shrinking in QTabWidget
如何防止 Qt5 QTabWidget 的选项卡按钮收缩,从而在我收缩包含 window 时隐藏完整的选项卡名称?
这是一个独立的问题示例:
#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();
}
当主 window 足够大时,我可以看到每个选项卡的全名:
然而,当我缩小主 window 时,选项卡名称会缩短,每个名称的一部分被省略,即使我已经启用了选项卡栏的滚动:
由于启用了选项卡栏滚动,从 UI 的角度来看似乎可以使选项卡名称保持全尺寸,这样用户就可以清楚地阅读每个选项卡。
但是,我需要知道如何修改上面的代码,使选项卡按钮名称不会缩小,从而部分被省略。
为了简洁起见,我将不再描述我试图解决这个问题的许多误入歧途的新手实验。
谢谢
您可以通过以下方式禁用文本省略:
tabs->setElideMode(Qt::ElideNone);
如何防止 Qt5 QTabWidget 的选项卡按钮收缩,从而在我收缩包含 window 时隐藏完整的选项卡名称?
这是一个独立的问题示例:
#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();
}
当主 window 足够大时,我可以看到每个选项卡的全名:
然而,当我缩小主 window 时,选项卡名称会缩短,每个名称的一部分被省略,即使我已经启用了选项卡栏的滚动:
由于启用了选项卡栏滚动,从 UI 的角度来看似乎可以使选项卡名称保持全尺寸,这样用户就可以清楚地阅读每个选项卡。
但是,我需要知道如何修改上面的代码,使选项卡按钮名称不会缩小,从而部分被省略。
为了简洁起见,我将不再描述我试图解决这个问题的许多误入歧途的新手实验。
谢谢
您可以通过以下方式禁用文本省略:
tabs->setElideMode(Qt::ElideNone);