Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

Archived:Como usar QDir e QFileDialog, em Qt

From Wiki
Jump to: navigation, search

Archived.pngAquivado: Este artigo foi arquivado, pois o conteúdo não é mais considerado relevante para se criar soluções comerciais atuais. Se você achar que este artigo ainda é importante, inclua o template {{ForArchiveReview|escreva a sua justificativa}}.

Qt Quick should be used for all UI development on mobile devices. The approach described in this article (based on QWidget) is deprecated.

Article Metadata

Testado com
Aparelho(s): Nokia 5800 XpressMusic

Compatibilidade
Plataforma(s): S60 3rd Edition, FP1, FP2
S60 5th Edition
Symbian

Artigo
Palavras-chave: QFileDialog::getExistingDirectory(), QDir::entryList()
Tradução:
Por valderind4
Última alteração feita por hamishwillee em 11 Oct 2012

Contents

Introdução

Este trecho de código mostra como pegar um lista de arquivos de um determinado diretório e como usar o QFileDialog para selecionar diretórios. O método QDir::entryList() retorna uma lista dos nomes de todos os arquivos e diretórios no atual diretório. QFileDialog::getExistingDirectory() retornará um diretório existente selecionado pelo usuário. Este diálogo pode permitir você selecionar o diretório de sua preferência.

O trecho de código pode ser auto-assinado uma vez que ele não usa API que requer assinatura de desenvolvedor/certificado.

Cabeçalhos requeridos

#include <QDir>
#include <QFileDialog>

Código fonte

#include <QtGui/QApplication>
#include "mainwindow.h"
 
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
 
#include <QtGui/QMainWindow>
#include <QDir>
 
namespace Ui
{
class MainWindow;
}
 
class MainWindow : public QMainWindow
{
Q_OBJECT
 
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
 
private slots:
void changeDirectory();
void fillList();
 
private:
Ui::MainWindow *ui;
QDir directory;
};
 
#endif // MAINWINDOW_H
#include <QFileDialog>
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent), ui(new Ui::MainWindow), directory("/")
{
ui->setupUi(this);
 
connect(ui->actionChange_directory, SIGNAL(triggered()), this, SLOT(changeDirectory()));
 
fillList();
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::changeDirectory()
{
/* select a directory using file dialog */
QString path = QFileDialog::getExistingDirectory (this, tr("Directory"), directory.path());
if ( path.isNull() == false )
{
directory.setPath(path);
fillList();
}
}
/*get list of file from given directory and the append it to listWidget */
void MainWindow::fillList()
{
ui->listWidget->clear();
ui->listWidget->addItems(directory.entryList());
}


Resultados

A expectativa é o trecho de código mostrar uma lista de arquivos em um determinado diretório.
Selecionar/mudar directório, usando QFileDialog SelectDirectory.JPG


Pegar um lista de aquivos, usando QDir GetFileList.JPG

Links externos

Exemplo de código

  • O exemplo de código mostrará como pegar uma lista de arquivos de um determinado diretório e foi testada no Nokia 5800 XpressMusic.

Links relacionados

This page was last modified on 11 October 2012, at 01:13.
385 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×