전체 글 1234

[python] PyQt5 - 메인 윈도우 생성 후, 실행의 문제점

문제점 및 증상다음 두 가지 형태로 Qt QWebEngineView를 포함하는 메인 윈도우를 표시하는 방식에 있어서, create_main_window() 함수에서는 QWebEngineView에서 지정된 페이지를 표시하지 못하고 까맣게만 나오는 원인은 무엇일까요?def create_main_window() -> QApplication: app: QApplication = QApplication(sys.argv) # 메인 윈도우 생성 및 시작 URL 로딩 WebMainWindow( url=f"http://{SeccDef.UI_HOST}:{SeccDef.UI_PORT}/" , logger=main_window_logger ..

[python] PyQt5에서 pyqtSignal 올바르게 이용하는 방법

개요PyQt5로 GUI 애플리케이션을 개발하다 보면, 시그널과 슬롯(signal & slot)은 반드시 이해하고 넘어가야 할 핵심 개념입니다.특히 다음과 같은 오류를 한 번쯤은 접해 보셨을 수 있습니다.AttributeError: 'PyQt5.QtCore.pyqtSignal' object has no attribute 'connect'본 글에서는 이 오류가 발생하는 이유와 함께, "pyqtSignal"을 올바르게 이용하는 방법을 정리해 보겠습니다.오류 메시지의 의미다음과 같은 코드에서 오류가 발생했다고 가정해 보겠습니다.bridge.external_process_terminate_signal.connect(self.do_show_ui)위 코드에서 발생하는 오류 내용은 다음과 같습니다.'PyQt5.QtCo..

[python] 클래스 변수와 멤버 변수의 차이

이번 글에서는 파이썬 클래스에서 정의된 "클래스 변수(Class Variable)"와 "init()" 메서드 내에서 "self"를 통해 정의된 "멤버 변수(Member Variable)"의 차이점을 알아 보도록 하겠습니다.클래스 변수와 멤버 변수 비교class VariableTest: # 클래스 변수: 모든 인스턴스가 공유 class_variable: int = 0 def __init__(self) -> None: # 멤버 변수 (인스턴스 변수): 인스턴스마다 고유 self.member_variable: int = 0예제 코드에서 정의 위치별 구분"class VariableTest:" 바로 아래 정의된 "class_variable"이 클래스 변수입니다."def i..

"원 배틀 애프터 어나더(One Battle After Another, 2025)"를 본 후에...

감상 레오나르도 디카프리오라는 이름과 여러 곳에서 들려오는 호평에 이끌려 보게 되었습니다. 솔직히 큰 기대 없이 보았는데, 영화가 끝나고 시계를 보니 어느새 150분이 훌쩍 넘어 있었습니다. 시간 가는 줄도 모르고 영화에 빠져들어 있었습니다. 흥미로운 점은, 이 영화가 화려한 액션 신이나 눈을 사로잡는 특별한 볼거리로 가득한 작품은 아니었다는 점입니다. 그럼에도 불구하고 150분이라는 긴 상영시간 내내 지루함을 느끼지 못했다는 사실이 신기했습니다. 그리고 영화가 끝났을 때, 제 머릿속을 채운 것은 "어... 이건 뭐지?"라는 묘한 감정이었습니다. 이 영화를 한 문장으로 정의하기가 참 어렵습니다. 액션 영화처럼 보이지만 전형적인 액션의 쾌감과는 거리가 있고, 딸을 찾아가는 아버지의 여정이라고 하기에..

취미/영화보기 2025.12.02

[javaScript] "round()"를 이용하여 소수점 3자리에서 반올림해 2자리까지 표현하는 방법

자바스크립트에서 제공하는 "Math.round()" 함수는 정수 단위의 반올림만 지원 합니다.따라서 소수점 특정 자리에서 반올림하려면, 소수점을 이동시킨 후 반올림하고 다시 원래 위치로 되돌리는 방식으로 처리해야 합니다.기본적인 반올림 방법소수점 셋째 자리에서 반올림하여 둘째자리까지 표현하려면 다음과 같이 할 수 있습니다.const value = 1.23567;const rounded = Math.round(value * 100) / 100;console.log(rounded); // 1.24"value * 100" : 소수점 세 번째 자리를 정수 반올림 기준 위치로 이동"Math.round()" : 반올림 수행"/ 100" : 원래 소수점 위치로 복원부동소수점 오차를 고려한 안전한 방법자바스크립트는 부..

