2011-12-12 63 views
0

在我的代码将我必须手动完成:什么信号而QListView当即将隐藏

/*This works but there must be a better way*/ 

     listView->hide();//INSTEAD OF THIS I'D RATHER SEND A SIGNAL CAUSING  
LISTVIEW TO UPDATE - 
update(), viewport()->update, repaint() doesn't work, 

基本上我有在我的文件显示选择列表视图。按下确定后,该对话框关闭。当我再次打开此对话框并选择另一组文件时,会显示旧文件,我必须隐藏并显示listView才能看到新选定的文件。

+0

是关于列出的文件还是关于选择?如果前者,您使用哪种模型实现? –

+0

@FrankOsterfeld它是关于列出的文件 - 第二次打开此对话框并选择另一组文件后,它们不会显示(更改)。我用作模型QAbstractListModel – user336635

+0

您的模型的通知可能无法正常工作。你是否调用begin/endInsertRows,begin/endRemoveRows,dataChanged等? –

回答

0

你需要的是clearSelection插槽。将它连接到对话的finished信号。

+0

谢谢,连接它有点问题:connect(QDialog,SIGNAL(finished()),listView,SLOT(clearSelection()));我收到错误:在','令牌之前预期的主要表达式。我试图把'这个'而不是QDialog,然后我得到的错误完成没有在我的课堂上定义。任何想法;) – user336635

+0

完成了int作为参数。在你的对话框中进行以下连接:connect(this,SIGNAL(finished(int)),listView,SLOT(clearSelection())) – pnezis

+0

感谢您的代码。不幸的是,这并不能解决问题。我仍然必须隐藏它并显示它以便更新listView。还有什么;) – user336635

相关问题