当前位置: 代码迷 >> QT开发 >> QT-tableview怎么获取某格内容
  详细解决方案

QT-tableview怎么获取某格内容

热度:89   发布时间:2016-04-25 03:56:40.0
QT--tableview如何获取某格内容?
void gz::on_pushButton_2_clicked()
{
    static QSqlQueryModel *model = new QSqlQueryModel(ui->tableView);
    model->setQuery(QString("select * from yggzinfo;"));
    int column = model->columnCount(); //获得列数
     int row = model->rowCount();    // 获得行数
     QModelIndex index = model->index(column,row,QModelIndex());
    ui->lineEdit->setText(index);
}
QT? tableview

------解决方案--------------------
你的代码不太安全。我重写了一下:
void gz::on_pushButton_2_clicked()
{
    static QSqlQueryModel model(NULL);
    model.setQuery(QString("select * from yggzinfo;"));
    ui->tableView->setModel(&model);
    int column = ui->tableView->currentIndex().column(); //获得当前选中的列数
    int row = ui->tableView->currentIndex().row();       // 获得当前选中的行数
    //具体到你使用的model,有两种方式获取你想要的数据。最简单是
    QVariant currentData = model.data(ui->tableView->currentIndex());
    //或者通过record获取。
    QSqlRecord currentRecord=model.record(row);
    currentData = currentRecord.value(column);
    ui->lineEdit->setText(index);
}

int currentRow = ui->tableView->currentIndex().row();
  相关解决方案