Skip to content
toylee blog · 컴퓨터, 프로그램 정보 공유

toylee blog · 컴퓨터, 프로그램 정보 공유

파이썬 QMessageBox, 다이얼로그, 파일창

toylee, 2023년 05월 20일

PyQt6는 다양한 GUI 요소를 제공하며, 메세지박스(QMessageBox)는 그 중 하나입니다. 메세지박스는 알림 또는 입력 상자와 같은 팝업 창을 말합니다. 파이썬 QMessageBox 외 다이얼로그, 파일창 예제까지 같이 알아보겠습니다.

[목차]

  • 1. 파이썬 QMessageBox 만들기
  • 2. 파이썬 입력 메세지 팝업 만들기 – QInputDialog
  • 3. PyQt6 파일 선택 창 만들기 – QFileDialog
  • 4. 다이얼로그 사용 예제 – 이름, 나이 작성 input
  • 5. 결론 및 의견

1. 파이썬 QMessageBox 만들기

PyQt6를 통해 메세지박스 만드는 방법은 간단합니다. 먼저, 파이썬 QMessageBox모듈을 가져와야합니다. 그런 다음 QMessageBox 클래스의 객체를 만들고 exec_() 메서드를 호출하여 대화 상자를 실행합니다. 아래는 메시지 대화 상자를 만드는 예시입니다.

1
2
3
4
5
6
7
8
9
10
11
from PyQt6.QtWidgets import QApplication, QMessageBox
 
app = QApplication([])
 
msg_box = QMessageBox()
msg_box.setIcon(QMessageBox.Icon.Information)
 
msg_box.setText(“This is the message text.”)
msg_box.setWindowTitle(“Dialog Box Title”)
 
msg_box.exec()
Colored by Color Scripter
cs
파이썬 QMessageBox

QMessageBox 클래스의 객체를 만들고, setIcon() 메서드를 사용하여 아이콘을 설정하고, setText() 메서드를 사용하여 메시지 텍스트를 설정하였습니다. setWindowTitle() 메서드를 사용하여 대화 상자의 제목을 설정하였습니다. 마지막으로, exec_() 메서드를 호출하여 대화 상자를 실행합니다.

2. 파이썬 입력 메세지 팝업 만들기 – QInputDialog

PyQt6를 사용하여 입력 대화 상자를 만드는 것도 간단합니다. QApplication, QInputDialog 사용으로 입력 대화 상자를 만들 수 있습니다. 아래는 간단한 입력 메세지 팝업을 만드는 예시입니다.

1
2
3
4
5
6
7
8
9
10
11
from PyQt6.QtWidgets import QApplication, QInputDialog
 
app = QApplication([])
 
text, ok = QInputDialog.getText(None, “Input Dialog”, “Enter your name:”)
 
if ok:
    print(f“Entered text: {text}”)
else:
    print(“Dialog canceled or closed.”)
 
Colored by Color Scripter
cs
파이썬 QInputDialog

이 코드에서는 PyQt6 라이브러리에서 필요한 모듈 QApplication 및 QInputDialog를 가져옵니다. 애플리케이션을 초기화하기 위해 QApplication 인스턴스를 생성합니다.

파이썬 QInputDialog 1

다음으로 QInputDialog.getText() 메서드를 사용하여 입력 대화 상자를 만듭니다. 첫 번째 인수는 ‘None’으로, 대화 상자가 모달 대화 상자로 표시됩니다. 두 번째 인수는 이 예에서 대화 상자의 제목인 “입력 대화 상자”입니다. 세 번째 인수는 대화 상자에 표시할 메시지입니다.

파이썬 QInputDialog 2

getText() 메서드는 입력된 텍스트를 문자열로 반환하고 사용자가 확인을 클릭했는지 대화 상자를 취소했는지 나타내는 부울 값을 반환합니다. 이 값을 각각 text 및 ok 변수에 할당합니다.

파이썬 QInputDialog 3

그런 다음 ok 값을 확인하여 사용자가 확인을 클릭했는지 확인합니다. ok가 True이면 입력된 텍스트를 처리하고 이 경우에는 출력합니다. ‘ok’가 ‘False’이면 사용자가 취소를 클릭했거나 대화 상자를 닫았음을 의미하며 해당 메시지를 인쇄합니다.

파이썬 QInputDialog 4

