0

私は Qt クリエーターの初心者です。QmodelIndex を使用して、1 行 2 列のテーブル ビューを作成したいと考えています。モデルを tableView に割り当ててデータを作成する際にエラーが発生しました。

QTableView* const tableView
            = { htca_ui->tableView,
                 };

    tableView->setModel(&mymodel);

QmodelIndexを使用して2列の行を作成するために、モデルを作成してビューに割り当てる方法は?

助けてください

4

1 に答える 1

0

UI デザイナーで tableView を追加した場合は、コードで再度作成する必要はありません。QTableView が tableView と呼ばれ、htca_ui が UI ポインターであると仮定すると、次のことができます。

htca_ui->tableView->setModel(&mymodel);

編集: &mymodel は、スタック上に作成していることを意味しますが、これは最良のアイデアではない可能性があります。やったほうがいい:

MyModel *mymodelinstance = new MyModel(this);
htca_ui->tableView->setModel(mymodelinstance);

ただし、モデル クラスは操作が複雑になる可能性があります。最小限のコードで単純なテーブルを作成したい場合は、QTableView ではなく QTableWidget を使用することをお勧めします。QTableWidget を UI に追加すると、次のことができます

htca_ui->tableWidget->setRowCount(1);
htca_ui->tableWidget->setColumnCount(2);
QTableWidgetItem *item = new QTableWidgetItem("An Item");
htca_ui->tableWidget->setItem(0,0, item); // The item at the top left will read "An Item".

詳細については、 QTableWidgetのドキュメントを参照してください。

于 2013-07-26T17:52:10.667 に答える