Files
Radio/module/radio/FileDialog/FileExplorer.cpp
T
2026-06-16 13:38:08 +08:00

41 lines
1.3 KiB
C++

#include "FileExplorer.h"
#include "CustomFileDelegate.h"
FileExplorer::FileExplorer() {
model = new QFileSystemModel(this);
resize(1000, 800);
treeView = new QTreeView(this);
treeView->setModel(model);
it = new CustomFileDelegate(this, treeView);
treeView->setItemDelegate(it);
treeView->setHeaderHidden(false);
treeView->setColumnWidth(0, 250);
treeView->setAnimated(true);
treeView->setSortingEnabled(true);
treeView->setSelectionMode(QAbstractItemView::SingleSelection);
layout = new QVBoxLayout(this);
showRootDir = new QLineEdit;
showFocusFile = new QLabel;
layout->addWidget(showRootDir);
layout->addWidget(treeView);
auto bottom = new QHBoxLayout();
confirmButton = new QPushButton("确定");
cancelButton = new QPushButton("取消");
confirmButton->setFixedHeight(height);
cancelButton->setFixedHeight(height);
bottom->addWidget(showFocusFile);
bottom->addWidget(confirmButton);
bottom->addWidget(cancelButton);
layout->addLayout(bottom);
changeRoot("D:/");
connect(showRootDir, &QLineEdit::returnPressed, [this](){
changeRoot(showRootDir->text());
});
connect(treeView, &QTreeView::clicked, [this](const QModelIndex &index) {
focus = model->fileInfo(index);
showFocusFile->setText(focus.fileName());
});
}