Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Portuguese
  4. Listar um conteúdo especifico de uma pasta
Forum Updated to NodeBB v4.3 + New Features

Listar um conteúdo especifico de uma pasta

Scheduled Pinned Locked Moved Portuguese
8 Posts 3 Posters 4.4k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Offline
    L Offline
    lima_will
    wrote on last edited by
    #1

    Pessoal,

    Estou estudando Qt e não estou conseguindo fazer um filtro para um determinado tipo de arquivo.
    O que quero fazer é:

    Dentro da pasta /dev quero listar todos os arquivos que contem tty*. Procurei nos exemplos e consigo listar a raiz com este código:

    QFileSystemModel model;
    model.setRootPath()
    QTreeView tree;
    tree.setModel(&model);

    1 Reply Last reply
    0
    • T Offline
      T Offline
      TioRoy
      wrote on last edited by
      #2

      lima_will,

      Se vc está usando o "QFileSysteModel":http://doc.qt.digia.com/4.7-snapshot/qfilesystemmodel.html, use o método "setFilter" para configurar o filtro de arquivos.

      1 Reply Last reply
      0
      • L Offline
        L Offline
        lima_will
        wrote on last edited by
        #3

        Tio Roy,

        Desculpa minha ignorancia mas como faço isso?

        1 Reply Last reply
        0
        • T Offline
          T Offline
          TioRoy
          wrote on last edited by
          #4

          lima_will,

          Desculpe, mas o método correto é o setNameFilters:

          @
          QStringList lista;
          lista << ".txt";
          lista << "
          .sh";

          QFileSystemModel model;
          model.setRootPath("/");
          model.setNameFilters(lista);
          

          @

          1 Reply Last reply
          0
          • L Offline
            L Offline
            lima_will
            wrote on last edited by
            #5

            Tio Roy,

            Nem precisa pedir desculpa eu que agradeço a ajuda e paciencia em ensinar.

            Não sei o que estou fazendo de errado mas está retornando erro quando tento fazer o código que você passou, fiz assim:

            @#include <QtGui>

            int main(int argc, char *argv[])
            {
            QApplication app(argc, argv);

            QStringList lista;
            lista << "tty";
            
            QFileSystemModel model;
            model.setRootPath("");
            model.setNameFilters(lista);
            
            // Demonstrating look and feel features
            tree.setAnimated(false);
            tree.setIndentation(20);
            tree.setSortingEnabled(true);
            
            tree.setWindowTitle(QObject::tr("Dir View"));
            tree.resize(640, 480);
            tree.show();
            
            return app.exec&#40;&#41;;
            

            }@

            [URL=http://imageshack.us/photo/my-images/341/capturadetelaem20121010.png/][IMG]http://imageshack.us/a/img341/2526/capturadetelaem20121010.png[/IMG][/URL]

            !http://imageshack.us/photo/my-images/341/capturadetelaem20121010.png/()!

            1 Reply Last reply
            0
            • T Offline
              T Offline
              TioRoy
              wrote on last edited by
              #6

              lima_will,

              Onde vc está criando o "tree"?

              Num programa visual, você não coloca este código no "main" e sim numa classe que herda de Window.

              Como você está iniciando, acredito que seja melhor vc estudar um pouco.

              Dê uma olhada em 2 vídeos postados pelo João Pagotto (que está postado "aqui":http://qt-project.org/groups/qt_brazil/updates#update-1344 no grupo Brazil)

              1 Reply Last reply
              0
              • F Offline
                F Offline
                francomartins
                wrote on last edited by
                #7

                O codigo ficaria assim , e pode colocar no proprio main.cpp mesmo ;-P
                @
                #include <QApplication>
                #include <QtGui>
                int main(int argc, char *argv[])
                {
                QApplication app(argc, argv);

                QStringList lista;
                lista << "*.png" <<"*.jpg";
                QTreeView tree;
                QFileSystemModel *model = new QFileSystemModel();
                model->setRootPath("/");
                model->setFilter(QDir::Files);
                model->setNameFilters(lista);
                tree.setModel(model);
                // Demonstrating look and feel features
                tree.setAnimated(false);
                tree.setIndentation(20);
                tree.setSortingEnabled(true);
                
                tree.setWindowTitle(QObject::tr("Dir View"));
                tree.resize(640, 480);
                tree.show();
                
                return app.exec();
                

                }
                @

                1 Reply Last reply
                0
                • T Offline
                  T Offline
                  TioRoy
                  wrote on last edited by
                  #8

                  Hehe. Pode mesmo.

                  Mas acho este tipo de exemplo leva uma pessoa que está iniciando a tirar conclusões erradas. Sei lá.

                  Vi aqui num fórum uma pessoa com um exemplo semelhante, mas com QSocket.... e queria que funcionasse.

                  1 Reply Last reply
                  0

                  • Login

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • Categories
                  • Recent
                  • Tags
                  • Popular
                  • Users
                  • Groups
                  • Search
                  • Get Qt Extensions
                  • Unsolved