在树莓派使用PyQT5创建GUI时,使用cv2在界面内创建窗口调用摄像头时出现这个错误:
(python3:2306): GLib-GObject-WARNING **: 10:38:58.937: cannot register existing type 'GdkDisplayManager'
(python3:2306): GLib-CRITICAL **: 10:38:58.938: g_once_init_leave: assertion 'result != 0' failed
(python3:2306): GLib-GObject-CRITICAL **: 10:38:58.939: g_object_new_with_properties: assertion 'G_TYPE_IS_OBJECT (object_type)' failed
搜索资料后发现是QT在树莓派默认使用gtk2,在QT设置文件中将style改为gtk3即可解决问题。
使用nano编辑conf文件:
sudo nano /etc/xdg/qt5ct/qt5ct.conf
之后找到"style=gtk2"一行,将其改为"style=gtk3"。
CTRL+O, Enter, CTRL+X保存并退出。
之后即可成功运行。
原文章:https://stackoverflow.com/questions/61509812/issue-glib-gobject-warning-cannot-register-existing-type-gdkdisplaymanager