• 3140阅读
  • 0回复

tableView增加操作及显示 [复制链接]

上一主题 下一主题
离线bolizhu1234
 

只看楼主 倒序阅读 楼主  发表于: 2017-11-23

     最近在学习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();
                          }
}
快速回复
限100 字节
 
上一个 下一个