Python Menu & Toolbar

2022. 5. 25. 02:28IT

Python의 메뉴와 Toolbar에 대한 자세한 내용이 나와있는 페이지다. Toolbar를 Customize를 요청받아 Study 중에 찾은 페이지다. 

 

https://realpython.com/python-menus-toolbars/#using-icons-and-resources-in-pyqt

 

Python and PyQt: Creating Menus, Toolbars, and Status Bars – Real Python

In this step-by-step tutorial, you’ll learn how to create, customize, and use Python menus, toolbars, and status bars for creating GUI applications using PyQt.

realpython.com

 

나중에 시간이 되면 Pyside6로 변경을 해 보면서 말이다. 

 

그리고 아이콘 버튼과 설명이 아래 달린 클래스를 하나 만들었다. Toolbar에 addwidget으로 사용하기 위해서다. 

 

import sys
from PySide6.QtWidgets import QWidget, QLabel, QVBoxLayout, QPushButton
from PySide6.QtGui import QIcon, QAction
from PySide6 import QtGui, QtCore


class BWButtonLable(QWidget):
    def __init__(self, img, txt):
        super().__init__()
        self.img = img
        self.txt = txt
        self.initUI()

    def initUI(self):
        self.action = QAction(QIcon('./resources/res/open.png'), "Your button", self)
        self.button = QPushButton('', self)
        self.button.setIcon(QtGui.QIcon(self.img))
        self.button.setIconSize(QtCore.QSize(32, 32))
        self.button.setStyleSheet(
                                    "background-color: beige;"
                                    "selection-color: black;"
                                    "border-width: 0px;"
                                    "border-color: beige;")

        self.lbl = QLabel(self.txt)
        self.lbl.setAlignment(QtCore.Qt.AlignCenter | QtCore.Qt.AlignVCenter)
        self.lbl.setStyleSheet("color: #45403e;")

        vbox = QVBoxLayout()
        vbox.addWidget(self.button)
        vbox.addWidget(self.lbl)
        self.setLayout(vbox)
반응형

'IT' 카테고리의 다른 글

Python 얕은 복사와 깊은 복사  (0) 2022.06.17
Pyside6 Custom QTextEdit  (0) 2022.05.30
Pyside6 window resize & layout  (0) 2022.05.22
PySide6 Customized Window  (0) 2022.05.21
Python socket error (소켓 통신 에러)  (0) 2022.05.20