gtk3+拦截鼠标点击fram

2024-09-27 09:26:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我只想拦截鼠标点击一帧,尝试了这个代码但不工作不知道为什么,我尝试用所有鼠标键点击但没有反应:

__author__ = 'karim'

from gi.repository import Gtk


def tata(event, data):
    print('tata')

win = Gtk.Window()
win.set_title('test')
win.connect('delete-event', Gtk.main_quit)
win.connect('button-press-event', tata)
win.show_all()

Gtk.main()

但是当我尝试绑定输入notify event时,当我的鼠标输入 win地区,控制台显示消息tata

^{pr2}$

为什么它不知道它不工作??在


Tags: 代码fromimporteventgtkmainrepositoryconnect
1条回答
网友
1楼 · 发布于 2024-09-27 09:26:13

button-press-event上的文档说明:

To receive this signal, the GdkWindow associated to the widget needs to enable the GDK_BUTTON_PRESS_MASK mask.

所以也要导入Gdk然后再做

win.set_events (Gdk.EventMask.BUTTON_PRESS_MASK)

这会让你的例子奏效。在

在课文中你还提到了一个框架。如果您计划用GtkFrame做同样的事情,请注意,只有具有自己窗口的小部件才能接收事件,而Frame这样的容器通常都有一个窗口。您可能需要将框架放入事件框中,以便接收事件。在

相关问题 更多 >

    热门问题