Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Portuguese
  4. Ajuda QFileDialog
Forum Updated to NodeBB v4.3 + New Features

Ajuda QFileDialog

Scheduled Pinned Locked Moved Portuguese
3 Posts 2 Posters 1.6k 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.
  • A Offline
    A Offline
    agbobby
    wrote on last edited by
    #1

    Ola pessoal do qt. Sou iniciante em qt e c++. E agradeceria muito se pudessem me ajudar. Criei uma pagina e coloquei um botão “browser ” para que o usuário possa achar um arquivo dentro do pc(segui um vídeo do youtube e as instruções aqui do site. O botão está funcionando).

    void pg1_file::on_browser_clicked()
    {
    QString file_b=QFileDialog::getOpenFileName(
    this,
    tr("Open File"),
    "/",
    "All files(.)"
    );

    Mas, dai não consegui ir pra frente.
    1)Preciso que apos o usuário ache o arquivo que ele quer, na mesma pagina do botão browser, em uma caixa de texto ao lado, apareça o nome e a localização do arquivo. Ex:. /home/usuario/teste.txt.

    2)Preciso de uma variável que armazene cada novo arquivo escolhido (nome e a localização dos arquivos).

    3)Que ao fim de cada escolha(o usuário só fara uma escolha por vez) e tendo aparecido o nome e o caminho do arquivo, surja um novo botão “browser” logo abaixo para uma nova escolha.

    Não sei se postei no lugar certo ou se aqui e só para postar contribuições (dicas de uso do QT).
    Se for o caso, peço desculpas.

    Mas agradeceria muito se pudessem me ajudar (Seja com o código ou indicando “o caminho das pedras”). Já estou a uns 3 dias procurando e tentando as soluções aqui do site na parte de Qfiledialog, mas não consegui fazer funcionar.

    1 Reply Last reply
    0
    • M Offline
      M Offline
      micdoug
      wrote on last edited by
      #2

      Olá,
      Uma possível forma de resolver o problema seria utilizar um QTableWidget para manter o registro dos arquivos já escolhidos.

      Após o usuário escolher cada arquivo no seu método, verifique se a QString file não é nula para ter certeza de que um arquivo foi escolhido. Então utilize a string para construir um QFileInfo, que permite que você acesse o nome e a pasta de um arquivo.

      Adicione as informações da pasta e do nome do arquivo obtido através do QFileInfo como QTableWidgetItem em novas linhas da tabela criada.

      Mais tarde posso construir um código de exemplo e postar aqui se você tiver dúvida. Dê uma lida na documentação das classes QFileInfo, QTableWidget, QTableWidgetItem e QFileDialog.

      Att,

      1 Reply Last reply
      0
      • A Offline
        A Offline
        agbobby
        wrote on last edited by
        #3

        Oi pessoal do qt.
        Obrigado Micdoug pelo retorno. Entrei em época de prova e também tinhas trabalhos, e acabei não voltando aqui. Mas continuei tentando e consegui resolver a minha primeira dúvida. Criei um plainTextEdit e declarei a variável para aparecer no plainTextEdit. Seque o código.

        @#include "dialog1.h"
        #include "ui_dialog1.h"
        #include <qfiledialog.h>
        #include <QProcess>

        Dialog1::Dialog1(QWidget *parent) :
        QDialog(parent),
        ui(new Ui::Dialog1)
        {
        ui->setupUi(this);
        QString fileName;
        process = new QProcess(this);
        }

        Dialog1::~Dialog1()
        {
        delete ui;
        }

        void Dialog1::on_pushButton_clicked()
        {
        fileName = QFileDialog::getOpenFileName(this, tr("Open File"),
        "/",
        tr("all files (."));

        ui->plainTextEdit->appendPlainText(fileName);
        

        }
        @

        Estou lendo a documentação das classes que vc me indicou e tentando aplicar. Mas se pudesse passar um exemplo me ajudaria sobre maneira . Vou continuar tentando aqui. Obrigado pela ajuda e desculpe pela "sumida". Estou agora só com esse trabalho a concluir.

        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