PyQt 예제 3.3.1

이번 글은 단순한 프로그램 업데이트 내용이다. 새로운 내용은 거의 없고, 프로그램 메뉴나 아이콘 쪽 및 도움말 부분을 업데이트 했다.


일단, 아이콘 추가나 기타 소스 코드의 개선 부분에 대해서는 설명을 하지 않겠다. 혹시 코드가 필요하다면 아래 git 저장소를 통해서 변경된 점을 확인할 수 있다.
https://github.com/bluekyu/PyQt-Examples/commit/065807624a3def9c8a07e95b66a477bad85b142b

먼저, 이미지 관련 메뉴 추가 부분을 보겠다.
        # 이미지
        imageMenuAction = self.menuBar().addAction("이미지(&M)")
        imageMenuHelp = "이미지를 조절합니다"
        imageMenuAction.setToolTip(imageMenuHelp)
        imageMenuAction.setStatusTip(imageMenuHelp)
        imageMenu = QMenu()
        imageMenuAction.setMenu(imageMenu)
        imageMenu.addAction(openImageAction)
        imageMenu.addAction(zoomImageAction)
메뉴 추가는 이전에도 설명을 했으니 따로 설명하지 않겠다. 다만, 소스 코드 정리를 위해서 일부 변수명이 변경되었다. 바뀐 것은 위에서 말한 주소를 통해서 알 수 있다.


도움말 부분을 보면, 프로그램의 이름이나 버전 정보 등이 포함되어 있다.
__program_name__ = "PyQt Example"
# 중간 생략
        # Help About Action
        helpAboutAction = QAction("{} 정보".format(__program_name__), self)
        helpAboutHelp = "{}에 대한 정보를 보여줍니다".format(__program_name__)
        helpAboutAction.setToolTip(helpAboutHelp)
        helpAboutAction.setStatusTip(helpAboutHelp)
        self.connect(helpAboutAction, SIGNAL("triggered()"), self.HelpAbout)
# 중간 생략
        # 도움말
        aboutMenuAction = self.menuBar().addAction("도움말(&H)")
        aboutMenuHelp = "도움말 및 정보를 포함합니다"
        aboutMenuAction.setToolTip(aboutMenuHelp)
        aboutMenuAction.setStatusTip(aboutMenuHelp)
        aboutMenu = QMenu()
        aboutMenuAction.setMenu(aboutMenu)
        aboutMenu.addAction(helpAboutAction)
# 중간 생략
    def HelpAbout(self):
        from platform import python_version, system
        QMessageBox.about(self, "{} 정보".format(__program_name__),
                        """{} v. {}
                        

이 프로그램은 PyQt4에 대한 예제 프로그램입니다.

Python {} - Qt {} - PyQt {} on {}

""".format( __program_name__, __version__, python_version(), QT_VERSION_STR, PYQT_VERSION_STR, system()))
프로그램 명을 위해서 하나의 변수를 추가하였다. 단순히 참조용 변수이므로 시스템 변수처럼 보이기 위해서 __ 를 붙여서 변수명을 생성했다.

그리고 액션과 메뉴를 추가한 다음, 메뉴를 눌렀을 때 대화 상자 하나를 띄우기 위해서 메시지 박스를 사용했다.

보여줄 내용은 프로그램의 이름과 버전, 그리고 python, qt, pyqt 버전, 운영체제 정보이다.

파이썬 버전과 운영체제 정보는 platform 모듈로부터 가져올 수 있고, qt와 pyqt 버전은 QtCore 모듈에 멤버로 존재한다. 이미 QtCore는 위에서 임포트 하였으므로 멤버 변수를 그대로 가져다 쓰면 된다.

댓글 1개:

  1. The welcome offer at SuperSlots certainly one of the|is amongst the|is doubtless certainly one of the} most generous out there. You can have 1xbet a 400% match bonus a lot as} $4,000 for cryptocurrency deposits. Or if you favor more conventional cost options, you can to|you probably can} grab the 6-tier fiat welcome promo of a lot as} $6,000 (250% match rate for the first deposit, 100% for the next 5). The choice of slots is spectacular with over 200 titlesfrom Betsoft, Dragon Gaming, Nucleus, Magma, Concept, and Fresh Deck. If you go for crypto payouts, withdrawals are swift and only take a lot as} an hour.

    답글삭제

크리에이티브 커먼즈 라이선스