文本上的Wxpython声音输入事件

时间:2016-06-09 21:48:27

标签: python widget wxpython

我的问题很简短,但我没有找到答案。

我正在开发一个wxpython项目,当在textctrl框中按下enter时,会调用frame类中的方法。这样可以正常工作,然而,当我按下“dling”声音输入时会播放声音。我不希望这是我的计划。这可以拆卸吗?甚至更好,可替换?

以下是有关问题的相关代码行。

self.send_box = wx.TextCtrl(self.panel, -1, "", style=wx.TE_PROCESS_ENTER)
self.send_box.Bind(wx.EVT_TEXT_ENTER, self.enter_message)

    def enter_message(self, event):

        message = self.send_box.GetValue()
        self.send_box.SetValue("")
        print message
        event.Skip()

如果有帮助,我正在使用Windows 10 64位操作系统。

2 个答案:

答案 0 :(得分:1)

遇到了同样的问题。尽管问题的年龄很长,但答案可能对有相同问题的任何人都有帮助。

显然,声音是在调用event.Skip()时由Windows事件处理程序产生的。如果ENTER按钮的处理完成,则无需调用Skip()来调用Windows事件处理程序,请参见

https://wxpython.org/Phoenix/docs/html/wx.TextCtrl.html

因为ENTER将被“在控件内部处理或用于激活对话框的默认按钮”,这通常不是您想要的。

如果未调用event.Skip(),则Windows不会产生声音。

答案 1 :(得分:0)

I suspect that somewhere on your operating system, there is an option for turning on/off button and window sounds or event sounds.
Sorry, I can't tell you where it is on Windows, I use Linux. It has nothing to do with wxpython.