具有多行单元格的QTableView [英] QTableView with multiline cell
本文介绍了具有多行单元格的QTableView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何创建QTableView多行单元格?
我正在使用以下代码填充表格。
但是Whem GetDescription()
返回一个长字符串,内容以 ...
终止p>
有什么方法可以自动中断?
QStandardItemModel *模型= new QStandardItemModel(logos.size(),2,此);
model-> setHorizontalHeaderItem(0,new QStandardItem(QString())));
model-> setHorizontalHeaderItem(1,new QStandardItem(QString( Nome))));
model-> setHorizontalHeaderItem(2,new QStandardItem(QString(Descrição))));
int行= 0;
foreach(项目*项目,项目)
{
QStandardItem * check = new QStandardItem(true);
check-> setCheckable(true);
model-> setItem(row,0,check);
QStandardItem * nameItem = new QStandardItem(QString(item-> GetName()));
nameItem-> setEditable(false);
model-> setItem(row,1,nameItem);
QStandardItem * descriptionItem = new QStandardItem(item-> GetDescription());
descriptionItem-> setEditable(false);
descriptionItem-> setToolTip(logo-> GetDescription());
model-> setItem(row,2,descriptionItem);
行++;
}
ui-> tableView-> setModel(model);
ui-> tableView-> resizeColumnToContents(0);
ui-> tableView-> resizeColumnToContents(1);
ui-> tableView-> horizontalHeader()-> setSectionResizeMode(0,QHeaderView :: Fixed);
ui-> tableView-> horizontalHeader()-> setSectionResizeMode(1,QHeaderView :: Fixed);
ui-> tableView-> horizontalHeader()-> setSectionResizeMode(2,QHeaderView :: Stretch);
ui-> tableView-> setSelectionBehavior(QAbstractItemView :: SelectRows);
解决方案
我只添加到我的代码中:
ui-> tableView-> verticalHeader()-> setSectionResizeMode(QHeaderView :: ResizeToContents);
How can I create a QTableView multiline cell?
I'm filling the table using the code bellow.
But Whem GetDescription()
returns a long string, the content is terminated with ...
There is some way to automatic break the line?
QStandardItemModel * model = new QStandardItemModel(logos.size(), 2, this);
model->setHorizontalHeaderItem(0, new QStandardItem(QString("")));
model->setHorizontalHeaderItem(1, new QStandardItem(QString("Nome")));
model->setHorizontalHeaderItem(2, new QStandardItem(QString("Descrição")));
int row = 0;
foreach(Item * item, items)
{
QStandardItem* check = new QStandardItem(true);
check->setCheckable(true);
model->setItem(row, 0, check);
QStandardItem *nameItem = new QStandardItem(QString(item->GetName()));
nameItem->setEditable(false);
model->setItem(row, 1, nameItem);
QStandardItem *descriptionItem = new QStandardItem(item->GetDescription());
descriptionItem->setEditable(false);
descriptionItem->setToolTip(logo->GetDescription());
model->setItem(row, 2, descriptionItem);
row++;
}
ui->tableView->setModel(model);
ui->tableView->resizeColumnToContents(0);
ui->tableView->resizeColumnToContents(1);
ui->tableView->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Fixed);
ui->tableView->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Fixed);
ui->tableView->horizontalHeader()->setSectionResizeMode(2, QHeaderView::Stretch);
ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
解决方案
I only add to my code:
ui->tableView->verticalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
这篇关于具有多行单元格的QTableView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文