Qt の QtableView を使用しています。私は1つの問題に直面しています。完全な cell にコンテンツを修正できません。私の場合、列のサイズが固定されており、行を引き伸ばすことができます。以下はサンプルコードです
#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」は 2 行目にある必要があります。つまり、各セルはコンテンツを 2 行で表示する必要があります。
次のリンクで Qt::TextWordWrap を見つけましたが、コードで使用できません
http://www.qtcentre.org/threads/27839-For-Qt-4-6-x-how-to-auto-size -指定された幅に収まるテキスト