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

파이썬

파이썬 웹크롤링(crawling), PyQt6, BeautifulSoup

2023년 06월 19일

파이썬 웹크롤링 (crawling)를 통해 데이터 분석, 콘텐츠 스크래핑 또는 지능형 시스템 구축을 해야하는 경우가 많습니다. 웹크롤링은 다양한 프로그래밍 언어와 라이브러리를 사용하여 수행할 수 있지만, 그것을 Python Pyqt6 그래픽 사용자 인터페이스(GUI)와 결합하면 완성도 높은 프로그램을 제작 할 수 있습니다.

Read More
파이썬

삼성전자 컬러 레이저 프린터 드라이버 다운로드 SL-C513W

2024년 06월 22일

프린터 구입 후 컴퓨터와 연결을 하기 위해서는 정품 드라이버가 필요합니다. 드라이버는 컴퓨터로 프린터를 사용할 수 있도록 도와주는 도구라고 생각하시면 됩니다. 삼성전자 컬러 레이저 프린터 드라이버 다운로드 를 위한 드라이버 모델을 (SL-C513W) 여러 시스템 버전으로 받을 수 있도록 글을 작성합니다.

Read More
파이썬

파이썬 문자열 합치기(join(), format() 외)

2023년 06월 22일

Python의 기본 작업 중 하나인 문자열 연결은 두 개 이상의 문자열을 결합하여 하나의 더 큰 문자열을 만드는 것입니다. 이 글에서는 파이썬 문자열 합치기 방법을 살펴보고 이를 더 잘 이해할 수 있는 예제를 제공합니다.

Read More

답글 남기기 응답 취소

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

최신 글

  • 포토샵 단축키 모음 정리본
  • express vpn이란? 장점 및 단점
  • 안드로이드 버전 업그레이드 방법
  • 그래픽 카드 고장 증상, 해결법도 같이 알아보자
  • 그래픽카드 가격, 2025년 시세

최신 댓글

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

보관함

  • 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