파이썬 (pythoon)

파이썬 pyqt6 팝업 창 만들기 - QMessageBox()

working for you 2023. 6. 30. 09:59
반응형

파이썬 응용 프로그램에서 팝업 창 또는 대화 상자는 추가 정보를 제공하거나 사용자 입력을 수집하거나 중요한 메시지를 표시하는 데 중요한 역할을 합니다. Python 라이브러리인 PyQt6은 사용자 지정 가능한 대화형 대화 상자 제공합니다. 이 글에서는 파이썬 pyqt6 팝업 창 만들기 - QMessageBox()에 대해 알아보겠습니다.

 

[목차]
1. 파이썬 pyqt6 기본 팝업 창 만들기
2. 대화 상자 버튼 사용자 지정
3. 사용자 지정 대화 상자 만들기
4. 결론 및 의견

 

 

파이썬 pyqt6 팝업 창 만들기

 

1. 파이썬 pyqt6 기본 팝업 창 만들기

기본 대화 상자를 만들기 위해 PyQt6에서 제공하는 QMessageBox 클래스를 사용합니다. 이 클래스를 사용하면 정보, 경고, 위험 및 질문 프롬프트를 포함하여 다양한 유형의 메시지를 표시할 수 있습니다.

다음은 정보 메시지를 표시하는 기본 대화 상자의 예입니다.

from PyQt6.QtWidgets import QApplication, QMessageBox

app = QApplication([])
message_box = QMessageBox()
message_box.setWindowTitle("Information")
message_box.setText("This is an informational message.")
message_box.setIcon(QMessageBox.Icon.Information)
message_box.exec()

 

실행화면

파이썬 pyqt6 팝업 창 만들기 - QMessageBox()

 

 

2. 대화 상자 버튼 사용자 지정

QMessageBox 클래스는 사용자 상호작용을 위한 기본 버튼을 제공합니다. 그러나 요구 사항에 따라 단추를 사용자 지정할 수 있습니다. 예를 들어 사용자 정의 버튼을 추가하고 사용자의 응답을 처리하려면 addButton() 및 clickedButton() 메서드를 사용할 수 있습니다.

from PyQt6.QtWidgets import QApplication, QMessageBox, QPushButton

app = QApplication([])

message_box = QMessageBox()
message_box.setWindowTitle("Custom Buttons")
message_box.setText("This dialog has custom buttons.")

button_yes = QPushButton("Yes")
button_no = QPushButton("No")
message_box.addButton(button_yes, QMessageBox.ButtonRole.YesRole)
message_box.addButton(button_no, QMessageBox.ButtonRole.NoRole)

clicked_button = message_box.exec()
if clicked_button is button_yes:
    print("User clicked 'Yes'")
elif clicked_button is button_no:
    print("User clicked 'No'")

 

실행화면

파이썬 pyqt6 팝업

 

 

3. 사용자 지정 대화 상자 만들기

QMessageBox는 미리 정의된 메시지 유형을 표시하는 데 유용하지만 PyQt6에서는 QDialog를 서브클래싱하여 완전히 사용자 정의된 대화 상자를 만들 수도 있습니다. 이 접근 방식은 사용자 지정 레이아웃, 위젯 및 기능을 사용하여 복잡한 대화 상자를 디자인하고 구현할 때 유연성을 제공합니다.

다음은 사용자 지정 대화 상자의 예입니다.

from PyQt6.QtWidgets import QApplication, QDialog, QVBoxLayout, QLabel, QLineEdit, QDialogButtonBox

app = QApplication([])

class CustomDialog(QDialog):
    def __init__(self):
        super().__init__()

        layout = QVBoxLayout()
        self.setLayout(layout)

        label = QLabel("Please enter your name:")
        layout.addWidget(label)

        line_edit = QLineEdit()
        layout.addWidget(line_edit)

        button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel)
        button_box.accepted.connect(self.accept)
        button_box.rejected.connect(self.reject)
        layout.addWidget(button_box)

dialog = CustomDialog()
clicked_button = dialog.exec()
if clicked_button == QDialog.DialogCode.Accepted:
    print("User clicked 'Ok'")
elif clicked_button == QDialog.DialogCode.Rejected:
    print("User clicked 'Cancel'")

 

실행화면

QMessageBox()

 

4. 결론 및 의견

파이썬 pyqt6 팝업 창 만들기 - QMessageBox() 과정을 살펴보았습니다.  'QMessageBox'를 사용하여 기본 대화 상자를 만들고 특정 요구에 맞게 사용자 지정하는 방법을 자세히 살펴보았습니다. 또한 'QDialog'를 서브클래싱하고 사용자 정의 위젯과 기능을 추가하여 완전히 사용자 정의된 대화 상자를 만드는 방법을 배웠습니다.

 

 

[관련글]

[파이썬 (pythoon)] - PyQt6을 사용하여 간단한 계산기를 만드는 방법

 

PyQt6을 사용하여 간단한 계산기를 만드는 방법

Python 라이브러리인 PyQt6을 사용하여 간단한 계산기를 만드는 방법을 살펴봅니다. PyQt6는 Python의 단순성과 Qt 프레임워크의 광범위한 기능을 결합하여 대화형 애플리케이션을 구축하는 데 탁월한

2toy.net

[정보 및 유용한 팁] - 챗GPT 란? (CHAT GPT 사용)

 

챗GPT 란? (CHAT GPT 사용)

챗GPT 란 무엇일까요? 요즘 너무 핫하다 못해 마치 옆에 있는 선생님처럼 느껴지는 이 인공지능 AI에 대해서 이해하기 쉽게 정리하려 합니다. 결론적으로 챗GPT에게 질문을 하면, 형식적인 답이 아

2toy.net

[파이썬 (pythoon)] - 파이썬 Tkinter 색상표 프로그램 만들기

 

파이썬 Tkinter 색상표 프로그램 만들기

파이썬 Tkinter 색상표 프로그램 만들기 만드는 방법을 살펴보겠습니다. 그래픽 디자인 도구를 구축하든 단순히 애플리케이션에 색상 선택 기능을 추가하든 관계없이 프로세스를 단계별로 안내

2toy.net

[파이썬 (pythoon)] - Python Tkinter를 이용한 텍스트 편집기(Text Editor) 만들기

 

Python Tkinter를 이용한 텍스트 편집기(Text Editor) 만들기

파이썬 GUI 툴킷인 Tkinter는 Python과 함께 제공되며 사용자 친화적이고 효율적인 대화형 애플리케이션을 만들 수 있는 방법을 제공합니다. 이번 글에서는 Python Tkinter를 사용하여 텍스트 편집기(text

2toy.net

[파이썬 (pythoon)] - 파이썬 Tkinter 디지털 시계 프로그램 만들기 예제

 

파이썬 Tkinter 디지털 시계 프로그램 만들기 예제

오늘은 파이썬 Tkinter 디지털 시계 프로그램 만들기 예제를 통해 코드를 분석하며 같이 공부해 보려 합니다. 마치 탁상시계와 같이 00:00:00으로 표기되며, 컴퓨터 시간을 기본값으로 적용합니다.

2toy.net

반응형