[GUI(QT) Programming] qt.qpa.xcb: QXcbConnection: XCB error 오류 해결
업데이트:
✍🏻 삽질 기록
QT로 GUI를 열려고 하던 중 다음과 같은 오류가 생겼다.
qt.qpa.xcb: X server does not support XInput 2
...
qt.qpa.xcb: QXcbConnection: XCB error: 1 (BadRequest), sequence: 165, resource id: 90, major code: 130 (Unknown), minor code: 47
qt.qpa.xcb: QXcbConnection: XCB error: 170 (Unknown), sequence: 164, resource id: 90, major code: 146 (Unknown), minor code: 20
구글링을 한참 하다보니 이 링크에서 /usr/share/qt5/qtlogging.ini
에 다음을 추가하라는 걸 발견 !!
[Rules]
*.debug=false
qt.qpa.xcb.xcberror.warning=false
qt.qpa.xcb.xcberror.error=false
qt.qpa.xcb.warning=false
qt.qpa.xcb.error=false
qt.qpa.xcb=false
근데 나는 /usr/share/qt5/
에 qtlogging.ini
파일이 없었다😢 (/home/jihye/Qt5.12.10/5.12.10/Src/qtbase/tests/auto/corelib/io/qloggingregistry/qtlogging.ini
에 있기는 했는데 이 파일에 Rules를 적용해도 계속 문제가 생겼다..)
그래서 한참을 또 헤매고 있었는데 이 링크에서 QT_LOGGING_RULES
환경변수를 통해 Rules
를 줄 수 있다고 해서 터미널에 다음을 입력하여 rules를 정의해주었다 :-)
export QT_LOGGING_RULES='*.debug=false;*.debug=false;qt.qpa.xcb.xcberror.warning=false;qt.qpa.xcb.xcberror.error=false;qt.qpa.xcb.warning=false;qt.qpa.xcb.error=false;qt.qpa.xcb=false'
그랬더니 이번에는 새로운 문제…
failed to get the current screen resources QObject::moveToThread: Current thread (0x55ef805daef0)
이 문제는 다행히 간단했다. opencv-python
version 문제 !!
이 링크의 내용을 참고해서 opencv 버전을 바꿔줬더니 해결되었다 :)
pip uninstall opencv-python
pip install opencv-python==4.1.2.30
댓글남기기