3. PyQt6 파일 선택 창 만들기 – QFileDialog

QFileDialog 모듈을 사용하면 파일 선택 창을 만들 수 있습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from PyQt6.QtWidgets import QApplication, QFileDialog
 
app = QApplication([])
 
file_dialog = QFileDialog()
file_dialog.setNameFilter(“Text files (*.txt);;All files (*.*)”)
 
if file_dialog.exec() == QFileDialog.DialogCode.Accepted:
    selected_files = file_dialog.selectedFiles()
    print(“Selected file(s):”, selected_files)
else:
    print(“Dialog canceled or closed.”)
 
app.exec()
 
Colored by Color Scripter
cs
  • PyQt6 라이브러리에서 필요한 모듈 QApplication 및 QFileDialog를 가져옵니다. 애플리케이션을 초기화하기 위해 QApplication 인스턴스를 생성합니다.
  • 다음으로 file_dialog라는 QFileDialog 개체를 만듭니다.
QFileDialog
  • setNameFilter() 메서드를 사용하여 파일 필터를 설정합니다. 이 예에서는 확장자가 “.txt”인 텍스트 파일 또는 모든 파일을 선택할 수 있도록 “텍스트 파일(.txt);;모든 파일(.*)”로 설정합니다.
  • 대화 상자를 호출하기 위해 file_dialog의 exec() 메서드를 사용합니다. 사용자가 파일을 선택하고 “열기” 버튼을 클릭하면 file_dialog.exec()가 QFileDialog.DialogCode.Accepted를 반환하고 selectedFiles() 메서드를 사용하여 선택한 파일을 검색할 수 있습니다. 사용자가 대화 상자를 취소하거나 닫으면 file_dialog.exec()는 QFileDialog.DialogCode.Rejected를 반환하고 해당 메시지를 인쇄합니다.
  • 마지막으로 app.exec()를 사용하여 애플리케이션 이벤트 루프를 실행하여 애플리케이션을 시작하고 이벤트 루프가 종료될 때까지 계속 실행합니다.

4. 다이얼로그 사용 예제 – 이름, 나이 작성 input

PyQt6 라이브러리를 사용하여 레이아웃, 입력 상자, 레이블 및 확인 버튼이 있는 QDialog 상자를 만드는 예입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from PyQt6.QtWidgets import QApplication, QDialog, QVBoxLayout, QLabel, QLineEdit, QPushButton
 
app = QApplication([])
 
dialog = QDialog()
 
layout = QVBoxLayout(dialog)
 
label1 = QLabel(“Name:”)
line_edit1 = QLineEdit()
layout.addWidget(label1)
layout.addWidget(line_edit1)
 
label2 = QLabel(“Age:”)
line_edit2 = QLineEdit()
layout.addWidget(label2)
layout.addWidget(line_edit2)
 
button_ok = QPushButton(“OK”)
button_ok.clicked.connect(dialog.accept)
layout.addWidget(button_ok)
 
if dialog.exec() == QDialog.DialogCode.Accepted:
    name = line_edit1.text()
    age = line_edit2.text()
    print(“Name:”, name)
    print(“Age:”, age)
else:
    print(“Dialog canceled or closed.”)
 
app.exec()
 
Colored by Color Scripter
cs
QApplication
  • PyQt6 라이브러리에서 필요한 모듈 QApplication, QDialog, QVBoxLayout, QLabel, QLineEdit 및 QPushButton을 가져옵니다. 애플리케이션을 초기화하기 위해 QApplication 인스턴스를 생성합니다.
  • 다음으로 dialog라는 QDialog 인스턴스를 만듭니다.
  • 대화 상자의 레이아웃을 설정하기 위해 layout이라는 QVBoxLayout 인스턴스를 생성합니다.
  • QLabel 및 QLineEdit 클래스를 사용하여 레이블과 입력 상자를 만듭니다. 이 예에서는 두 개의 레이블(“이름:” 및 “연령:”)과 각각의 입력 상자를 만듭니다.

  • addWidget() 메서드를 사용하여 레이아웃에 레이블과 입력 상자를 추가합니다.
  • QPushButton 클래스를 사용하여 OK 버튼을 생성하고 해당 텍스트를 “OK”로 설정합니다. clicked.connect() 메서드를 사용하여 dialog의 accept() 메서드를 버튼의 클릭 이벤트에 연결합니다.
  • 레이아웃에 확인 버튼을 추가합니다.
  • 대화 상자를 호출하기 위해 dialog의 exec() 메서드를 사용합니다. 사용자가 확인 버튼을 클릭하면 dialog.exec()는 QDialog.DialogCode.Accepted를 반환하고 text() 메서드를 사용하여 입력 상자에서 입력된 값을 검색할 수 있습니다. 사용자가 대화 상자를 취소하거나 닫으면 dialog.exec()는 QDialog.DialogCode.Rejected를 반환하고 해당 메시지를 인쇄합니다.
  • 마지막으로 app.exec()를 사용하여 애플리케이션 이벤트 루프를 실행하여 애플리케이션을 시작하고 이벤트 루프가 종료될 때까지 계속 실행합니다.

