C++ QListView将要隐藏时发送什么信号

C++ QListView将要隐藏时发送什么信号,c++,qt,listview,C++,Qt,Listview,在我的代码中,我必须手动执行以下操作: /*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, 基本上,我有一个列表视图,在

在我的代码中,我必须手动执行以下操作:

   /*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才能看到新选择的文件

您需要的是插槽。将其连接到对话框的信号。

谢谢,连接时有点问题:Connect(QDialog,signal(finished()),listView,SLOT(clearSelection());我得到错误:主表达式应在“,”标记之前。我试着用“this”代替QDialog,然后我得到了一个错误,在我的类中没有定义finished。对此有何想法;)finished将int作为参数。在对话框中建立以下连接:connect(this)、SIGNAL(finished(int))、listView、SLOT(clearSelection()))谢谢您的代码。不幸的是,这不起作用。为了更新listView,我仍然需要隐藏和显示它。究竟还有什么;)哦,我从调试窗口得到以下输出:QObject::startTimer:QTimer只能用于以开始的线程QThread@FrankOsterfeld就我而言,不,我不使用机器翻译;是关于列出的文件还是关于选择?如果是前者,您使用哪种模型实现?@FrankOsterfeld是关于列出的文件的-在我第二次打开此对话框并选择另一组文件后,它们不会出现(更改)。我正在使用QabStretcListModel作为模型。您的模型的通知可能无法正常工作。您是否调用begin/endInsertRows、begin/endRemoveRows、dataChanged等?@Frankosterfield是的,我还使用modeltest进行了测试,未检测到任何错误。奇怪的是,按这种顺序调用hide和show会使一切正常。