|
有一个treewidget,我要的效果是点击了treewidget的一个item后,使用测试好的方法去服务器拿到一些数据,然后依次的set到另一个tablewidget当中查看。
这是我的连接。- connect(ui->groupTreeWidget,SIGNAL(itemClicked(QTreeWidgetItem*,int)),this,SLOT(handleDeptClicked(QTreeWidgetItem*)));
复制代码 槽函数在这里:- void MainWindow::handleDeptClicked(QTreeWidgetItem* target)
- {
- qDebug()<<"clicked";
- ui->memberTableWidget->setRowCount(MEMBER_ARRAY.size());
- ui->memberTableWidget->clearContents();
- getMemberList(target->data(1,Qt::DisplayRole).toDouble(),"0","0");
- vector<member>::iterator iter;
- int m = 0;
- for(iter = MEMBER_ARRAY.begin();iter != MEMBER_ARRAY.end();iter++)
- {
- ui->memberTableWidget->setItem(m,0,new QTableWidgetItem(iter->userid));
- ui->memberTableWidget->setItem(m,1,new QTableWidgetItem(iter->name));
- ui->memberTableWidget->setItem(m,2,new QTableWidgetItem(iter->position));
- ui->memberTableWidget->setItem(m,3,new QTableWidgetItem(iter->mobile));
- ui->memberTableWidget->setItem(m,4,new QTableWidgetItem(iter->email));
- ui->memberTableWidget->setItem(m,5,new QTableWidgetItem(QString::number((int)iter->status,10)));
- m++;
- }
- ui->memberTableWidget->repaint();
- }
复制代码 getMemberlist()是一个函数用来拿数据的,然后在这个函数里面更新全局的MENBER_ARRAY,之后就是迭代器输出给Tablewidget。
进入程序的第一下点击一个有用户的item,是可以正常显示的。
但是点击一个空白的item之后,再点击一个有用户的item就无法正常的显示了,要再去点击一下才会出现tablewidget的更新。
我是一个新手没有系统学习过qt,问一下这个问题是为什么,还有应该搜什么关键字可以找到答案?
|
|