[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

태그:

카테고리:

업데이트:

댓글남기기