treeview显示文件系统,行颜色不相同
时间: 2024-03-17 22:42:32 浏览: 124
C# DevTree不同行显示不同颜色
要在QTreeView中显示文件系统并设置不同的行颜色,可以使用QFileSystemModel和QPalette。
以下是一个示例代码,它将QTreeView设置为显示文件系统,并将奇数行和偶数行设置为不同的颜色:
```cpp
#include <QApplication>
#include <QFileSystemModel>
#include <QTreeView>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 创建文件系统模型
QFileSystemModel model;
model.setRootPath("");
// 创建TreeView并设置模型
QTreeView treeView;
treeView.setModel(&model);
// 启用交替行颜色
treeView.setAlternatingRowColors(true);
// 设置奇数行和偶数行的颜色
QPalette palette;
palette.setColor(QPalette::Base, Qt::white);
treeView.setPalette(palette);
palette.setColor(QPalette::Base, Qt::lightGray);
treeView.setPalette(palette, QPalette::AlternateBase);
// 显示TreeView
treeView.show();
return a.exec();
}
```
在上面的代码中,我们首先创建了一个QFileSystemModel对象,并将其设置为根路径。然后创建一个QTreeView对象,并将其模型设置为QFileSystemModel。接下来,我们启用了交替行颜色,并使用QPalette设置了奇数行和偶数行的颜色。最后,我们显示了QTreeView。
当运行上面的代码时,QTreeView将显示文件系统,并将奇数行和偶数行设置为不同的颜色。
阅读全文