• 티스토리 홈
  • 프로필사진
    소쩍소쩍이
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
소쩍소쩍이
  • 프로필사진
    소쩍소쩍이
    • 분류 전체보기 (51) N
      • 파이썬 (18)
        • 문제 및 예제 (8)
      • PySide6 (15) N
        • Signal & Slot (6)
        • Layout (8)
        • Model & View (1) N
      • 리눅스 (5)
      • 아두이노 (0)
      • 일지 (11)
  • GitHub
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    # Home
    # 공지사항
    #
    # 태그
    # 검색결과
    # 방명록
    • Model / View 개념
      소쩍소쩍이:
      Model/View 구조는 GUI 프로그램에서 데이터 관리와 화면 표시를 분리하는 구조이다.Model데이터를 저장하고 관리하는 역할View데이터를 사용자에게 보여주는 역할중요한 특징View는 데이터를 직접 소유하지 않고Model이 관리하는 데이터를 화면에 표시한다. 재사용 문제이전에 작성했던 QScrollArea, QListWidget, QTextEdit 예제는데이터가 View 내부에 저장되는 구조였다.View 안에 저장된 데이터는 다른 화면에서 쉽게 공유하기 어렵다.QScrollAreaQLabel 등의 자식 위젯 안에 데이터가 저장됨QListWidget항목(Item) 내부에 데이터가 저장됨QTextEdit문서(Document) 내부에 데이터가 저장됨이러한 구조는 화면을 빠르게 만들 수 있지만,같은 데이..
      • 2026-06-01 16:11:43
    • 포스트글 썸네일 이미지
      Model / View 구조구현
      소쩍소쩍이:
      main.pyimport sysfrom PySide6.QtWidgets import QApplicationfrom model import MemberModelfrom widget import MainWidgetif __name__ == "__main__": app = QApplication(sys.argv) member_model = MemberModel() window = MainWidget(member_model) window.show() sys.exit(app.exec())model.pyfrom PySide6.QtCore import QObject, Signalclass MemberModel(QObject): change_data = Signal() def __..
      • 2026-06-01 09:32:14
    • OOP 개념정리
      소쩍소쩍이:
      1. OOP 등장배경1.1 OOP 등장배경과거에는 효율적으로 프로그램을 개발하기 위해절차지향 프로그래밍(Procedural Programming) 방식을 사용하였다.절차지향 프로그래밍은 함수와 명령어 중심으로 프로그램을 구성하며,코드 재사용성을 높여 초기 개발 비용을 줄이는 데 목적이 있었다.하지만 함수는 재사용할 수 있었지만,데이터는 여러 함수에서 공유되는 경우가 많았다.프로그램 규모가 커지면서 여러 함수가 동일한 데이터를 참조하게 되었고,코드 수정 시 다른 기능에도 영향을 주는 문제가 발생하였다.즉 프로그램 규모가 커질수록 유지보수 비용이 증가하고코드 관리가 어려워지는 문제가 발생하였다.이러한 절차지향 프로그래밍의 한계를 해결하기 위해 등장한 것이객체지향 프로그래밍(OOP, Object Oriente..
      • 2026-05-29 00:52:14
    • 포스트글 썸네일 이미지
      다중 시그널 / 단일 슬롯
      소쩍소쩍이:
      여러 Signal을 하나의 Slot 함수에 연결할 수 있다.서로 다른 위젯에서 발생한 Signal이라도 전달하는 값의 형태가 같다면 하나의 Slot 함수에서 함께 처리할 수 있다.이번 예제에서는 QSlider와 QDial의 valueChanged(int) Signal을 하나의 Slot 함수에 연결한다.QSlider와 QDialQSlider막대를 움직여 값을 조절하는 위젯QDial다이얼을 돌려 값을 조절하는 위젯valueChanged(int)값이 변경될 때 현재 값을 int 형태로 전달하는 Signal Signal 연결 구조Signal연결되는 Slotself.slider.valueChangedself.update_valueself.dial.valueChangedself.update_value슬라이더와 다이..
      • 2026-05-26 16:49:41
    • 포스트글 썸네일 이미지
      단일 시그널 / 다중 슬롯
      소쩍소쩍이:
      Qt의 Signal / Slot 구조에서는 하나의 Signal에 여러 Slot을 연결할 수 있다.하나의 이벤트가 발생했을 때 여러 함수가 동시에 실행되도록 구성할 수 있으며,각 Slot은 서로 다른 화면 요소를 갱신할 수 있다.이번 예제에서는 슬라이더 값을 이용해 Label, ProgressBar, LCDNumber를 동시에 변경한다.사용되는 SignalQSlider.valueChanged(int)슬라이더 값이 변경될 때 발생하는 기본 SignalprocessedValueSignal슬라이더 값을 가공한 뒤 전달하기 위해 만든 사용자 정의 Signal 연결되는 Slotrespond_to_slider(value)원본 값을 Label에 표시하고 처리된 값을 emit()update_progress_bar(val..
      • 2026-05-26 16:20:25
    • 포스트글 썸네일 이미지
      사용자 정의 시그널
      소쩍소쩍이:
      사용자 정의 Signal(Custom Signal)실제 프로그램을 만들다 보면 Qt가 기본으로 제공하는 Signal만으로 부족할 때가 있다.예를 들어 슬라이더 값을 그대로 사용하는 것이 아니라 값을 가공한 뒤 다른 함수나 위젯으로 전달하거나,프로그램 내부에서 새로운 이벤트 흐름을 만들고 싶을 때 사용자 정의 Signal을 사용한다. emit()Signal을 실제로 발생시키고 값을 전달할 때 사용하는 메서드self.processedValueSignal.emit(processed_value)위 코드는 processed_value 값을 함께 전달하면서 사용자 정의 Signal을 발생시킨다. 사용자 정의 Signal 선언 방법mysignal = Signal(자료형)Signal 선언 예시Signal() → 값을 ..
      • 2026-05-26 15:52:48
    • 포스트글 썸네일 이미지
      QSlider 값 전달
      소쩍소쩍이:
      QSliderQSlider는 슬라이더를 움직여 숫자 값을 조절하는 위젯볼륨 조절, 밝기 조절, 진행률 조절처럼 사용자가 숫자 값을 직접 조절해야 하는 화면에서 자주 사용된다.자주 사용하는 방향 설정Qt.Horizontal → 슬라이더를 가로 방향으로 표시Qt.Vertical → 슬라이더를 세로 방향으로 표시슬라이더 값 설정자주 사용하는 메서드setMinimum() → 슬라이더의 최소값 설정setMaximum() → 슬라이더의 최대값 설정setValue() → 슬라이더의 초기값 설정slider.setMinimum(1)slider.setMaximum(100)slider.setValue(25)위 설정은 최소값 1, 최대값 100 범위에서 시작 값을 25로 지정한 상태이다.valueChanged(int) Sig..
      • 2026-05-26 15:23:56
    • 포스트글 썸네일 이미지
      Data(값) 전달
      소쩍소쩍이:
      Signal이 값을 전달하는 경우Signal은 단순히 함수를 실행하는 것뿐만 아니라 값을 함께 전달할 수도 있다.예를 들어 QPushButton의 clicked(bool) Signal은 버튼의 체크 상태를 bool 값(True / False)으로 전달할 수 있다.clicked(bool)버튼이 클릭되었을 때 현재 체크 상태(True / False)를 함께 전달하는 SignalSignal이 전달한 bool 값은 Slot 함수의 매개변수로 받을 수 있다.def button_clicked(data): print("버튼을 클릭하셨네요! 현재 체크 상태 :", data)data 변수에는 Signal이 전달한 True / False 값이 자동으로 들어온다.clicked(bool) 예제import sysfrom ..
      • 2026-05-26 15:13:51
    조회된 결과가 없습니다.
    [1][2][3][4][···][7]
    스킨 업데이트 안내
    현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
    ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
    목차
    표시할 목차가 없습니다.
      • 안녕하세요
      • 감사해요
      • 잘있어요

      티스토리툴바