PyQt5

Qt5 예제

자동매매 2022. 3. 21. 22:04
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QToolTip, QMainWindow, QAction, qApp
from PyQt5.QtCore import QCoreApplication
from PyQt5.QtGui import QIcon, QFont
import time


class MyApp(QMainWindow):
    def __init__(self):
        super().__init__()
        if 선택 == '1':
            self.initUI_창띄우기()
        elif 선택 == '2':
            self.initUI_아이콘삽입()
        elif 선택 == '3':
            self.initUI_창닫기()
        elif 선택 == '4':
            self.initUI_툴팁()
        elif 선택 == '5':
            self.initUI_상태바()
        elif 선택 == '6':
            self.initUI_메뉴바()
            self.initUI_툴바()

    def initUI_창띄우기(self):
        self.setWindowTitle('My First Application')
        self.move(300, 300)
        self.resize(400, 200)
        self.show()

    def initUI_아이콘삽입(self):
        self.setWindowTitle('Icon')
        self.setWindowIcon(QIcon('web.png'))
        self.setGeometry(300, 300, 300, 200)
        self.show()

    def initUI_창닫기(self):
        btn = QPushButton('Quit', self)
        btn.move(50, 50)
        btn.resize(btn.sizeHint())
        btn.clicked.connect(QCoreApplication.instance().quit)

        self.setWindowTitle('Quit Button')
        self.setGeometry(300, 300, 300, 200)
        self.show()

    def initUI_툴팁(self):
        # 도움 : https://doc.qt.io/qt-5/qtooltip.html
        QToolTip.setFont(QFont('SansSerif', 10))  # 폰트를 설정
        self.setToolTip('This is a <b>QWidget</b> widget')  # 표시될 텍스트

        btn = QPushButton('Button', self)
        btn.setToolTip('This is a <b>QPushButton</b> widget')
        btn.move(50, 50)
        btn.resize(btn.sizeHint())

        self.setWindowTitle('Tooltips')
        self.setGeometry(300, 300, 300, 200)
        self.show()

    def initUI_상태바(self):
        # 메인창 : https://doc.qt.io/qt-5/qmainwindow.html
        # 상태바 : https://doc.qt.io/qt-5/qstatusbar.html
        # 메소드 : learMessage() , showMessage() , currentMessage()
        # 시그널 : messageChanged() 

        self.statusBar().showMessage('Ready')
        self.setWindowTitle('Statusbar')
        self.setGeometry(300, 300, 300, 200)
        self.show()

    def initUI_메뉴바(self):
        # https://doc.qt.io/qt-5/qmenubar.html

        exitAction = QAction(QIcon('exit.png'), 'Exit', self)
        exitAction.setShortcut('Ctrl+Q')
        exitAction.setStatusTip('Exit application')
        exitAction.triggered.connect(qApp.quit)

        self.statusBar()

        menubar = self.menuBar()  # 메뉴바 생성
        menubar.setNativeMenuBar(False)
        filemenu = menubar.addMenu('&File')  # 단축키 생성 - Alt + F  (&위치로 결정)
        filemenu.addAction(exitAction)

        self.setWindowTitle('Menubar')
        self.setGeometry(300, 300, 300, 200)
        self.show()

    def initUI_툴바(self):
        # https://doc.qt.io/qt-5/qtoolbar.html
        exitAction = QAction(QIcon('exit.png'), 'Exit', self)
        exitAction.setShortcut('Ctrl+Q')
        exitAction.setStatusTip('Exit application')
        exitAction.triggered.connect(qApp.quit)

        self.statusBar()

        self.toolbar = self.addToolBar('Exit')
        self.toolbar.addAction(exitAction)

        self.setWindowTitle('Toolbar')
        self.setGeometry(300, 300, 300, 200)
        self.show()


if __name__ == "__main__":
    app = QApplication(sys.argv)
    선택 = input('선택 : ')
    myApp = MyApp()
    myApp.show()
    app.exec_()

exit.png
0.00MB
web.png
0.01MB