반응형

PyQt5에서 윈도우의 모든 창버튼(최소화, 최대화, 닫기)을 제거하는 예제입니다. 



최초작성 2024. 05. 21




실행해보면 최소화, 최대화 닫기 버튼이 보이지 않습니다. Exit 버튼을 클릭하면 프로그램이 종료됩니다.

 



import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidget, QTableWidgetItem, QVBoxLayout, QWidget, QTextEdit, QPushButton
from PyQt5.QtCore import Qt

class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("PyQt5 No Buttons Example")

        # Qt.WindowTitleHint 플래그는 타이틀 바를 표시하고, Qt.CustomizeWindowHint 플래그는 기본 윈도우 버튼(최소화, 최대화, 닫기)을 비활성화합니다.
        self.setWindowFlags(Qt.WindowTitleHint | Qt.CustomizeWindowHint)


        # 종료 버튼 생성 및 클릭 시그널 연결합니다.
        self.exit_button = QPushButton("Exit")
        self.exit_button.clicked.connect(self.close_application)

        # 레이아웃 설정합니다.
        layout = QVBoxLayout()
        layout.addWidget(self.exit_button)

        container = QWidget()
        container.setLayout(layout)
        self.setCentralWidget(container)

    # 버튼 클릭시 호출되는 슬롯 함수입니다. 프로그램을 종료합니다.
    def close_application(self):
        self.close()

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = MyWindow()
    window.show()
    sys.exit(app.exec_())



반응형

문제 발생시 지나치지 마시고 댓글 남겨주시면 가능한 빨리 답장드립니다.


제가 쓴 책도 한번 검토해보세요 ^^

+ Recent posts