ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • stream deck 만들기 - 2
    python/stream deck 2021. 9. 28. 18:02

    1편에 이어서 기본 레이아웃을 만들어 보도록 하겠습니다.

    개발 환경은 다음과 같습니다. python 3.7 , pycharm 입니다.

    가급적 python 3.7 이상 버전에서 실행하시기 바랍니다.

    pip install pyqt5 

    하셔셔 pyqt5 버전을 설치합니다.

    import sys
    import os
    from PyQt5.QtWidgets import *
    from PyQt5.QtGui import *
    from PyQt5.QtCore import Qt
    
    BASE_DIR = os.path.dirname(os.path.abspath(__file__))
    
    class StreamDeck(QWidget):
    
        def __init__(self):
            super().__init__()
            self.initUI()
    
        def initUI(self):
    
            # 버튼 갯수에 맞는 6개의 label 생성
            grid = QGridLayout()
            self.setLayout(grid)
            btnName = 0
            for row in range(0,2):
                for col in range(0,3):
                    btnName += 1
                    btn = QLabel(f'버튼 {btnName}')
                    btn.setFixedSize(60,60)
                    btn.setStyleSheet('border-color: #9e9e9e;\nborder-style: solid;\nborder-width: 1px;\nborder-radius: 2px')
                    btn.setAlignment(Qt.AlignCenter)
                    grid.addWidget(btn, row, col)
    
    
            # 윈도우 타이틀
            self.setWindowTitle('Stream Deck')
            # 윈도우 아이콘 설정
            self.setWindowIcon(QIcon(BASE_DIR + '/resource/keyboard.png'))
            # 항상위에 표시되게
            self.setWindowFlags(Qt.WindowStaysOnTopHint)
            # 창 크기 고정 및 위치 이동 ( 우측 하단 )
            self.setFixedSize(250, 200)
            screen = QDesktopWidget().screenGeometry()
            size = self.geometry()
            self.move(screen.width() - size.width() - 30, screen.height() - size.height() - 80)
            self.show()
    
    if __name__ == '__main__':
       app = QApplication(sys.argv)
       sd = StreamDeck()
       sys.exit(app.exec_())

    주석이 있으니 보시면서 궁금하신 사항은 댓글로 달아주세요.
    윈도우 아이콘은 resource 폴더를 하나 만드신 다음에 원하시는 파일로 대체하시면 됩니다.

    keyboard.png
    18.0 kB

    첨부에도 하나 올려두었습니다.

    코드를 입력하시고 실행하시면 다음과 같은 화면이 뜹니다.

    반응형

    'python > stream deck' 카테고리의 다른 글

    stream deck 만들기 - 3  (1) 2021.10.05
    stream deck 만들기 - 1  (0) 2021.09.27

    댓글

미래를 준비하는 개발자 by zoomer