2
我正在使用此代碼來查詢sqlite並將結果放在QTableView中。QTableView中的Qt複選框
//MainWindow.cpp
void MainWindow::on_pushButton_clicked()
{
QSqlQueryModel * modal=new QSqlQueryModel();
connOpen();
QSqlQuery* qry=new QSqlQuery(mydb);
qry->prepare("select * from database");
qry->exec();
modal->setQuery(*qry);
//from stack
modal->insertColumn(0);
ui->tableView->setModel(modal);
//from stack
ui->tableView->resizeColumnsToContents();
int p;
for(p=0; p<modal->rowCount(); p++)
{
ui->tableView->setIndexWidget(modal->index(p,0),new QCheckBox());
}
connClose();
qDebug() <<(modal->rowCount());
}
我已經看到了幾個網絡用於添加複選框到列的例子,但我不太清楚爲我的簡單例子使用什麼。
我打算做的是讓列1可檢查。在下一個btn按下,如果選中那些數據行被寫入文件。
我仍然需要了解如何循環選定的數據,或者我需要獲取檢查行的ID並做另一個查詢。
問題:
- 你如何添加編輯複選框的1列QTableView中?
- 如何遍歷QTableView數據中的值,因此可以訪問檢查行的值?
- 如何檢查全部/無?
這段代碼放在MainWindow.cpp文件? – rrrfusco
你可以把它放在任何你想要的地方,從MainWindow.cpp中可以看到它就足夠了。如果你不熟悉類定義和頭文件的使用,也許你應該學習更多關於C++的知識。而且,這僅僅是一個從其開始的代碼示例,並不完整。比obvioulsy你必須使用MyModel而不是你的MainWindow.cpp中的QSqlQueryModel – Fabio