[web] 브라우저에서 드래깅 선택을 막는 방법

브라우저에서 마우스 드래그로 텍스트(또는 요소) 선택을 막는 방법은 주로 CSS와 JavaScript로 차단할 수 있습니다.보통은 CSS 방식만으로도 충분 합니다. JS는 보조 수단으로 사용게 됩니다.CSS로 드래그 선택 차단하는 방법가장 간단하고 확실한 방법입니다..no_select { -webkit-user-select: none; /* Chrome, Safari */ -moz-user-select: none; /* Firefox */ -ms-user-select: none; /* IE, Edge */ user-select: none; /* 표준 */} 이 영역은 드래그로 선택할 수 없습니다.위와 같이 CSS를 적용해 놓으면, 텍스트 선택, 더블 ..

"프레데터: 죽음의 땅(Predator: Badlands, 2025)"을 본 후에...

감상 이번 작품의 가장 큰 특징은 주인공이 인간이 아닌 프레데터 종족의 '덱'이라는 점입니다. 이는 분명 신선한 시도였으나, 개인적으로는 양날의 검처럼 느껴졌습니다. 외계인을 주인공으로 내세우고 외계어로 소통하는 설정이 다소 낯설게 다가왔기 때문입니다. 아마도 프레데터 시리즈의 다른 작품들을 충분히 접하지 못한 탓도 있을 것 같습니다. 그래서인지 중반부에 등장하는 엘르 패닝의 연기가 더욱 반갑고 친근하게 느껴졌습니다.※ 이하 스포일러가 포함되어 있습니다. 야우차 종족의 풍습과 특성에 대한 설명이 부족한 상황에서 갑작스럽게 등장한 아버지가 형을 죽이고... 새롭게 결성한 부족원들과 함께 복수를 위해 나선 주인공이 아버지에게 복수하는 점... 그리고 후속편을 암시하는 듯한 어머니의 등장까지... 각 사건..

취미/영화보기 2025.11.24

[C++] qt4 porting troubleshoot - undefined reference to ‘QDialog::staticMetaObject’

마지막으로 소스들은 모두 컴파일이 정상적으로 되었습니다.마지막 실행파일로 링크하는 과정에서 다음과 같은 오류가 발생하였습니다.$ make...../host/lib/gcc/aarch64-buildroot-linux-gnu/12.3.0/../../../../aarch64-buildroot-linux-gnu/bin/ld: moc_inputdatanum.o:(.data.rel.ro._ZTV12InputDataNum[_ZTV12InputDataNum]+0x220): undefined reference to `non-virtual thunk to QWidget::initPainter(QPainter*) const'../host/lib/gcc/aarch64-buildroot-linux-gnu/12.3.0/../../..

[C++] qt4 porting troubleshoot - ‘class QAudioFormat’ has no member named ‘setFrequency’

문제점 및 증상qmake를 이용하여 자동 생성된 Makefile을 활용하여 소스 빌드를 시작하였으나, 다음과 같은 오류로 실패하였습니다.src/gmenuview.cpp: In member function ‘void GMenuView::setupAudio()’:src/gmenuview.cpp:672:24: error: ‘class QAudioFormat’ has no member named ‘setFrequency’ 672 | desiredFormat1.setFrequency(44100); //441000 | ^~~~~~~~~~~~src/gmenuview.cpp:674:24: error: ‘class QA..

[C++] qt4 porting troubleshoot - QWSMouseHandler: No such file

문제점 및 증상qmake를 이용하여 자동 생성된 Makefile을 활용하여 소스 빌드를 시작하였으나, 다음과 같은 오류로 실패하였습니다.src/gmenuview.cpp:18:10: fatal error: QWSMouseHandler: No such file or directory 18 | #include | ^~~~~~~~~~~~~~~~~compilation terminated.make: *** [Makefile:1771: gmenuview.o] Error 1해결 방법"QWSMouseHandler" 헤더도 Qt4 QWS(Qtopia/Qt Window System)에 포함된 것으로 Qt5에 와서는 제거되었습니다. QWSServer와 마찬가지로 QWSKeyboardHandler..

728x90