QT中怎么把Tableview中一行的信息分别显示到Tableline上去?

就是像TableWidget的这样,如下:introws=ui->tableWidget->currentRow();//获取当前的行数ui->lineEdit->set... 就是像TableWidget的这样,如下:
int rows = ui->tableWidget->currentRow(); //获取当前的行数
ui->lineEdit->setText(ui->tableWidget->item(rows,0)->text());
ui->lineEdit_2->setText(ui->tableWidget->item(rows,1)->text());
ui->lineEdit_3->setText(ui->tableWidget->item(rows,2)->text());
选中Tableview中的信息,并马上分别显示到Tableline中去。
展开
 我来答
nigoole
2016-12-28 · TA获得超过1369个赞
知道小有建树答主
回答量:675
采纳率:71%
帮助的人:441万
展开全部
// QTableView配合使用的是QStandIterModel,你可以从这个model里面取数据
QTableView *tableView = new QTableView();
QStandarItermModel *model = new QStandarItemModel();
// 绑定model
tableView->setModel(model);

// 填充数据
model->setData(model->index(row, col), QString("110"));
// 获取数据
model->data(model->index(row, col))->toInt();
追问

我加进去是这样的~好像不对呀~

追答

上面的代码是手敲的,字母写错了,只是给你个实例,结果~~

    // 初始化model
    model = new QStandardItemModel(this);
    ui->tableView->setModel(model);
    model->setRowCount(3);
    model->setColumnCount(3);
    for (int i = 0; i < 3; i++) {
        model->setData(model->index(i, 0), QString("张三"));
        model->setData(model->index(i, 1), qrand() % 2 == 1 ? QString("男") : QString("女"));
        model->setData(model->index(i, 2), QString::number(qrand() % 10 + 10));
    }
    
    // 管理点击
    void MainWindow::on_tableView_clicked(const QModelIndex &index)
{
    ui->lineEdit->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());
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式