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

Ajuda QFileDialog

Scheduled Pinned Locked Moved Portuguese
3 Posts 2 Posters 1.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.
  • 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