[PyQt] Event and Event Handling 작동방식
·
Programming
PyQt에서 Event와 Event Handling PyQt도 다른 GUI application framework에서처럼 Event를 추상화한 Class를 제공하고, 이 Class를 Event의 다양한 종류에 따라 상속시킨 sub class를 제공한다. QEvent가 Event를 추상화한 class이다, 특정 Event가 발생시 Qt는 해당 Event를 추상화한 QEvent의 subclass의 instance를 생성하고 해당 evnet의 종류에 따라 조금 다른 전달방식을 따르지만 결국은 이 instance를 해당 event를 처리할 QObject instance에 event()메서드를 통해 전달한다. event()메서드에서 해당 event는 직접 처리되지는 않고 해당 evnet의 type에 따라 적절한 ..
[Programming] Library vs. Framework
·
Programming
Library vs. Framework이 둘을 명확히 구분하는 정의는 사실 없다고 봐야한다.개인적으로 호출 시점과 같은 흐름에 대한 자유도로 나누는 견해가 가장 맞는 구분 같지만...우선 두 용어가 가지는 대략적인 느낌의 차이 정도만 알고 있으면 특정 라이브러리 혹은 프레임워크들을 사용할 때 어느정도 수준으로 기능들이 제공되는지를 파악하는데 도움이 되기 때문에 정리해 둔다.보면 알겠지만, framework라면 SW의 흐름 (또는 lifecycle이라고도 함)이 이미 정해진 경우가 많아서 제대로 사용하려면 특정 function이나 class파악하는 수준이 아닌 시작품을 만드는 tutorial 정도는 살펴봐야 사용이 가능하다. LibrarySW의 구성요소 중 하나로, 특정 플랫폼에서 개발 중인 SW에특정 기..
[DIP] Dithering
·
Programming/DIP
다음은 wikipedia의 정의임. Dither is an intentionally applied form of noise used to randomize quantization error, preventing large-scale patterns such as color banding in images. Dither is routinely used in processing of both digital audio and video data. 즉, 의도적으로 삽입된 noise인데 이를 사람이 보거나 들을 때, quantizaiton error를 randomize하여 최소화된 qunantization error를 느끼게 하는 것이다. 실제로 256 단계의 gray-scale이미지를 0,1의 binary im..
[PyQt6] Install PyQt6 on Windows
·
Programming
주의 (2025.02)현재 PySide6 의 경우 Windows 11 에서 conda를 통해 설치가 잘 된다 (designer.exe도 qt-main을 통해 지원).꼭 PyQt6가 필요치 않고, PySide6로 대체가 가능하다면 다음 URL을 참고할 것.https://ds31x.tistory.com/372 [PySide6] Installing PySide6 (and Designer) on Windows (with Conda)기존에 conda 가상환경에 다시 pip로 설치를 했었는데,conda를 25.1.1 로 업데이트하고 PySide6와 designer를 설치하니 제대로 설치가 됨. Prerequisiteconda : conda-forge 채널에서 설치.os : Windows11, 23H2 (22631...
[CE] Introduction of WSL
·
Programming
Windows Subsystem for Linux : Linux용 Windows 하위 시스템.Windows OS를 사용하는 사용자 및 개발자가GNU/Linux용 Software 혹은 개발툴을 사용해야 하는 경우, (opensource의 강력함 때문에 linux를 사용해야하는 경우가 많다)기존에는 다음과 같은 방법을 사용함.Virtual Machine S/W를 이용하여 Host의 Windows OS에서 가상 GNU/Linux 장비를 생성하고 이를 이용. (이 경우, 모든 HW를 virtualization 하므로 overhead가 큼.)Dual Booting을 통해, 한 장비에 Windows OS와 GNU/Linux를 설치. (각 OS를 사용하려면 다시 부팅시켜야 함. 정말 귀찮다)GNU/Linux 에뮬레이..
[DIP] Image Format (summary)
·
Programming/DIP
Digital Image 들의 대표적인 encoding 방식들은 다음과 같음:더보기encoding 과 decoding에 대한 일반적 정의:https://dsaint31.me/mkdocs_site/CE/ch01/code_for_character/#code-encoding BMECodes for Characters Code 란 특정 형태의 information을 다른 방법으로 표현하는 규칙 또는 해당 규칙으로 표현된 결과물 을 가르킴. 문자를 나타내기 위한 code는 인간이 사용하는 문자 를 일종의 기호 또dsaint31.me BMP (Bitmap):비트맵(bitmap) 방식. extension(확장자)가 bmp임.압축도 가능하나 주로 압축되지 않는 방식으로 많이 사용됨 (1998년 Windows2.0과 함..