bolizhu1234 |
2017-11-23 15:16 |
tableView增加操作及显示
最近在学习QT,作为一个初学者,遇到了很多问题,下面分享下我在学习tableView过程中遇到的问题及解决方法。 //在tableView中显示数据库内容 QSqlDatabase db; if(InitDatabase(db)) { model=new QSqlTableModel(this,db); ui->tableView->verticalHeader()->hide(); ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers); ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows); model->setTable("数据表名"); model->select(); //model->removeColumn(0); //删除第一列 ui->tableView->setModel(model); ui->tableView->setColumnWidth(1,330); ui->tableView->setColumnWidth(2,330); ui->tableView->setColumnWidth(3,360); ui->tableView->show(); } else { QMessageBox::warning(this,tr("warning"),QString("Exec Error!")); } //点击行显示在LineEdit控件中 void Register::on_tableView_clicked(const QModelIndex &index) { ui->lineEdit_1->setText(model->data(model->index(index.row(), 0)).toString()); ui->lineEdit_2->setText(model->data(model->index(index.row(), 1)).toString()); ui->lineEdit_3->setText(model->data(model->index(index.row(), 2)).toString()); ui->lineEdit_4->setText(model->data(model->index(index.row(), 3)).toString()); ui->lineEdit_5->setText(model->data(model->index(index.row(), 4)).toString()); } //增加操作 void Register::on_pushButton_ADD_clicked() { QString A; QString B; QString C; QString D; QString E; QSqlQuery query ; query.prepare("插入语句"); A = ui->lineEdit_1->text(); B = ui->lineEdit_2->text(); C = ui->lineEdit_3->text(); D = ui->lineEdit_4->text(); E = ui->lineEdit_5->text(); query.addBindValue(A); query.addBindValue(B); query.addBindValue(C); query.addBindValue(D); query.addBindValue(E); if(!query.exec()) { qDebug()<<query.lastError(); } else { qDebug()<<"inserted!"; model->select(); } } |
|