2024-10-04 03:25:26 发布
网友
我有一些python代码正在尝试从Qt转换到Gtk。我是Gtk的新手,对Qt没有经验。python中有几行代码在Qt中创建了新的信号,我想将它们转换为Gtk。代码如下:
fpssig = pyqtsignal(float)
稍后,会有一个连接到回调函数的连接。对不起,我这里没有具体的代码。你知道吗
如何在PyGtk中创建类似的信号,以便在需要时发出它?你知道吗
谢谢。你知道吗
嗯,我想出来了。谢谢你的回复。我试图覆盖____gsignals___ 我的属性Gst.管道对象。每次我试图创建对象时,它总是被重置为“{}”。我最终为信号创建了一个单独的类。你知道吗
____gsignals___
class PipeSignals(GObject.Object): # create signals for this pipeline __gsignals__ = { 'updatedSourceFPS': (GObject.SIGNAL_RUN_LAST, GObject.TYPE_NONE, (GObject.TYPE_FLOAT,)), 'updatedCaptureCount': (GObject.SIGNAL_RUN_LAST, GObject.TYPE_NONE, (GObject.TYPE_INT,)), 'updatedCaptureTime':(GObject.SIGNAL_RUN_LAST, GObject.TYPE_NONE, (GObject.TYPE_FLOAT,)), 'captureFinished': (GObject.SIGNAL_RUN_LAST, GObject.TYPE_NONE, ()), 'pipelineError': (GObject.SIGNAL_RUN_LAST, GObject.TYPE_NONE, (GObject.TYPE_STRING,)) } def __init__(self): GObject.Object.__init__(self)
创建Pipeline对象时,我会创建signals对象:
self.pipesignals = PipeSignals()
我连接到其中一个:
self.pipeline.pipesignals.connect('updatedSourceFPS', self.on_fps_update)
并在时机成熟时发出信号:
self.pipesignals.emit('updatedSourceFPS', fps)
我更新了我在\u fps \u update()上的状态栏。你知道吗
def on_fps_update(self, signal, fps): self.statusbar.pop(self.statusid) self.statusbar.push(self.statusid, 'fps: {:.3f}'.format(fps)) return
你的标签不是很清楚,如果你是指pygobject或pygtk。你知道吗
如果你是说pygobject,请看:https://python-gtk-3-tutorial.readthedocs.org/en/latest/objects.html#signals
嗯,我想出来了。谢谢你的回复。我试图覆盖
____gsignals___
我的属性Gst.管道对象。每次我试图创建对象时,它总是被重置为“{}”。我最终为信号创建了一个单独的类。你知道吗
创建Pipeline对象时,我会创建signals对象:
我连接到其中一个:
并在时机成熟时发出信号:
我更新了我在\u fps \u update()上的状态栏。你知道吗
你的标签不是很清楚,如果你是指pygobject或pygtk。你知道吗
如果你是说pygobject,请看:https://python-gtk-3-tutorial.readthedocs.org/en/latest/objects.html#signals
相关问题 更多 >
编程相关推荐