Я перетаскиваю виджет табличного представления (Qt).Как изменить его размер после заполнения элементов? - PullRequest
0 голосов
/ 25 июля 2011

Я работаю на языке Ubuntu / c ++.

У меня есть следующая таблица QTable:

 ui1->tableView_->setVisible(false);
 QStandardItemModel *itemmodel_ = new QStandardItemModel(0,1);
 itemmodel_->setHeaderData(0, Qt::Horizontal, tr("File"));
  ui1->tableView_->setModel(itemmodel_);
//.. add new rows in the table

  ui1->tableView_->resizeColumnsToContents();
              ui1->tableView_->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents);

  ui1->tableView_plugin->setVisible(true);

После запуска приложения размер таблицы не изменяется.Где я не прав?Как решить проблему?

И еще один вопрос: как выбрать целую строку, чтобы удалить ее после нажатия кнопки удаления.

Оценить.THX

1 Ответ

2 голосов
/ 25 июля 2011

Похоже, вы не добавили TableView ни к какому макету. Вам нужно добавить его в любой макет в вашей форме. Например:

QVBoxLayout *layout = new QVBoxLayout(this);
layout->addWidget(tableView);

Layout - это контейнер для виджетов. Его целью является добавление правил позиционирования и изменения размеров для своих виджетов. Например, QVBoxLayout просто размещает виджеты по вертикали. Вы можете комбинировать макеты с другими макетами. Таким образом, вы можете создавать сложные пользовательские интерфейсы проще (с поддержкой изменения размера). Для получения дополнительной информации вы можете проверить этот документ и этот документ

...