我想为使用Qt的Windows制作一个查找工具。我在C#和.NET中创建了相同的应用程序,我想做一个比较。我的应用程序将不得不递归地使用QDir::entryList
来查找指定路径的内容并将它们添加到QListWidget
。因为entryList可能很慢,所以它必须在QThread
中运行。另外,用户不应该等待很长时间才能看到一些结果,但QListWidget
应该填充一些结果。在Windows上使用Qt创建多线程GUI应用程序。如何使用QListWidget?
我也做了以下内容:
- 我创建了一个类,做搜索,当它发现一个文件,这个类发出的消息
sendItem(QString)
。 - 此课程在另一个线程中运行
f.moveThread(&thread)
其中f
是find类的一个对象。 - 由于QListWidget没有我已创建的另一个类
wrapper
具有槽addItem(QString)
这个类的一个对象在GUI线程执行的狭槽,以便当接收到该消息sendItem
槽addItem
执行以下操作l.addItem(s)
其中s
是数据与sendItem
信号一起传输。
这是从另一个线程更新QListWidget的最佳方式吗?因为它非常复杂,(它不起作用),但我不知道更好的一个。在C#中,我刚刚创建了一个delegate FillList
我在委托对象中放入了一个方法fillList
。我刚刚给出了一个BeginInvoke
,并从fillList
方法中调用this.Dispatcher.invoke
,使用wpf listbox的addItem
方法作为参数。你可以看到C#应用程序sourceforge.net
还有其他问题:是否最好使用QListView
这种应用程序? 感谢您的回答。