我正在使用 Qt 的 QtableView。我面临一个问题。我无法修复内容以完成单元格。就我而言,我有固定的列大小,并且可以拉伸行。以下是示例代码
#include <QApplication>
#include"QStandardItemModel"
#include"QTableView"
#include"QStandardItem"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QStandardItemModel *model = new QStandardItemModel(8,3);
QTableView * pQTableView = new QTableView();
for(int r = 0;r<8;r++)
for(int c = 0; c<3; c++)
{
QModelIndex index1= model->index(r,c);
QVariant value("Swaminarayan maharaj");
model->setData(index1, value,Qt::DisplayRole );
QVariant value1( Qt::AlignCenter);
model->setData(index1, value1,Qt::TextAlignmentRole );
}
pQTableView->resize(400,400);
pQTableView->setModel(model);
pQTableView->setColumnWidth(0, 100);
pQTableView->setColumnWidth(1, 100);
pQTableView->setColumnWidth(2, 100);
pQTableView->show();
return a.exec();
}
如您所见,我希望每个单元格都有“Swaminarayan maharaj”。但是 Swaminarayan 应该在单元格的第一行,而“maharaj”在第二行。简而言之,每个单元格以两行显示内容。
在以下链接中,我找到了 Qt::TextWordWrap 但我无法在我的代码中使用
http://www.qtcentre.org/threads/27839-For-Qt-4-6-x-how-to-auto-size -text-to-fit-in-a-specified-width