QDialog&QMessageBox 사용법

2022. 10. 19. 21:00·사소한 아이의 소소한 스킬/PyQT5
반응형
import sys, os
from PyQt5.QtWidgets import *


class BaseWindow(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):

        self.lbl = QLabel("EXAMPLE")

        self.btn_1 = QPushButton("QInputDialog")
        self.btn_1.clicked.connect(self.Input_showDialog)
        self.btn_2 = QPushButton("QColorDialog")
        self.btn_2.clicked.connect(self.Color_showDialog)
        self.btn_3 = QPushButton("QFontDialog")
        self.btn_3.clicked.connect(self.Font_showDialog)
        self.btn_4 = QPushButton("QFileDialog")
        self.btn_4.clicked.connect(self.File_showDialog)
        self.btn_5 = QPushButton("QMessageBox")
        self.btn_5.clicked.connect(self.Message_showDialog)

        vbox = QVBoxLayout()
        vbox.addStretch(3)
        vbox.addWidget(self.lbl)
        vbox.addWidget(self.btn_1)
        vbox.addWidget(self.btn_2)
        vbox.addWidget(self.btn_3)
        vbox.addWidget(self.btn_4)
        vbox.addWidget(self.btn_5)
        vbox.addStretch(1)

        self.setLayout(vbox)

        self.setWindowTitle('QDialog')
        self.setGeometry(0, 0, 500, 500)
        self.show()

    def Input_showDialog(self):
        text, ok = QInputDialog.getText(self, 'Input Dialog', 'Enter your name:')

        if ok:
            self.lbl.setText(str(text))

    def Color_showDialog(self):
        col = QColorDialog.getColor()

        if col.isValid():
            self.lbl.setStyleSheet('QWidget { background-color: %s }' % col.name())

    def Font_showDialog(self):
        # PyQT5
        font, ok = QFontDialog.getFont()
        
        # PySide6
        # ok, font = QFontDialog.getFont()

        if ok:
            self.lbl.setFont(font)

    def File_showDialog(self):
        fname = QFileDialog.getOpenFileName(self, 'Open file', './')

        if fname[0]:
            f = open(fname[0], 'r')

            with f:
                data = f.read()
                self.lbl.setText(data)

    def Message_showDialog(self):
        reply = QMessageBox.question(self, 'Message', 'Are you sure to quit?',
                                     QMessageBox.Yes | QMessageBox.No, QMessageBox.No)

        if reply == QMessageBox.Yes:
            print("YES")
        else:
            print("NO")


if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = BaseWindow()
    window.show()
    sys.exit(app.exec())

 

 

 

 

 

 

QInputDialog

PyQT5 : https://www.riverbankcomputing.com/static/Docs/PyQt5/api/qtwidgets/qinputdialog.html?highlight=qinputdialog#QInputDialog

PySide 6 :https://doc.qt.io/qtforpython/PySide6/QtWidgets/QInputDialog.html?highlight=qinputdialog

 

QColorDialog

PyQT5 :https://www.riverbankcomputing.com/static/Docs/PyQt5/api/qtwidgets/qcolordialog.html?highlight=qcolordialog#QColorDialog

PySide 6 :https://doc.qt.io/qtforpython/PySide6/QtWidgets/QColorDialog.html?highlight=qcolordialog

 

QFontDialog

PyQT5 : https://www.riverbankcomputing.com/static/Docs/PyQt5/api/qtwidgets/qfontdialog.html?highlight=qfontdialog#QFontDialog

PySide 6 : https://doc.qt.io/qtforpython/PySide6/QtWidgets/QFontDialog.html?highlight=qfontdialog

 

QFileDialog

PyQT5 :https://www.riverbankcomputing.com/static/Docs/PyQt5/api/qtwidgets/qfiledialog.html?highlight=qfiledialog#QFileDialog

PySide 6 :https://doc.qt.io/qtforpython/PySide6/QtWidgets/QFileDialog.html?highlight=qfiledialog

 

QMessageBox

PyQT5 :https://www.riverbankcomputing.com/static/Docs/PyQt5/api/qtwidgets/qmessagebox.html?highlight=qmessagebox#QMessageBox

PySide 6 :https://doc.qt.io/qtforpython/PySide6/QtWidgets/QMessageBox.html?highlight=qmessagebox

반응형
저작자표시 비영리 변경금지 (새창열림)
'사소한 아이의 소소한 스킬/PyQT5' 카테고리의 다른 글
  • QCheckBox 사용법
  • QTabWidget 사용법
  • QSpinBox 사용법
  • QDateTimeEdit 사용법
JOOJI
JOOJI
그냥 혼자좋아하는 것들 남기는 블로그....
  • JOOJI
    사소한프로그래머의 소소한행복
    JOOJI
  • 전체
    오늘
    어제
    • 분류 전체보기 (965)
      • 사소한 아이의 소소한 일상 (247)
      • 사소한 아이의 소소한 먹거리 (44)
      • 사소한 아이의 소소한 정보 (75)
      • 사소한 아이의 소소한 감사 (4)
      • 사소한 아이의 소소한 운동 (64)
      • 사소한 아이의 소소한 여행 (40)
        • 2013_전주 (1)
        • 2014_독일 (13)
        • 2014_군산 (1)
        • 2015_제주도 (3)
        • 2015_서울모토쇼 (3)
        • 2015_진해 (1)
        • 2015_전주 (1)
        • 2016_여수 (1)
        • 2020_강릉 (1)
        • 2022_제주도 (4)
      • 사소한 아이의 소소한 강짱 (22)
        • 하트투하트 (10)
        • MAPS (1)
        • 화려한 유혹 (2)
        • 한여름의 추억 (2)
      • 사소한 아이의 TV (50)
        • Drama (9)
        • 예능 (32)
        • 사소한 아이의 다현 (9)
      • 사소한 아이의 소소한 스킬 (130)
        • Scaleform (2)
        • C# (74)
        • QT (3)
        • 알고리즘 (4)
        • Python (21)
        • PyQT5 (9)
        • C_C++ (2)
      • 사소한 아이의 소소한 축구 (283)
        • Korea (25)
        • Germany (45)
        • Bayern Munich (64)
        • Soccer_ETC (75)
        • Euro 2016 (12)
        • 친선경기 (3)
      • 사소한 아이의 소소한 생활정보 (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
    • 관리
  • 링크

    • 독일여행
    • 레바티스토리
    • 프라치노 공간
    • 남성패션꿀템 블로그
  • 공지사항

  • 인기 글

  • 태그

    c#
    python
    분데스리가
    회사밥
    바이에른 뮌헨
    WPF
    독일
    러닝
    문제
    뮌헨
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
JOOJI
QDialog&QMessageBox 사용법
상단으로

티스토리툴바