×
Namespaces

Variants
Actions

Archived:Como usar QDir e QFileDialog, em Qt

From Nokia Developer 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 04:13.
197 page views in the last 30 days.