问题标签 [listctrl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1010 浏览

python - 如何设置和保持最小宽度?

我在 wx.LC_REPORT 模式下使用了一些 wx.ListCtrl 类,并通过 ListCtrlAutoWidthMixin 进行了扩充。

问题是:当用户双击列分隔符(自动调整列大小)时,列宽设置为与内容的宽度匹配。这是由 wx 库完成的,并在控件为空时将列的大小调整为仅几个像素。

我试着打电话

self.SetColumnWidth(colNumber, wx.LIST_AUTOSIZE_USEHEADER)

在创建列表时,它只是设置初始列宽,而不是允许的最小宽度。

有人成功设置列最小宽度吗?

编辑:尝试捕捉

没有成功。用户双击列分隔符时不会生成此事件。也试过了

此事件通常会生成两次,用于双击,但我看不到如何检索有关新大小的信息,或者如何区分双击和拖放。有人有其他想法吗?

0 投票
2 回答
5296 浏览

colors - wxPython wxListCtrl 选中的行颜色

我想让某些行选择颜色为红色而不是标准颜色(Windows 上的蓝色),以便我可以指示状态。任何人都知道这在 wxPython 中是否可行?

0 投票
4 回答
2984 浏览

python - 如何获取 wx.ListCtrl 的宽度及其列名?

我在 wx.Python 中工作,我想让我的 wx.ListCtrl 的列自动调整大小,即至少为列名的宽度,否则与最宽的元素或其列名一样宽。起初我认为 ListCtrlAutoWidthMixin 可能会这样做,但事实并非如此,所以看起来我可能必须自己做(如果有内置的方法,请纠正我!!!)

我怎样才能知道我的列表的标题和元素将呈现多宽?

0 投票
1 回答
820 浏览

python - 在 wxpython listctrl 中显示整数

我有一个五列的 wxPython ListCtrl。其中四个保存字符串,最后一个具有整数值。我一直将它们存储为字符串(即“4”、“17”等)。但是,既然我已经添加了一个 ColumnSorterMixin 让我对列表中的特定列进行排序,我当然发现整数列是按词法而不是按数字排序的。

有没有一种简单的方法来解决这个问题?

0 投票
4 回答
5178 浏览

python - ListCtrl - wxPython / Python

我的问题是我们是否可以为某个项目分配/绑定一些值并隐藏该值(或者我们是否可以以另一种方式做同样的事情)。

示例:假设 ListCtrl 上的列是“名称”和“描述”:

当我添加一个项目时,我希望他们显示 Name 参数和描述:

现在我想要做的基本上是为该项目分配一些未显示的内容,以便我稍后可以在应用程序上访问。

所以我想添加一些未显示在应用程序上但在项目值上的内容,例如:

还是没看懂?好吧,假设我添加了一个按钮来添加一个带有其他一些 TextCtrls 的项目来设置参数,TextCtrls 参数是:

“姓名”

“描述”

“隐藏描述”

因此,用户填写此 textctrls 并单击按钮以创建项目,我基本上只想显示名称和描述并隐藏“HiddenDescription”,但这样做以便我以后可以使用它。

很抱歉在这篇文章中解释了不止 1 次,但我想确保你理解我假装在做什么。

0 投票
1 回答
1241 浏览

python - wxPython - 在 ListCtrl 中保存项目

我的问题是我们是否可以将项目保存在 ListCtrl 上,这样每次有人打开应用程序时,项目就在那里,如果用户删除它,它也会从配置中删除。我知道我可以使用 wx.Config 并且我正在尝试使用它来完成,但我不知道如何以某种方式阅读它来完成我想要的。

所以我想知道的是一种正确的方式来写入/读取 wx.Config,每次有人打开应用程序时,ListCtrl 中的项目都在那里。

提前致谢。

0 投票
2 回答
1167 浏览

python - wxPython ListCtrl 列忽略特定字段

我正在重写这篇文章以澄清一些事情并为我遇到问题的虚拟列表提供完整的类定义。该类的定义如下:

我添加了允许列切换的功能,这有助于我描述我遇到的问题。在我的应用程序中此类的第三个实例中,索引 1 处的列将不会显示字符串值。整数值显示正确。如果我将打印语句添加到我的 OnGetItemText 方法,则值会正确显示在我的控制台中。此行为在此类的前两个实例中不存在,并且我的类不包含任何关于值显示的类型检查代码。

wxPython 用户组中的某个人建议我创建一个独立的示例来演示这个问题,如果可以的话。我正在努力,但还没有时间创建一个不依赖于数据库访问的示例。任何建议或意见将不胜感激。我正在把头发扯下来。

0 投票
2 回答
1628 浏览

formatting - 无法格式化 WxPython 的 ListCtrl 中的第一列

如果我将 ListCtrl 中第一列的格式设置为居中对齐(或右对齐),则不会发生任何事情。它适用于其他列。

这只发生在 Windows 上 - 我已经在 Linux 上对其进行了测试,它工作正常。有谁知道是否有工作轮或其他解决方案?

这是一个基于http://zetcode.com/wxpython/上的代码的示例

0 投票
3 回答
756 浏览

python - wxPython:具有数百万个项目的 VirtualTreeListCtrl

我想向 TreeListCtrl 的根节点添加 1,000,000 多个条目。因此,我想让它成为“虚拟的”,即就像一个虚拟的 ListCtrl 一样工作,这样它仍然很快,并且由于当前显示的项目是按需加载的,我可以轻松地滚动。但我不能使用虚拟 ListCtrl,因为我还希望能够扩展 1,000,000 个项目中的任何一个以显示其子项(这些项的子项总是少于 50 个)。这可以用 TreeListCtrl 有效地完成吗?还是与不同的班级?根据我自己对 treemixin.VirtualTree 和 wx.gizmos.TreeListCtrl 的实验,重载 OnGetItemText 方法的工作方式与使用普通虚拟 ListCtrl 的方式不同。当用户滚动时,它不会被按需调用,这意味着所有 1,000,

0 投票
2 回答
4009 浏览

c++ - 删除和重新添加所有项目和所有列时,列表视图在 Win32 对话框上闪烁

考虑一个用 C++ 编写的带有 listview 控件(在报告模式下)的普通 Win32 对话框。在某个事件中,所有项目和所有列都将被删除,并创建新的列和项目。基本上,随着内容的变化,列会根据内容自动生成。

当旧项目/列被删除并添加新项目时,列表视图会像地狱一样闪烁。我已经尝试过WM_SETREDRAW并且LockWindowUpdate()没有改变视觉体验。

我什至设置了扩展列表视图样式LVS_EX_DOUBLEBUFFER,但这根本没有帮助。

父对话框已WS_CLIPCHILDREN设置。

有什么建议可以使这项工作尽可能少地闪烁吗?我正在考虑使用两个列表视图,交替可见性,使用隐藏的作为后台缓冲区,但这听起来有点矫枉过正。必须有一个简单的方法。