如何用QT实现一个文件列表,类似注册表那种结构

1:QTableWidget或者QTableview都可以实现

2:用QFileSystemModel或是QDir做model,QTableView做为显示的view。

3:树形结构用QTreeView或QTreeWidget。如果是pc上文件、文件夹浏览的可以用QTableview或QTableWidget。

4:

   使用QTreeView 和QDIR 模型
    QDirModel *model;//定义模型变量
    model = new QDirModel;//模型
    model->setReadOnly(true);//设置为只读
    model->setFilter(QDir::Dirs| QDir::NoDotAndDotDot);
    ui->treeView->setModel(model);
    ui->treeView->header()->setStretchLastSection(true);
    QModelIndex index = model->index(QDir::currentPath());
    ui->treeView->expand(index);
    ui->treeView->scrollTo(index);
    ui->treeView->resizeColumnToContents(0);

QT说明文档链接:

http://doc.qt.io/qt-5/qtreeview.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用QT实现文件预览功能的示例代码: 1. 在QT Creator中创建一个新的QT Widgets应用程序 2. 在主窗口中添加一个QTextEdit和一个QLabel控件 3. 在主窗口的构造函数中添加以下代码: ``` MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); // 设置QTextEdit为只读模式 ui->textEdit->setReadOnly(true); // 将QLabel控件设置为自动伸缩 ui->label->setScaledContents(true); } ``` 4. 添加一个打开文件的按钮,并在其槽函数中添加以下代码: ``` void MainWindow::on_openButton_clicked() { // 弹出文件选择对话框,选择要预览的文件 QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), "", tr("All Files (*.*)")); // 如果文件名不为空,则打开文件并显示在QTextEdit控件中 if (!fileName.isEmpty()) { QFile file(fileName); if (file.open(QIODevice::ReadOnly | QIODevice::Text)) { QTextStream in(&file); ui->textEdit->setText(in.readAll()); file.close(); // 显示文件的图标和缩略图 QFileInfo fileInfo(fileName); QPixmap pixmap(fileInfo.absoluteFilePath()); ui->label->setPixmap(pixmap.scaled(ui->label->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation)); } } } ``` 5. 运行程序并点击打开文件按钮,选择一个文件进行预览。文件内容将显示在QTextEdit控件中,文件的图标和缩略图将显示在QLabel控件中。 注意:此示例只适用于文本文件和图像文件的预览,如果要预览其他类型的文件,需要使用不同的方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值