【发布时间】:2013-11-17 20:21:39
【问题描述】:
我目前有一个看起来像这样的 tableview
您可以看到只有第三列是正确的宽度,而第一列和第二列更大。有什么办法可以使列适合内容或明确地使第 1 列和第 2 列更小。我试着做tableView->resizeColumnsToContents();,但这没有什么区别。有什么建议吗?
这是我的代码
void Test::AddEntry()
{
QImage myimg;//(":/Test/Images/add.png");
QStandardItem* item_avtr = new QStandardItem();
item_avtr->setData( QPixmap::fromImage( myimg ), Qt::DecorationRole ) ;
QStandardItem* item_aonline = new QStandardItem();
item_aonline->setText("hello");
QStandardItem* item_name = new QStandardItem("Name");
QList<QStandardItem*> lst ;
lst.push_back(item_avtr);
lst.push_back(item_aonline);
lst.push_back(item_name);
ModelOptions->appendRow(lst);
}
模型是这样启动的
ModelOptions =new QStandardItemModel();
ui.tableView->setModel(ModelOptions);
QStringList labels;
labels.push_back("col1");
labels.push_back("col2");
labels.push_back("col3");
ModelOptions->setHorizontalHeaderLabels(labels);
ui.tableView->horizontalHeader()->setVisible(false);
ui.tableView->verticalHeader()->setVisible(false);
ui.tableView->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
ui.tableView->resizeColumnsToContents();
ui.tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
AddEntry();
【问题讨论】:
-
resizeColumnsToContents()应该可以正常工作。您使用它的方式可能有问题。 -
代码显示我在做什么