我的问题很简短,但我没有找到答案。
我正在开发一个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位操作系统。
答案 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.