1

如此处所述: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 浮现在脑海,但我不认为这对我有用,因为我不想能够在一行中选择特定的单元格(我似乎找不到禁用它的功能),我只想要用户能够选择一行或多行。

4

2 回答 2

0

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

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

请参阅我讲座中的这张幻灯片,了解不同控件的简要摘要。

于 2013-04-17T10:40:52.207 回答
0
print "    4 whitespaces replace a tab"

print "%20s"%some_string_padded_to_20_chars
于 2013-04-16T23:48:18.933 回答