【发布时间】:2012-01-13 10:47:16
【问题描述】:
stackoverflow 上的第一个问题。已经阅读了一段时间,同时尝试学习 Python 和 wxPython。
我正在编写一个小应用程序,用于以自定义方式在屏幕上呈现大量数据。数据是存储在 Python 对象中的股票信息。它应该在屏幕上同时呈现大约 100 只股票。每个 stockobject 有 35 个属性,因此它可以同时显示 3 500 个属性。我想要不同的字体、大小和颜色,具体取决于属性。每个 stockobject 的背景会根据用户(我)的输入而变化。
所以我尝试使用 wxPython 和许多 StaticText 控件制作界面。加载耗时 5 秒,使用 timeit 模块计时。
在网上搜索让我想到了在设备上下文中绘制数据。这只花了0.1秒。为了使应用程序可点击,我在内存中绘制了第二张图片,每个属性都有特定的颜色。单击显示图片的面板时,我将坐标与内存中的 DC 进行比较以计算单击的内容。现在我要编写一个 sizer 例程,以便用户可以更改字体大小。
我的问题很简单:您认为我选择了正确的方法吗? 或者是否有更简单的 Pythonic 方式来执行此操作,而不使用需要永远加载的 StaticText?
网格不是我的解决方案,因为我希望数据以非常具体的布局呈现。为了能够用网格做到这一点,我必须将网格设置为 2px 和高度,然后合并整个地方的单元格......
编辑:
昨天的控件图片下载链接: http://dl.dropbox.com/u/10606669/super.png
丑陋,不是我想要的样子。这是因为我试图编写自己的 sizer 例程。
【问题讨论】:
-
如果数据不敏感,您能否发布一张图片以帮助您更好地了解您要达到的目标的规模。
-
网络所有的东西。为浏览器做。
-
我尝试发截图,但不被允许,因为我是新会员...
-
您可以将截图上传到imageshack.us并发布链接。
-
我笨....当然我可以给你一个链接而不是发布图片..