【问题标题】:Wxpython sound on text enter event文本输入事件上的 Wxpython 声音
【发布时间】:2016-10-10 17:50:02
【问题描述】:

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

我正在开发一个 wxpython 项目,当在 textctrl 框中按下 enter 时,将调用框架类中的一个方法。这很好用,但是,当我按下回车键时会发出声音,就像“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 位操作系统。

【问题讨论】:

    标签: python widget wxpython


    【解决方案1】:

    我怀疑在您的操作系统的某个地方,有一个用于打开/关闭按钮和窗口声音或事件声音的选项。
    抱歉,我不能告诉你它在 Windows 上的位置,我使用的是 Linux。 与wxpython无关。

    【讨论】:

      【解决方案2】:

      刚刚遇到同样的问题。虽然这个问题很老了,但答案可能对任何有同样问题的人都有帮助。

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

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

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

      如果 event.Skip() 没有被调用,windows 不会产生声音。

      【讨论】:

        猜你喜欢
        • 2012-11-08
        • 1970-01-01
        • 1970-01-01
        • 2020-04-29
        • 1970-01-01
        • 2021-07-07
        • 1970-01-01
        • 2010-12-14
        • 2010-12-23
        相关资源
        最近更新 更多