由于项目中需要,需要过滤掉指定某个磁盘,并且要对显示出来的非本地系统盘符过滤掉,只保留CDEF等盘符。网上没有可供参考的资料,折腾了很久,终于搞定了,现在写下来以供后人借鉴。
一、过滤指定磁盘
过滤指定磁磁盘,我们可以通过QSortFilterProxyModel自带的setFilterRegExp过滤。
二、过滤非系统盘符
首先,需要获得各个磁盘卷名。
在获得了各个磁盘的盘符后,就要过滤掉非系统盘符,用QList存放系统盘符,因为非系统盘可能有多个。
在保存非系统盘符后,就需要在界面上显示出来,我们使用QSortFilterProxyModel这种过滤模型,主要重写里面的filterAcceptsRow方法。
至此,就可以在界面上看到指定过滤的盘符和只显示的系统盘符了,赶紧尝试下吧。