【问题标题】:Tabbing Order of Widgets小部件的 Tab 键顺序
【发布时间】:2019-02-05 09:59:11
【问题描述】:

一年多以前,我询问了在使用 CharValidator() 时识别 TABS 的问题。现在可以使用定制的 CharValidator()。但是,TAB 顺序遵循创建访问它们的小部件的顺序,包括自动生成/计算的小部件(例如日期、BMI)。我想修改这个命令,而不需要修改大部分代码,也排除提到的不相关的代码。我遇到过这段代码:

order = (control1, control2, control3,......)
for i in range(len(order)  - 1):
    order[i+1].MoveAfterInTabOrder(order[i]) 

但没有明确说明如何实施/调用。谷歌搜索没有找到任何有用的东西'

代码是用 Python 2.7 和 wxPython 2.8 编写的

【问题讨论】:

  • 这段代码有什么问题?
  • 我的问题是我找到了这段代码 sn-p 但没有说明如何使用它。当我在创建小部件后立即放置它时,它没有任何效果。所以我的查询是我在哪里放置它以及如何调用它(如果不是自动的)。
  • 您只需将所有控件放在订单列表中即可。然后根据需要重新洗牌。 MoveAfterInTabOrder 的参数是您要移动的控件。因此,在您的情况下- order[i + 1] 是正在移动的窗口,而 order[i] 是正在移动的窗口。这意味着如果 order[i] 有焦点,当您按 TAB 时,焦点将移动到 order[i + 1]。

标签: python wxpython wxwidgets


【解决方案1】:

Move{Before,After}InTabOrder() 函数做你期望它们做的事情,即它们在窗口之前或之后移动它们被调用的窗口作为 TAB 顺序中的参数,这确实是你应该使用的更改 TAB 顺序而不更改创建顺序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-21
    • 1970-01-01
    • 2012-04-23
    • 2023-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多