如上所述: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浮现在脑海中,但我不认为这对我有用,因为我不想在一行中选择特定的单元格(我似乎无法找到禁用它的功能),我只希望用户能够选择一行或多行。
答案 0 :(得分:0)
print " 4 whitespaces replace a tab"
print "%20s"%some_string_padded_to_20_chars
答案 1 :(得分:0)
我的建议是使用wxListCtrl进行简单的多列数据显示,或wxDataViewCtrl如果您需要更多功能。
FWIW,您可以使用wxGrid::SetSelectionMode() wxGridSelectRows
参数来禁用单元格选择,但wxGrid
可能仍然不是用于此类内容的最佳控件。
有关不同控件的简要摘要,请参阅this slide from my lectures。