【问题标题】:How to add custom widgets in wxglade如何在 wxglade 中添加自定义小部件
【发布时间】:2012-01-20 12:41:48
【问题描述】:

我有一个使用 wxglade 制作的应用程序。我添加了一个能够播放 mp3:s 的媒体控件。如果没有媒体控件,应用程序会以 800x600 像素的帧开始。但是当我添加媒体控件时,框架非常小。我相信这是因为我没有将它添加到sizer。但我必须这样做吗?无论如何,媒体控件不应该显示任何内容。

所以,我的问题是,我如何在我的应用程序中添加一个媒体控件,而 (a) 不会破坏使用 wxglade 更新 gui 的可能性和 (b) 丢失从合适的尺寸开始的能力?

如果可以的话,我不会在# Begin wxglade# End wxglade 之间添加任何内容。因为如果我用 wxglade 更改我的 gui,它将被销毁(无论如何根据之前的测试)。

编辑:我提供的代码 sn-p 没有添加任何有趣的东西。我还对问题进行了编辑,使其更加清晰,以便其他有相同问题的人可以找到此答案。

【问题讨论】:

  • 问答会找到更多读者更合适的标题。我建议:“如何在 wxglade 中添加自定义小部件”或类似的东西
  • 您的权利。这是一个非常好的答案,对我来说效果很好,所以值得找到。

标签: python wxpython wxglade


【解决方案1】:

快速技巧:

  1. 在你的小部件应该在的地方,用 wxGlade 插入一个wx.Panel 并将其命名为mymediactrl,而不是mypanel
  2. 然后,在您生成脚本后,导入(或插入代码) 您的 MediaControl 类位于 wxglade 允许(不可写)的位置 (在由 '# begin wxGlade' 和 '#end wxGlade' 标签)。
  3. 最后,手动修改脚本中的mymediactrl=wx.Panel(...)mymediactrl = MediaControl(...) 行。注意:此行必须手动维护时 你修改你的 GUI,因为 wxglade 会重写它。

正确方法:

您可以使用 wxglade 小部件集的 CustomWidget 小部件。 如果您有使用 wxglade 的经验,这是推荐的方法。

Pro 方法:

您可以将自己的自定义小部件添加到 wxglade 小部件集。 你有一些例子和how to do it here的教程

【讨论】:

  • 好的。看来我们需要向 wxglade 人提出我们想要一种添加自定义小部件的方法的请求;)但是谢谢,我很快就会研究一下 :-)
  • 我觉得不去检查真的很愚蠢。我尝试使用谷歌搜索 wxglade 自定义小部件但没有找到任何东西。但我真的应该更仔细地查看按钮...非常感谢!
  • 我想我坚持“正确的方式”。在向小部件集中添加自定义小部件时感觉不够“专业”;)
  • 对不起,我正忙于其他事情,我不得不将我的答案逐个写出来......现在想想答案已经完成了
  • 这就是我喜欢 Stack Overflow 的原因。好(通常是完整的答案)加上快速的答案!
猜你喜欢
  • 2012-03-07
  • 2020-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多