【问题标题】:wxPython : change colour of a DataViewListCtrl itemwxPython : 改变 DataViewListCtrl 项的颜色
【发布时间】:2018-11-19 15:40:02
【问题描述】:

我对构建 UI 很陌生,所以如果我的问题看起来很愚蠢,我深表歉意。

我目前正在构建一个小界面,旨在根据几个条目参数显示报告。

起初,我希望通过 wxListCtrl (LC_REPORT) 显示报告,但我遇到的问题是我无法设置“单元格”的背景或字体颜色,我只能为整行做。可能我记错了。

其次,我发现我可以在 wxDataViewListCtrl 中显示报告,但我必须承认我有点迷失在 wxPython 文档(wxDataViewItem、wxDataViewItemAttr 等)中。

有没有办法在我构建报告后专门更改某些单元格设置?

【问题讨论】:

  • wxDataViewCtrl 很复杂,没有很好的解释。为“单元格”设置背景颜色绝非易事。我建议使用wxGrid。虽然它也很复杂,但它更容易理解和处理。
  • 我可能会考虑这样做,因为我已经将 wxGrid 用于另一个工具。但是 IIRC,在这种情况下,第一列始终不是“可编辑”的,是吗?
  • @ThylowZ,第一栏是什么意思?
  • 如果您要以表格格式和一些额外的文本格式进行报告,建议wxGrid 是一个不错的选择。
  • @Igor,抱歉,我不知道如何更好地解释它,但上次我使用 wxGrid 时,默认情况下,第一列有点像一个“垂直标题”(对不起,我不是英语母语)==>我有一个垂直和水平的“标题”。在这里,我需要我的所有列在格式上都是相同的,就像列表框报告一样。不知道是否更清楚......

标签: python python-2.7 wxwidgets wxpython


【解决方案1】:

您绝对可以使用 UltimateListCtrl 小部件做您想做的事。 wxPython 演示甚至有一个将单个单元格的背景颜色设置为黄色的示例。看起来这些项目属于以下类型:UltimateListItem。它们有一个可以设置的_colour 属性。

ObjectListView 也可能是一个值得关注的解决方案:https://objectlistview-python-edition.readthedocs.io/en/latest/recipes.html#how-can-i-change-the-colours-of-a-row

【讨论】:

    猜你喜欢
    • 2017-08-16
    • 2012-06-07
    • 2010-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多