2

这是关于 wxPython 的。

我希望有 2 个面板彼此叠放:
PanelBG应该是某种“背景”,具有自己的 GridBagSizer 和子面板、StaticTexts 等;
PanelFG应该是“前景”面板,还有它自己的 GridBagSizer 和一些静态文本、按钮......但是一个透明的背景,在没有放置小部件PanelBG的地方都是可见的。PanelFG

我需要两个面板都拉伸到框架的所有边,即使在调整窗口大小时,虽然从不改变倒数比例,这就是为什么我不确定是否有办法使用绝对定位。

如果您想知道,我不想使用单个 Panel 的原因是合并 2 个 GridBoxSizer 需要我在 sizer 中放置更多单元格,因为前景和背景的行和列并不总是重合,我应该将它们分成许多单元格,网格尺寸增长到数百**2。
由于我要放置在前台的内容需要经常更新和刷新,因此每次都需要重绘所有单元格,这需要 10 - 20 秒才能完成操作(已测试)。只更新前台只需要百分之一秒。

谢谢!

4

2 回答 2

1

这至少会部分改变方向,但可能值得检查您还有哪些其他渲染选项。

特别是,我正在考虑 wxWebKit (http://wxwebkit.kosoftworks.com/),它可以让您使用 WebKit 浏览器渲染引擎进行分层等。我不确定它是否处于可以提供您需要的一切的阶段,因为我实际上并没有使用它,但即使它不起作用,它也可能是一种值得尝试的方法 - 使用 HTML/CSS 作为您的一部分显示,同时将整个包装在 wxPython 应用程序中。

于 2011-08-19T14:30:19.057 回答
0

据我了解,这是一个带有矩形的日历,其中包含当天的事件。

最简单的方法是使用一个 wxGrid,有 7 列和 4 或 5 行来表示月份。然后,您可以将事件放入网格单元格中以获得正确的日期。wxGrid 小部件将负责正确刷新所有内容的细节。

使用 wxGrid,您可能会失去对确切外观的一点控制,尽管 wxGrid 非常灵活且功能丰富,一旦您了解了它的许多方法,但您将不必编写大量需要大量调试工作的代码。

于 2011-08-19T14:10:52.423 回答