问题标签 [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 投票
1 回答
870 浏览

python - wxPython listctrl:只允许对某些列进行排序

我有一张使用wx.ListCtrl. 我希望在单击列标题时对所有列进行排序,但存储行索引的第一列除外(例如,0,1,2,3,...)。这意味着,如果用户单击第一列的标题,则不应对该表进行排序。但ColumnSorterMixin似乎只让我指定可排序的列数。由于行 id 列是第一列,这不允许我从一个可排序的列中排除行 id 列。任何建议将不胜感激!

0 投票
1 回答
100 浏览

python - Python从wxListCtrl中的行项目中创建字典类型变量

在我的 wxPython 应用程序中,我有一个 wxListCtrl 填充了一些数据。有没有办法然后我可以使用 ListCtrl 行项目来创建字典变量

假设我的列表控件中有 4 行,其中包含列:- Rush(y/n)、Subject、ReceivedDateTime

我想创建一个字典变量,如下所示:-

0 投票
0 回答
53 浏览

python - 可编辑 listctrl 上的 wxWidgets AttributeError

我从http://www.blog.pythonlibrary.org/2011/01/04/wxpython-wx-listctrl-tips-and-tricks/复制了一个可编辑的 ListCtrl 示例。我已将InsertStringItemSetStringItem更改为InsertItemSetItem。当我尝试运行它时,我收到以下错误

回溯(最近一次调用最后):文件“C:\Python27\lib\site-packages\wx\lib\mixins\listctrl.py”,第 560 行,在 OnLeftDown self.OpenEditor(col, row) 文件“C:\ Python27\lib\site-packages\wx\lib\mixins\listctrl.py",第 568 行,在 OpenEditor evt.Index = row AttributeError: can't set attribute

我在 Windows 10 上使用 Python 2.7.10。

我该如何解决?

0 投票
0 回答
113 浏览

visual-studio-2010 - mfc中的透明listctrl

我有一个 MFC GUI 应用程序,它有一个在 VC6.0 中开发的列表视图控件(报表视图)。我将项目移植到VS2010。现在我需要使 listview ctrl 透明。所以我尝试了 LVS_EX_TRANSPARENTBKGND 扩展样式。它显示了一个编译错误。所以我在项目设置中将_WIN32_WINNT设置为0x0601来解决编译错误。然而,列表控件并没有变得透明。

我在一个新创建的示例 VS2010 MFC 项目中尝试了 LVS_EX_TRANSPARENTBKGND 扩展样式,它工作正常。但是它不适用于移植的 MFC 项目。

期待解决方案!

0 投票
2 回答
312 浏览

python - 当 OnGetItemText 耗时过长时 wx.ListCtrl 闪烁

我在使用 LC_VIRTUAL 时遇到 wx.ListCtrl 问题,无法找到正确的解决方法。

问题是如果 OnGetItemText() 花费太长时间来返回它的结果,控件的内容会闪烁。

到目前为止我尝试过的解决方案:

  • SetDoubleBuffered - 如果在 ListCtrl 本身或父控件上完成,它会导致内容根本不显示
  • 禁用背景擦除可修复闪烁,但会产生重绘问题,尤其是在调整控件大小时。
  • Freeze() 和 Thaw() 没有任何效果,因为控件已经处于重绘的中间。

到目前为止,我想出的唯一解决方案是在调用 Refresh() 之前缓存新数据。但是,在某些情况下,我可能需要显示 100,000 条或更多记录,因此提前缓存它们是行不通的。

这是我构建的一个示例来演示该问题,尽管您可能必须根据 CPU 速度调整计数:

我在两种工作环境中都遇到了这个问题:

0 投票
1 回答
934 浏览

python-2.7 - 如何使用 OnClick 事件填充 wxpython LIstCtrl

我想设计一个wxpython ListCtrl。因此,当单击“搜索”按钮时,我会得到这样的列表

我想用上面的输出填充 listctrl。我是 InsertStringItem 方法,它将返回我当前行的索引,其余列由 SetStringItem() 方法填充。但这给了我 TypeError: String or Unicode type required.我该如何做到这一点?

0 投票
1 回答
206 浏览

user-interface - AttributeError:“TextCtrl”对象没有属性“ClearAll”

我的父框架中有 textctrl 和 listctrl 。我想一键删除图文电视和 listctrl。因此,当单击重置按钮时,它应该删除所有文本和列表。我该如何完成此操作?我正在尝试这个,但这给了我错误

0 投票
2 回答
2329 浏览

onclick - 如何将 wxpython listctrl 与 onclick 按钮事件绑定

我有一个 wxpython listctrl ,其中包含 4 列 [A、B、C、D]。用户从 listctrl 中选择任何一行。现在我的 gui 中有一个按钮,所以当我单击该按钮时,我想从该选定行打印列 D 的值。例如,让用户选择此行:
[PYTHON, JAVA, MATLAB, RUBY]
现在如果用户单击按钮它应该给出输出: RUBY
我正在以这种方式绑定按钮

我定义的 OnPlot 事件为: def OnPlot(self, event): click = event.GetText()

它不起作用,但是。我怎样才能做到这一点?

0 投票
1 回答
301 浏览

python - 虚拟 wx.ListCtrl 在 SetItemCount 上引发 wxAssertionError

我想创建一个自定义 ListCtrl“MyListCtrlCrafting”,它从另一个名为“DBInterface”的类中提取数据(实际上它不是一个真正的数据库,而是一个复杂的 python 字典)。有关于如何做到这一点的教程,我遵循“Python in Action”。要点是:从 ListCtrl 继承,并将样式参数设置为 wx.LC_REPORT | wx.LC_SINGLE_SEL | wx.LC_VIRTUAL,在init () 期间调用 SetItemCount() 并覆盖一些方法。

为了测试它是如何工作的,我制作了一个小应用程序,它只包含一个(主)框架、虚拟 ListCtrl 和一个基本版本的 DBInterface。在此设置中一切正常。但是当我连接真实App的类时,我得到了一个Traceback:

与简单的 App 相比,virtualListCtrl 现在嵌套得很深。此错误是否仅由此嵌套内部或 DBInterface 和 ListCtrl 之间的错误连接产生?还是我必须了解如何计算 m_count 才能解决此错误?如果是这样,我怎样才能读取 _core 文件?我已经在 core.py 文件中阅读了有关 ListCtrl 的信息,但它不包含相关部分。

我对这个回溯的问题是我不明白为什么在 SetItemCount() 期间会引发它。这个方法应该类似于定义,因为它处理列表的行,它应该接受正整数,可能是 0,也可能是标准的 -1。我插入了 5,所以这不是这里发生的真正问题(?)

非常感谢任何帮助或提示!

完整的追溯:

虚拟 ListCtrl (两个打印都给了我预期的结果):

数据库接口:

0 投票
0 回答
50 浏览

python - 在 wxpython 中调整列表滚动条的大小

我在添加列表项时使用 wx.ListCtrl,listctrl 在 Rigth 或底部创建滚动条

我想要 listctrl 的自定义滚动条或出现时隐藏滚动条我该怎么办?