[英]background color for certain items(rows) in QFileSystemModel QTreeView
[英]Can folder color be changed in QTreeView when QFilesystemModel displays drives?
好吧,我一直在開發一個Qt應用程序,我需要使用QFilesystemModel
顯示文件系統。我已經能夠按預期顯示它。
碼:
QFileSystemModel *model = new QFileSystemModel;
model->setRootPath(QDir::currentPath())
tree->setModel(model);
這將顯示QTreeView中的所有驅動器。 但眾所周知,默認情況下,每個驅動器中的文件夾顏色為黃色 。
這就是我想要改變的地方。 Qt中有一種方法可以將文件夾的顏色更改為“藍色”嗎?
您可以通過qt委托自定義QTreeView。 但是,如果僅用於圖標,我認為您可以重新實現:
class MyQFileSystemModel : public QFileSystemModel {
public:
QVariant data( const QModelIndex& index, int role ) const {
if( role == Qt::DecorationRole ) {
return QVariant(QIcon(QPixmap("icon.png")));
}
return QFileSystemModel::data(index, role);
}
};
若要了解委托,建議您研究以下示例: 旋轉框委托
編輯:您必須從QFileSystemModel重新實現方法數據,必須從QFileSystemModel繼承。
然后像以前一樣做:
MyQFileSystemModel* model = new MyQFileSystemModel;
model->setRootPath(QDir::currentPath())
tree->setModel(model);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.