int curRow=ui->tableView->currentIndex().row(); QAbstractItemModel *modessl = ui->tableView->model(); QModelIndex indextemp; QVariant data; QString infor[10]; QDateTime datetime; QString datetime_str1,datetime_str2,datetime_str3; for(int i=0;i<7;i++){ indextemp=modessl->index(curRow,i); data=modessl->data(indextemp); if(i==3){ datetime=data.toDateTime(); datetime_str1=datetime.toString("yyyy-MM-dd hh:mm:ss"); } else if(i==5){ datetime=data.toDateTime(); datetime_str2=datetime.toString("yyyy-MM-dd hh:mm:ss"); } else if(i==6){ datetime=data.toDateTime(); datetime_str3=datetime.toString("yyyy-MM-dd hh:mm:ss"); } else{ infor[i]=data.toString(); } } QString show=QString("书籍序号:"+infor[0]+"\n名称:"+infor[1]+"\n作者:"+infor[2]+"\n出版日期:"+datetime_str1+"\n借出时间:"+datetime_str2+"\n应归时间:"+datetime_str3+"\n是否归还:"+infor[6]); QMessageBox::about(NULL,"详情",show);
时间: 2023-12-31 18:04:07 浏览: 125
第四删除操作。-QT实验教程
这段代码是用于在Qt中获取选中行的数据,并将其展示在一个对话框中。具体步骤如下:
1. 获取当前选中行的索引,即curRow=ui->tableView->currentIndex().row();
2. 获取选中行的数据模型,即QAbstractItemModel *modessl = ui->tableView->model();
3. 通过循环获取每一列的数据,并根据不同的列进行处理,如将日期转换为字符串格式。
4. 将处理后的数据展示在一个对话框中,使用QMessageBox::about()函数展示。
其中,infor数组存储除日期外的其他数据,datetime_str1、datetime_str2、datetime_str3分别存储出版日期、借出时间和应归时间的字符串格式。最后,将所有数据拼接成一个字符串,展示在对话框中。
阅读全文