0

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 -指定された幅に収まるテキスト

4

0 に答える 0