使用GTKInspector在GTK +中模拟触摸屏

问题描述 投票:0回答:1

现在,我正在Python3中开发GTK +应用程序。在应用程序的一部分中,我需要长按信号,因此,我使用了如下的Gtk.GestureLongPress类:

longPress = Gtk.GestureLongPress.new(widget)
longPress.connect("pressed", longPressFunction)
longPress.connect("cancelled", normalPressFuntion)

最后运行应用程序后,我想测试功能。但是,我没有任何触摸设备可以测试触摸操作,所以这就是我使用GtkInspector的原因。在GtkInspector中,我启用了如下所示的Simulate触摸屏,但仍然没有任何动作。有什么建议么?我错了什么,或者应该怎么做才能使其正常工作?enter image description here

gtk gtk3 pygtk
1个回答
0
投票

可能这只是一个内存管理问题。如果longPress对象超出范围,它将被销毁,因为小部件上没有引用。因此,您可以使longPress成为类成员,以防止longPress超出范围:

self.buttonLongPress = Gtk.GestureLongPress.new(self.button)
self.buttonLongPress.connect("pressed", longPressFunction)
self.buttonLongPress.connect("cancelled", normalPressFuntion)
© www.soinside.com 2019 - 2024. All rights reserved.