Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我拖放一个表视图小部件(Qt)。填充元素后如何调整其大小?_C++_Qt_Ubuntu_Qt Creator - Fatal编程技术网

C++ 我拖放一个表视图小部件(Qt)。填充元素后如何调整其大小?

C++ 我拖放一个表视图小部件(Qt)。填充元素后如何调整其大小?,c++,qt,ubuntu,qt-creator,C++,Qt,Ubuntu,Qt Creator,我用Ubuntu/c++语言工作 我有以下QTable: ui1->tableView_->setVisible(false); QStandardItemModel *itemmodel_ = new QStandardItemModel(0,1); itemmodel_->setHeaderData(0, Qt::Horizontal, tr("File")); ui1->tableView_->setModel(itemmodel_); //.. a

我用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

您似乎没有将TableView添加到任何布局中。您需要将其添加到表单中的任何布局中。例如:

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

布局是小部件的容器。它的目的是为其小部件添加定位和大小调整规则。例如,QVBoxLayout只是垂直排列小部件。可以将布局与其他布局组合。因此,您可以更简单地构建复杂的UI设计(支持调整大小)。有关更多信息,请查看和

此布局是什么?我可以为表格中的所有按钮表设置一个布局吗?在哪里添加布局行?在我填充tableview的方法中?您可以通过在designer上选择顶级小部件并单击任何布局按钮(垂直、水平、网格等)(请查看我答案的第一个链接)来定义顶级布局,然后您可以使用at代码访问此顶级布局。+1-听起来很傻(确实如此),但我也有相同的错误。