【发布时间】:2015-06-18 14:29:12
【问题描述】:
我想知道在获得视频文件之前如何操作目录。
首先主目录是"F:/TestingVideos/"
在测试视频中有文件,例如:1。现金办公室 ,2.Rosville Gate ,3.我的视频
每个视频都包含其他文件夹,例如 Cash Office 有一个目录 "F:/TestingVideos/Cash Office/" 里面我们有文件夹,例如我们有以下 "F:/TestingVideos/Cash Office/20141201/" 在日期文件夹里面我有我想播放的视频。
到目前为止,我已经实现了一个方法:
void Dialog::on_loadedButton_clicked(){
QString videoname = "F:/TestingVideos/";`
ui->DirectoryLineEdit->setText(videoName);
QDir dir(videoName);
QFileInfoList files = dir.entryInfoList();
QStringList MonTypeFolder = dir.entryList(QDir::NoDotAndDotDot | QDir::AllDirs, QDir::DirsFirst);
ui->MonitoringcomboBox->addItems( MonTypeFolder);
ui->MonitoringcomboBox->show();
foreach(QFileInfo file, files){
if(file.isDir()){
//qDebug() << "DIR: " << file.fileName();
// qDebug() << "Directory path file:" << file.absoluteFilePath();
QString filePathString = file.absoluteFilePath();
QFileInfo info = QFileInfo(filePathString);
qDebug() << "Folders" << " are writable: " << info.isWritable() << "are readable: " << info.isReadable();
}
if(file.isFile()){
qDebug() << "FILE: " << file.fileName();
}
}
我的输出对于我的QFileInfo info; 来说是可写和可读的,我也做了一个qDebug()<< info.absoluteFilePath() 我得到了以下结果:
"F:/TestingVideos"
"F:/"
"F:/TestingVideos/Cash Office"
"F:/TestingVideos/Rosville"
"F:/TestingVideos/My Videos"
我想要一种方法来操作基本名称,即 Cash Office、Rosville 等... 20141201 在另一个组合框中,因为当前 ui.monitoringcomboBox->show() 可以显示基本名称。我希望能够基本上将文件夹操作到可以使用 QUrl 播放视频的级别。
【问题讨论】:
-
所以如果我理解正确的话,你有一个名为 testing videos 的根文件夹。在该文件夹中,您还有其他文件夹,例如现金办公室等。在这些文件夹中,您有日期文件夹,然后在这些日期文件夹中,您有视频。是对的吗?这种结构总是一样的吗(3级文件夹,视频总是在底部文件夹中)?
-
@Cits 是的,这是正确的,现在我想显示日期文件夹,如果我在我的第一个组合框 {ui->MonitoringcomboBox->show();} 上选择例如 Cash Office,日期文件夹例如 20141201 必须出现在第二个组合框 {ui->datecombobox->show} 上。之后,我希望能够为这些视频创建像 QUrl 一样的内容
标签: c++ qt qmediaplayer qdir qfileinfo