5. 결론 및 의견

QMessageBox, QInputDialog, QFileDialog 모듈을 사용하여 간단하게 메시지, 입력, 파일 선택 대화 상자를 만들 수 있습니다. 또한, QDialog 클래스를 사용하여 다이얼로그 대화 상자를 만들 수도 있습니다. 용도에 맞게 python gui 구성시 사용하시면 됩니다.

[관련글]

파이썬 Tkinter 파일 불러오기-filedialog

PyQt6 QT Designer 사용자 지정 위젯

파이썬 PyQt6 레이아웃 배치

PyQt6 위젯 정리

파이썬 파이썬 QMessageBox

글 내비게이션

Previous post
Next post

Related Posts

파이썬

파이썬 Pyqt6 QTreeView 위젯 사용

2023년 05월 22일

GUI 프로그래밍에서 계층적 데이터를 표시해야 하는 경우, QTreeView는 매우 유용한 도구입니다. 파이썬 Pyqt6 QTreeView 위젯 사용시 윈도우 파일 탐색기에서 볼 수 있는 폴더 구조와 같은 계층적 데이터를 보여줄 때 사용됩니다.

Read More
파이썬

python tkinter 디지털 서명 패드 만들기

2023년 07월 09일

디지털 서명은 현대의 디지털 시대에서 중요한 역할을 합니다. 기존의 종이 위에 서명을 하는 방식에서 벗어나, 전자적인 형태로 서명을 생성하고 저장할 수 있는 디지털 서명 패드는 다양한 분야에서 사용되고 있습니다. 이번 글에서는 Python의 Tkinter 라이브러리를 활용하여 간단한 디지털 서명 패드를 만드는 방법에 대해 알아보겠습니다. Tkinter 라이브러리 설치하기 Tkinter는 Python의 표준 GUI…

Read More
파이썬

파이썬 주석 처리 방법 및 사용 이유

2023년 07월 01일

주석은 코딩을 함에 있어서 누구나 쉽게 이해 할 수 있도록 가이드를 준다고 생각하면 됩니다. 그러므로 주석은 코드를 작성하며 매우 중요한 역할을 합니다. 이번 글에선 파이썬 주석 처리 방법 및 사용 이유에 대해 같이 알아보도록 하겠습니다.

Read More

답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

최신 글

  • 드론 비행금지구역에 대해 알아볼게요
  • cpu 온도 측정 방법
  • 포토샵 단축키 모음 정리본
  • express vpn이란? 장점 및 단점
  • 안드로이드 버전 업그레이드 방법

최신 댓글

  1. 윈도우 단축키 모음 Best5의 ace
  2. http https 차이의 챗GPT 란? · Working for you

보관함

  • 2025년 7월
  • 2025년 6월
  • 2025년 5월
  • 2025년 4월
  • 2025년 3월
  • 2025년 2월
  • 2025년 1월
  • 2024년 12월
  • 2024년 11월
  • 2024년 8월
  • 2024년 6월
  • 2024년 5월
  • 2024년 3월
  • 2024년 2월
  • 2023년 11월
  • 2023년 9월
  • 2023년 8월
  • 2023년 7월
  • 2023년 6월
  • 2023년 5월
  • 2023년 4월
  • 2023년 3월
  • 2023년 2월

카테고리

  • flutter
  • html
  • linux
  • macbook
  • Pc Useful Tips
  • 미분류
  • 워드프레스
  • 자바(Java)
  • 파이썬
  • 프로그래밍
©2025 toylee blog · 컴퓨터, 프로그램 정보 공유 | WordPress Theme by SuperbThemes