问题是这样的:
在窗口A中返回一个分数,想在窗口B中QTableView上显示出来,在窗口A中自定义了一个信号,在窗口B中自定义了一个信号槽,经跟踪,信号连接没有问题,但是B中信号槽中给QTableView设置数据的语句执行后,没有结果,B中QTableView里面还是显示不出来,不知道是什么原因。哪位高手给指导一下呢?急求!搞了好几天了。。。。
窗口B中的QTableView代码:
yewu_model = new QStandardItemModel(this);
yewu_model->setColumnCount(4); //设置列数为5行
yewu_model->setRowCount(20); //设置行数为5
yewu_model->setHeaderData(0,Qt::Horizontal,QString::fromLocal8Bit("内容"));
yewu_model->setHeaderData(1,Qt::Horizontal,QString::fromLocal8Bit("成绩"));
yewu_model->setHeaderData(2,Qt::Horizontal,QString::fromLocal8Bit("结果"));
yewu_model->setHeaderData(3,Qt::Horizontal,QString::fromLocal8Bit("时间"));
yewu_tableView = new QTableView(this);
yewu_tableView->setModel(yewu_model);
yewu_tableView->resizeColumnsToContents();
delegate02=new QItemDelegate;
yewu_tableView->setItemDelegate(delegate02);
窗口B中的信号槽响应代码:
void MyMainwindow::RecordSlot(string fenshu)
{
QTextCodec *code= QTextCodec::codecForName("GBK");
yewu_model->setData(yewu_model->index(0, 0, QModelIndex()), QObject::tr("抄表"));
test_model->setData(test_model->index(0, 1, QModelIndex()), QObject::tr("已接收"));
}