2012-08-03 82 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