如此处所述: http : //docs.wxwidgets.org/trunk/classwx_list_box.html

请注意,当前列表框项目文本中的TAB字符并非在所有平台上都得到一致处理,因此应将其替换为空格以在任何地方正确显示字符串。 列表框根本不支持任何其他控制字符。

到目前为止,根据我在Windows 7中使用Python 2.7 32位的经验,在wxListBox选择的字符串中使用\\ t无效; 符合预期

我有一堆来自数据库的行,并且我想在wxListBox的一行中显示(并最终用于选择一个或多个行)多列。 目前,我使用建议的空格作为字符串中值之间的分隔符。 但是,由于列的长度是可变的,因此这并不是很理想。

\\ t是否有不是简单分隔符的替代方法? 这里的重点是要整齐地显示每一行的所有列,即

    column1        value1            value2
    column442142   values24234234    val2

而不是

   column1        value1        value2
   column442142        values24234234        val2

我想到了wxGrid,但我认为这对我不起作用,因为我不想选择一行中的特定单元格(我似乎找不到禁用该功能的函数),我只想要用户可以选择一行或多行。

===============>>#1 票数:0

print "    4 whitespaces replace a tab"

print "%20s"%some_string_padded_to_20_chars

===============>>#2 票数:0 已采纳

我的建议是使用wxListCtrl为简单的多列数据显示或wxDataViewCtrl如果你需要更多的功能。

FWIW您可以将wxGrid :: SetSelectionMode()wxGridSelectRows参数一起使用来禁用单元格选择,但是可以说wxGrid仍然不是用于此类操作的最佳控件。

请参阅我的讲座中的幻灯片,以获取有关不同控件的简要概述。

  ask by Patrick Bateman translate from so

未解决问题?本站智能推荐:

关注微信公众号