프로그레스 바(QProgressBar)를 제어하는 간단한 PyQt5 예제입니다. 2024. 8. 31 최초작성시작 버튼을 클릭하면 프로그레스 바가 진행되면서 파란색 영역이 채워지다가 정지 버튼을 클릭하면 멈춥니다. 초기화 버튼을 클릭하면 프로그레스 바가 초기화됩니다.100% 채우기 버튼을 클릭하면 프로그레스 바가 꽉차게 됩니다. 전체 코드입니다. import sysfrom PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QProgressBar, QVBoxLayoutfrom PyQt5.QtCore import QTimer, QObject, pyqtSignalclass ProgressBarController(QObject): progress_c..
PyQt5 그룹박스(QGroupBox) 예제입니다. 2024. 8. 29 최초작성실행 하면 그룹박스 내에 라벨과 두 개의 버튼이 보여집니다. 디폴트로 보이는 그룹박스와 달리 테두리 선이 그레이로 두꺼운 선이고 그룹박스의 제목도 위치가 조정되어 있습니다. 버튼을 클릭하면 해당 문자열이 출력되도록 구현되어 있습니다. 전체 코드입니다. import sysfrom PyQt5.QtWidgets import QApplication, QWidget, QGroupBox, QLabel, QPushButton, QVBoxLayout, QHBoxLayoutclass ExampleApp(QWidget): def __init__(self): super().__init__() self.i..
PyQt5에서 QTableWidget를 마우스로 클릭하여 선택되는 것 방지를 하는 예제입니다.2024. 8. 29 최초작성실행결과 표를 클릭해도 선택이 되지 않습니다. 전체 코드입니다. 표 선택을 방지하기 위해 QTableWidget 대신에 QTableWidget를 상속받은 NoSelectionTable를 사용합니다. import sysfrom PyQt5.QtWidgets import QApplication, QMainWindow, QHeaderViewfrom PyQt5.QtWidgets import QTableWidget, QTableWidgetItem, QAbstractItemViewfrom PyQt5.QtCore import Qtfrom PyQt5.QtGui import QColor# 표 선택을..
탭 재생성 시 이전 선택 탭 복원하는 pyQt5 예제입니다.2024. 8. 21 최초작성3개의 탭이 생성되고 탭별로 텍스트가 추가됩니다. 탭 2를 선택한 상태에서 버튼을 클릭합니다. 탭을 모두 삭제후, 다시 탭을 생성한 후, 앞에서 선택했던 탭2를 다시 보여줍니다. 전체코드입니다. import sysfrom PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QHBoxLayout, QPushButton, QTabWidget, QTextEdit, QSplitterfrom PyQt5.QtCore import Qtclass TabDemo(QWidget): def __init__(self): super().__init__() ..
pyQt5로 만든 이미지 뷰어 예제입니다.2024. 8. 19 최초작성실행 후, 이미지 선택 버튼을 클릭합니다. 열고자하는 이미지 파일을 선택한 후, 열기 버튼을 클릭합니다. 선택한 이미지가 윈도우에 보여집니다. import sysfrom PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLabel, QVBoxLayout, QFileDialogfrom PyQt5.QtGui import QPixmapfrom PyQt5.QtCore import Qtclass ImageLoader(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(s..
pyQt5 윈도우를 화면의 중앙에 배치하는 예제입니다.두 개 이상의 모니터 사용시 주모니터의 정중앙에 보여집니다. 사용하는 UI 컴포넌트에 따라 정중앙에 배치안될 수도 있습니다. 2024. 5. 22 최초작성2024. 8 .19 버그 수정import sysfrom PyQt5.QtWidgets import QApplication, QMainWindow, QTextEditclass MyWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("PyQt5 Hello World Example") # 텍스트 에디트 위젯을 생성합니다. self.text_edit = QTe..
QSlider를 사용하여 생성한 5개의 슬라이더를 조정하여 5자리 정수를 조합해보는 예제입니다. 2024. 8. 16 최초작성import sys from PyQt5.QtWidgets import QApplication, QWidget, QSlider, QVBoxLayout, QHBoxLayout, QLabelfrom PyQt5.QtCore import Qt # QWidget을 상속받는 SliderDemo 클래스 정의합니다.class SliderDemo(QWidget): # 초기화 메서드 def __init__(self): # 부모 클래스 초기화 super().__init__() # UI 초기화 메서드 호출 self.initUI() ..
정수를 읽어서 한글로 변환해주는 pyQt5 예제입니다.2024. 8. 13 최초작성import sys from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLineEdit, QLabel from PyQt5.QtGui import QValidator from PyQt5.QtCore import Qt def num_to_korean(num): units = ['', '일', '이', '삼', '사', '오', '육', '칠', '팔', '구'] # 1~9 한글 표현 tens = ['', '십', '백', '천'] # 십, 백, 천 단위 large_units = ['', '만', '억', '조'] # 만, 억, 조 단위..
정수를 입력시 천 단위로 콤마를 실시간으로 추가해주는 pyQt5 예제입니다.2024. 8. 13 최초작성import sysfrom PyQt5.QtWidgets import QApplication, QWidget, QLineEdit, QVBoxLayoutfrom PyQt5.QtGui import QIntValidator# QLineEdit를 상속받아 사용자 정의 위젯을 만듭니다.class ThousandsSeparatorEdit(QLineEdit): def __init__(self, parent=None): super().__init__(parent) # 입력가능한 최소(0), 최대값(999999999) 지정 self.setValidator(QInt..
pyQt5 QTableWidget 예제 코드입니다.2024. 8. 12 최초작성import sysfrom PyQt5.QtWidgets import QApplication, QWidget, QTableWidget, QTableWidgetItem, QVBoxLayout, QHeaderView, QFramefrom PyQt5.QtCore import Qtclass TableExample(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setWindowTitle('PyQt5 Table Example') self.setFixedSize(400,25..