命名规范

This commit is contained in:
2026-07-29 12:30:40 +08:00
parent f5f1bf9cc7
commit 18edce4838
59 changed files with 1690 additions and 1795 deletions
+16 -16
View File
@@ -1,10 +1,10 @@
#include "CustomFileDelegate.h"
#include "FileExplorer.h"
CustomFileDelegate::CustomFileDelegate(FileExplorer* fileExplorer, QObject* parent): QStyledItemDelegate(parent) {
Custom_File_Delegate::Custom_File_Delegate(file_explorer* fileExplorer, QObject* parent): QStyledItemDelegate(parent) {
this->fileExplorer = fileExplorer;
}
void CustomFileDelegate::paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const {
void Custom_File_Delegate::paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const {
// 获取数据
QFileSystemModel *model = qobject_cast<QFileSystemModel *>(const_cast<QAbstractItemModel *>(index.model()));
if (!model) {
@@ -13,11 +13,11 @@ void CustomFileDelegate::paint(QPainter* painter, const QStyleOptionViewItem& op
}
QString fileName = model->fileName(index); // 文件/文件夹名称
QFileInfo fileInfo = model->fileInfo(index); // 文件/文件夹信息
QIcon fileIcon = model->fileIcon(index); // 文件/文件夹图标
QFileInfo file_info = model->fileInfo(index); // 文件/文件夹信息
QIcon file_icon = model->fileIcon(index); // 文件/文件夹图标
// 设置选中和未选中背景颜色
QColor background_color = fileInfo.isDir() ? QColor(220, 240, 255) : QColor(255, 255, 220); // 文件夹和文件的不同背景色
QColor background_color = file_info.isDir() ? QColor(220, 240, 255) : QColor(255, 255, 220); // 文件夹和文件的不同背景色
if (option.state & QStyle::State_Selected) {
background_color = QColor(0, 120, 215); // 选中的背景色
}
@@ -26,23 +26,23 @@ void CustomFileDelegate::paint(QPainter* painter, const QStyleOptionViewItem& op
painter->fillRect(option.rect, background_color);
// 设置文本颜色
QColor textColor = (option.state & QStyle::State_Selected) ? Qt::white : Qt::black;
QColor text_color = (option.state & QStyle::State_Selected) ? Qt::white : Qt::black;
// 绘制图标
QRect iconRect = option.rect;
iconRect.setWidth(fileExplorer->height); // 图标宽度
fileIcon.paint(painter, iconRect, Qt::AlignVCenter | Qt::AlignLeft);
QRect icon_rect = option.rect;
icon_rect.setWidth(fileExplorer->height); // 图标宽度
file_icon.paint(painter, icon_rect, Qt::AlignVCenter | Qt::AlignLeft);
// 绘制文件名
QRect textRect = option.rect;
textRect.setLeft(iconRect.right() + 5); // 图标右侧开始绘制文本
painter->setPen(textColor);
painter->drawText(textRect, Qt::AlignVCenter | Qt::AlignLeft, fileName);
QRect text_rect = option.rect;
text_rect.setLeft(icon_rect.right() + 5); // 图标右侧开始绘制文本
painter->setPen(text_color);
painter->drawText(text_rect, Qt::AlignVCenter | Qt::AlignLeft, fileName);
// 调用父类实现绘制焦点等其他内容
//QStyledItemDelegate::paint(painter, option, Windex);
}
QSize CustomFileDelegate::sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const {
QSize defaultSize = QStyledItemDelegate::sizeHint(option, index);
return QSize(defaultSize.width(), fileExplorer->height); // 自定义行高
QSize Custom_File_Delegate::sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const {
QSize default_size = QStyledItemDelegate::sizeHint(option, index);
return QSize(default_size.width(), fileExplorer->height); // 自定义行高
}