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
Qt 6.11 is out! See what's new in the release blog

Listar um conteúdo especifico de uma pasta

Scheduled Pinned Locked Moved Portuguese
8 Posts 3 Posters 4.7k 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