#pragma once #include #include class QTreeView; class FileBrowserWidget : public QWidget { Q_OBJECT public: explicit FileBrowserWidget(QWidget *parent = nullptr); void setRootPath(const QString &path); signals: // 当用户双击或选择某个文件时,通知 MainWindow/CodeEditor 打开 void fileOpenRequested(const QString &filePath); private: QFileSystemModel *m_model = nullptr; QTreeView *m_view = nullptr; void setupUi(); void connectSignals(); };