C++ 我拖放一个表视图小部件(Qt)。填充元素后如何调整其大小?
我用Ubuntu/c++语言工作 我有以下QTable: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
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-听起来很傻(确实如此),但我也有相同的错误。