2017-08-22 6 views
0
tmodel = new QSqlTableModel(this); 
tmodel->setTable("trainee_info"); 
tmodel->select(); 

これは出力としてテーブルモデルを得ることができますが、編集可能ですが、編集中に編集しようとしているフィールドの下にラベルを表示する必要があります。だから、どうすればいいの?Qt C++ではQtableモデルのデータを編集中ですが、小さなボックスを取得する必要があります。その中で編集テキストを表示する必要があります。

答えて

-1

あなたはQStandardItemModelあなたは以下のコードのように、モデルに追加する前に、編集可能な項目を設定する必要が使用している場合:あなたはそれがラインを開くだろう項目をダブルクリックしますと、その後

item->setFlags(item->flags() | Qt::ItemIsEditable); 

編集のためにデフォルトで編集します。

詳細コントロールの場合は、テーブルにデリゲートをインストールしてcreateEditor機能をオーバーライドすることもできます。

QWidget* createEditor(QWidget* parent, const QStyleOptionViewItem & /*inOption*/, const QModelIndex & inIndex) const override 
{ 
    auto editor = new QLineEdit(parent); 
    return editor; 
} 

これは、モデルを編集するための行編集を行います。

あなたのケースはかなりシンプルで、最初のアプローチが効果的です!

+0

返信ありがとうございました,,,, Qsqltablemodelを使用しています ..i.e traineemodel = new QSqlTableModel(this); traineemodel-> setTable( "trainee_info"); traineemodel-> select(); traineemodel-> setEditStrategy(QSqlTableModel :: OnManualSubmit);その後、それを表示しようとしています。私は作ることができるこの現在のコードの重量の変化にそうですか?私はもっ​​と簡単にbecozがこのQt C++に新しいことを理解できるような簡単な例を与えることができます。 .... – vinay

+0

テーブルのタイプは何ですか? QTableViewまたはQTableWidget? – PRIME

+0

ui-> tableView_2-> setModel(trainee_info);そのQTableModel – vinay

関連する問題