2015-02-25 5 views
0

Как предотвратить сглаживание кнопок вкладок Qt5 QTabWidget, тем самым перекрывая имена полных вкладок, когда я сжимаю содержащее окно?Как предотвратить удержание кнопок вкладок в 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

Поскольку прокрутка на вкладке разрешена, похоже, что она будет работать с точки зрения пользовательского интерфейса, чтобы сохранить имена вкладок в полном размере, чтобы пользователь мог прочитать каждый из них однозначно.

Мне нужно знать, как изменить приведенный выше код, чтобы названия кнопок вкладок не уменьшались и, следовательно, частично удалялись.

Для краткости я расскажу о своих многочисленных ошибочных экспериментах новичков, пытаясь понять это.

Благодаря

ответ

1

Вы можете отключить текст Пропуска с:

tabs->setElideMode(Qt::ElideNone); 
+0

отлично работает, спасибо! – lcikgl

Смежные вопросы