2011-12-12 15 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