【发布时间】:2013-04-05 16:02:13
【问题描述】:
我正在尝试在 wxPython 中构建 GUI。我有两个 TextCtrls。假设它们是first_index_input 和last_index_input,它们分别控制model.f_i 和model.l_i。有一个条件:为了正确执行模型,model.f_i 必须 first_index_input的内容应该是last_index_input。
所以我想做的是修复它,以便:1)如果用户在first_index_input 中输入的值大于last_index_input 中的值(在先前的用例或其他东西中建立),那么@987654329 @ 和 model.l_i 都将设置为等于新的 first_index_input。 2)如果用户输入的last_index_input小于first_index_input,那么last_index_input将再次被更正并设置为等于first_index_input。
那有什么难的呢?这是要关闭什么事件的问题。假设first_index_input 的内容为“145”,我(正确地)想给last_index_input 输入 10324。如果这个小部件关闭 wx.EVT_TEXT 事件,那么它不会等我输入“10324”。一旦它看到“1”(即第一个数字),它就会吓坏并说:“不!那小于first_index_input”并“纠正”我的打字。另一方面,我可以通过关闭 wx.EVT_TEXT_ENTER 命令来摆脱这种情况,并且一切正常只要我记得在输入我的值后按回车并且我从不记得按返回,所以我相信我的用户也不会。
还有其他方法可以做到这一点吗?也许还有其他可用的事件?谢谢。
【问题讨论】:
标签: python events wxpython textctrl