목록분류 전체보기 (25)
DevStudy

1. Image Maps - HTML에서 이미지맵을 사용하면 이미지의 일부분만 링크를 걸 수 있습니다. ## 문법 ** 이때 태그의 usemap 속성의 맵이름과 태그의 name 속성의 값은 같아야 합니다. ## map태그의 shape유형 유형 설명 rect 직사각형 영역을 정의 circle 원형 영역을 정의 poly 다각형 영역을 정의 default 전체 영역을 정의 ## 아래 예제들에서 쓸 이미지 laptop.jpg 2. rect(사각형) 유형의 이미지맵 - rect는 직사각형을 의미합니다. ## 문법 ## 선택하고 싶은 이미지 영역 커피잔부분만 링크를 걸려고 합니다. ## 좌표 추출 원의 중심좌표 추출 원의 반지름 추출 ## 테스트 코드 ## 코드 결과 커피잔 부분에만 마우스 손모양이 올라가는 것이 ..

실행 파일 만들기 (PyInstaller) PyInstaller를 이용하면 파이썬과 PyQt5로 제작한 GUI 프로그램을 간단하게 실행파일 (exe)로 만들 수 있습니다. (PyInstaller 홈페이지) 실행파일은 파이썬이 설치되어 있지 않은 pc에서도 프로그램을 실행할 수 있도록 해줍니다. 위젯 - QTextBrowser (Advanced) 페이지에서 작성했던 예제 코드를 실행파일로 만들어 보겠습니다. PyInstaller 설치 우선 명령프롬프트에서 아래의 명령어를 통해 PyInstaller 패키지를 설치합니다. pip install pyinstaller 또는 pip3 install pyinstaller 실행파일 만들기 Python 파일이 있는 폴더로 이동한 다음, 아래 명령어를 입력하면 해당 폴더에..

시그널과 슬롯 (Signal&Slot) PyQt에서는 이벤트 처리에 있어서 시그널과 슬롯이라는 독특한 메커니즘을 사용합니다. 연결하기 다이얼 위젯으로 조절한 값을 화면에 출력하는 프로그램을 만들어 보겠습니다. 다이얼의 값이 변할 때 발생하는 시그널이 LCD 화면에 숫자를 표시하는 슬롯과 연결됩니다. 예제 ## Ex 7-1. 연결하기. import sys from PyQt5.QtWidgets import QApplication, QWidget, QLCDNumber, QDial, QVBoxLayout class MyApp(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): lcd = QLCDNumber(self) d..

QMessageBox 메세지 박스 (QMessageBox) 클래스는 사용자에게 정보를 제공하거나 질문과 대답을 할 수 있는 대화창을 제공합니다. 흔히 어떤 동작에 대해 확인이 필요한 경우에 메세지 박스를 사용합니다. (QMessageBox 공식 문서 참고) 메세지 박스에서는 사용자에게 상황을 설명하는 기본 텍스트를 표시합니다. 그 다음, 정보를 전달하거나 사용자의 의사를 묻는 텍스트를 표시할 수 있습니다. 마지막으로 더욱 자세히 상황을 설명하기 위한 세부적인 텍스트를 표시할 수 있습니다. 이러한 각각의 텍스트를 표시하기 위해 setText()/setInformativeText()/setDetailedText() 메서드를 사용할 수 있습니다. 예제 ## Ex 6-5. QMessageBox. import s..

QFileDialog 파일 다이얼로그 (QFileDialog)는 사용자가 파일 또는 경로를 선택할 수 있도록 하는 다이얼로그입니다. 사용자는 선택한 파일을 열어서 수정하거나 저장할 수 있습니다. (QFileDialog 공식 문서 참고) 예제 ## Ex 6-4. QFileDialog. import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QTextEdit, QAction, QFileDialog from PyQt5.QtGui import QIcon class MyApp(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): self.textEdit ..

QFontDialog 폰트 다이얼로그 (QFontDialog)는 폰트를 선택할 수 있게 해주는 다이얼로그입니다. (QFontDialog 공식 문서 참고) 예제 ## Ex 6-3. QFontDialog. import sys from PyQt5.QtWidgets import (QApplication, QWidget, QVBoxLayout , QPushButton, QSizePolicy, QLabel, QFontDialog) class MyApp(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): btn = QPushButton('Dialog', self) btn.setSizePolicy(QSizePolicy.Fixe..

QColorDialog 컬러 다이얼로그 (QColorDialog)는 색상을 선택할 수 있는 다이얼로그입니다. (QColorDialog 공식 문서 참고) 예제 ## Ex 6-2. QColorDialog. import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QFrame, QColorDialog from PyQt5.QtGui import QColor class MyApp(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): col = QColor(0, 0, 0) self.btn = QPushButton('Dialog', self) self..

QInputDialog 입력 다이얼로그 (QInputDialog)는 사용자가 간단한 값을 입력할 때 사용하는 다이얼로그입니다. 입력값은 숫자, 문자열, 리스트에서 선택한 항목 등이 될 수 있습니다. (QInputDialog 공식 문서 참고) 입력값의 형태에 따라 아래와 같이 다섯 개의 유용한 함수가 제공됩니다. getText() getMultiLineText() getInt() getDouble() getItem() 예제에서는 getText() 메서드를 사용합니다. 예제 ## Ex 6-1. QInputDialog. import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLineEdit, QInputDialog class My..

QCheckBox QCheckBox 위젯은 on(체크됨)/off(체크안됨)의 두 상태를 갖는 버튼을 제공합니다. 이 위젯은 하나의 텍스트 라벨과 함께 체크 박스를 제공합니다. (QCheckBox 공식 문서 참고) 체크 박스가 선택되거나 해제될 때, stateChanged() 시그널을 발생합니다. 체크 박스의 상태가 변할 때마다 어떠한 동작을 발생시키고 싶을 때, 이 시그널을 특정 슬롯에 연결할 수 있습니다. 또한 체크 박스의 선택 여부를 확인하기 위해서, isChecked() 메서드를 사용할 수 있습니다. 선택 여부에 따라 boolean 값을 반환합니다. 일반적인 체크 박스는 선택/해제 상태만을 갖지만, setTristate() 메서드를 사용하면 ‘변경 없음 (no change)’ 상태를 가질 수 있습니..

QLabel QLabel 위젯은 텍스트 또는 이미지 라벨을 만들 때 쓰입니다. 사용자와 어떤 상호작용을 제공하지는 않습니다. (QLabel 공식 문서 참고) 라벨은 기본적으로 수평 방향으로는 왼쪽, 수직 방향으로는 가운데 정렬이지만 setAlignment() 메서드를 통해 조절할 수 있습니다. 라벨을 하나 만들고, 라벨의 스타일과 관련된 몇 개의 메서드들을 사용해 보겠습니다. 예제 ## Ex 5-2. QLabel. import sys from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout from PyQt5.QtCore import Qt class MyApp(QWidget): def __init__(self): super().__in..