由于項目中需要,需要過濾掉指定某個磁盤,并且要對顯示出來的非本地系統盤符過濾掉,隻保留CDEF等盤符。網上沒有可供參考的資料,折騰了很久,終于搞定了,現在寫下來以供後人借鑒。
一、過濾指定磁盤
過濾指定磁磁盤,我們可以通過QSortFilterProxyModel自帶的setFilterRegExp過濾。
二、過濾非系統盤符
首先,需要獲得各個磁盤卷名。
在獲得了各個磁盤的盤符後,就要過濾掉非系統盤符,用QList存放系統盤符,因為非系統盤可能有多個。
在儲存非系統盤符後,就需要在界面上顯示出來,我們使用QSortFilterProxyModel這種過濾模型,主要重寫裡面的filterAcceptsRow方法。
至此,就可以在界面上看到指定過濾的盤符和隻顯示的系統盤符了,趕緊嘗試下吧。