Qt 同时选择文件和文件夹(可多选)
Posted 积跬步,到千里
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt 同时选择文件和文件夹(可多选)相关的知识,希望对你有一定的参考价值。
/*****CFileDialog.h*****/ #ifndef CFILEDIALOG_H #define CFILEDIALOG_H #include <QObject> #include <QFileDialog> class CFileDialog : public QFileDialog { Q_OBJECT public: CFileDialog(QWidget *parent = 0); ~CFileDialog(); public slots: void onChiose(); }; #endif // CFILEDIALOG_H
/***********CFileDialog.cpp**********/ #include "CFileDialog.h" #include <QListView> #include <QTreeView> #include <QDialogButtonBox> CFileDialog::CFileDialog(QWidget *parent) : QFileDialog(parent) { this->setOption(QFileDialog::DontUseNativeDialog,true); //支持多选 QListView *pListView = this->findChild<QListView*>("listView"); if (pListView) pListView->setSelectionMode(QAbstractItemView::ExtendedSelection); QTreeView *pTreeView = this->findChild<QTreeView*>(); if (pTreeView) pTreeView->setSelectionMode(QAbstractItemView::ExtendedSelection); QDialogButtonBox *pButton = this->findChild<QDialogButtonBox *>("buttonBox"); disconnect(pButton, SIGNAL(accepted()), this, SLOT(accept()));//使链接失效 connect(pButton, SIGNAL(accepted()), this, SLOT(onChiose()));//改成自己的槽 } CFileDialog::~CFileDialog() { } void CFileDialog::onChiose() { QDialog::accept(); }
CFileDialog fileDialog; if ( fileDialog.exec() == QDialog::accept()) { qDebug() << fileDialog.selectedFiles(); }
以上是关于Qt 同时选择文件和文件夹(可多选)的主要内容,如果未能解决你的问题,请参考以下文章
javascript 可多选的下拉框 multiselect 动态删除option值,动态添加option值,动态生成表格