QT QTableWidget не отображается в QTabWidget

У меня есть приложение, которое использует несколько вкладок. Я использовал QTabWidget. На некоторых вкладках мне нужно было показать таблицы, поэтому я использовал QTableWidget.

Фрагмент кода:

QWidget *qwgt = qPreviewTabs->widget(Index);
QTableWidget *qDrvTab = new QTableWidget();
....
....
....
QVBoxLayout *vbLyt = new QVBoxLayout();
vbLyt->addWidget(qDrvTab);
qwgt->setLayout(vbLyt); 

Когда я добавляю кнопки и древовидные виджеты, все они без проблем появляются на указанной вкладке. Только QTableWidget отказывается показывать.


person hiranes    schedule 25.05.2012    source источник
comment
Где вы создаете QTableWidget? Что такое qDrvTab? Можете ли вы показать нам пример успешной вставки виджета на вкладку и неудачной вставки виджета в таблицу?   -  person cmannett85    schedule 25.05.2012
comment
К сожалению, извините.. qDrvTab - это таблица. Сейчас я отредактировал фрагмент кода. Это ошибочный код, в том смысле, что таблица не отображается. Если я добавлю любой другой виджет в макет, он отобразится. только Таблица не работает.   -  person hiranes    schedule 25.05.2012


Ответы (1)


A table with no rows and columns is a void.

So do

qDrvTab->setRowCount(no_of_rows);
qDrvTab->setColumnCount(no_of_cols);

перед добавлением его в макет.

Теперь вы можете увидеть свой Tablewidget в макете.

person ScarCode    schedule 25.05.2012