2012-08-03 81 views
2

我有一個基於QDir信息創建qtreeview的Qt應用程序。 有沒有辦法,如果目錄上的信息發生變化(比如我添加一個新文件或刪除一個現有的文件),qtreeview會被更新?QDir信息已更改

謝謝! =)

回答

2

要監視文件系統的變化可以用QFileSystemWatcher

+0

感謝@savelkev我這樣做'QFileSystemWatcher守望者; watcher.addPath( 「C:/ QtTest」); connect(&watcher,SIGNAL(directoryChanged(QString)),mc,SLOT(showModified(QString)));'但沒有任何事情發生,我沒有收到信號。在Slot中,我有一個cout <<「hi」<< endl,那是不是正在打印 – user1486311 2012-08-03 21:45:16

+0

@ user1486311你是否分配了'watcher',以便它的壽命足夠長以便實際發出一個信號(所以,不是作爲局部變量一個函數)。 – alexisdm 2012-08-03 22:01:31

+0

我用http://stackoverflow.com/questions/10044853/how-to-qfilesystemwatcher的示例代碼,它爲我工作。我假設你嘗試GUI應用程序,它無處可打印STDOUT。自己試試這個例子 – 2012-08-03 22:07:14