gpt4 book ai didi

python - 问题 : Glib-Gobject-warning **: cannot register existing type 'GDKDisplayManager'

转载 作者:行者123 更新时间:2023-12-01 21:40:02 39 4
gpt4 key购买 nike

我已经为我的树莓派设计了一个带有 pyqt 和 opencv python 的接口(interface),所以当我运行一个基本的测试来打开相机时没有问题( cv2.imshow('test',frame) 这太基本了只是为了检查我的相机是否正常工作)是的,相机成功打开,但是当我尝试在 pyqt5 上创建的界面中打开相机时出现问题,因为它会出现一些错误,但主要是 Glib-Gobject-Warning **:无法注册现有类型“GDKDisplayManager”

完整错误:

Glib-Gobject-Warning **: cannot register existing type 'GDKDisplayManager'
Glib-critical **: g_once_init_leave: assertion 'result != 0 ' failed
Glib-Gobject-CRITICAL **:g_object_new: assertion 'G_TyPE_IS_OBJECT(Object_type)'fail
Glib-GObject-WARNING **: invalid (null) pointer instance
Glib-GObject-CRTICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE(instance)'failed
Glib_GObject-WARNING **: cannot register existing type 'GdkDisplay'
Glib-critical **: g_once_init_leave: assertion 'result != 0 ' failed
Glib-Gobject-CRITICAL **: g_type_register_static: assertion 'parent_Type > 0'failed
Glib-critical **: g_once_init_leave: assertion 'result != 0 ' failed
Glib-Gobject-CRITICAL **:g_object_new: assertion 'G_TyPE_IS_OBJECT(Object_type)'failed

这是打开相机的函数

def OpenCamera(self):
self.setup_CameraSettings()
cap = cv2.VideoCapture(self.CameraSource) # video capture source camera (Here webcam of laptop)
cap.set(3, self.Resolution_x) # set the resolution
cap.set(4, self.Resolution_y)
cap.set(cv2.CAP_PROP_AUTOFOCUS, 0) # turn the autofocus off
focus = self.Focus # min: 0, max: 255, increment:5
cap.set(cv2.CAP_PROP_FOCUS, focus)

ret,frame = cap.read() # return a single frame in variable `frame`

if ret== True:
cv2.imshow('Settings Test',frame)
cv2.waitKey(0)
cv2.destroyAllWindows()
else:
self.popUp_Message('Camera Unplugged')

此代码在我的 PC 上成功运行,所以问题不在函数中,我认为是关于我树莓派上的 PyQt

最佳答案

[问题已解决]

我正在使用 PyQt5 开发 GUI。

运行此代码后我收到错误消息:

(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

def SelectROI(self):

#cv2.imshow("Select Region of Interest", self.browsed_img4)
ImageToCrop = self.tmp_4.copy()


r = cv2.selectROI(ImageToCrop)
# Crop image

imCrop = ImageToCrop[int(r[1]):int(r[1]+r[3]), int(r[0]):int(r[0]+r[2])]

当您使用不同的 gtk 版本时会出现问题...对于我的情况,我在 QT 配置中使用 gtk2,但在我的机器中我使用的是 gtk3。

[解决方案]

编辑qt5ct.conf文件

sudo nano /etc/xdg/qt5ct/qt5ct.conf
# replace style=gtk2 with style=gtk3
ctrl+x y ENTER

关于python - 问题 : Glib-Gobject-warning **: cannot register existing type 'GDKDisplayManager' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61509812/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com