본문 바로가기

QT/QWidgets

[C++, QT] QFileDialog 파일이 위치한 경로 가져오기

#include "mainwindow.h"

#include "ui_mainwindow.h"
#include <QPushButton>

#include <QLineEdit>

#include <QFileDialog>

 

MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow)

{

ui->setupUi(this);

 

QGridLayout * main_layout = new QGridLayout;

ui->centralwidget->setLayout(main_layout);

 

// 푸쉬 버튼

QPushButton * btn = new QPushButton("OPEN FILE");

 

// 파일 경로를 표시 하기 위한 라인 에디터
edit = new QLineEdit;
main_layout->addWidget(btn);

main_layout->addWidget(edit);

 

// 푸쉬 버튼을 클릭하면 push()함수를 호출하도록 연결
connect(btn, SIGNAL(clicked()), this, SLOT(push()));

 

}


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

 


void MainWindow::push()

{

// 파일 경로 찾기위한 다이알로그 오픈
QString file_path = QFileDialog::getOpenFileName(this, "open File", "C:/", "File (*.*)");

 

// 경로를 라인 에디터에 입력
edit->setText(file_path);
}

 

 

버튼과 라인 에디터 배치

 

오른쪽 빨간 박스 테투리의 OPEN FILE 을 누르면 왼쪽에 파일 다이알로그 오픈

 

dummy.csv 를 선택 하고 오른쪽 하단 열기 클릭

 

하단 라인 에디터에 파일 경로 삽입