您知道在xrc文件中包含wx.lib.platebtn.PlateButton小部件的方法吗?
到目前为止,我还只找到了一种包含wxWidgets通用小部件的方法,但是我认为这是wxpython特有的(尽管我可能是错的)。
我试图了解XmlResourceHandler的演示,但这仅适用于面板。我也找不到关于这种特定情况的好的教程。
谢谢您能提供的任何建议,或指向好的教程的链接。
非常感谢。
最佳答案
好的,伙计们,
为求完成,我将回答我自己的问题。 Afaik,不可能在XRC文件中添加一个平板按钮,但是正如Mike Driscoll所建议的(感谢捆绑,伙计!),可以在XRC文件中插入一个“未知”变量,如果需要,可以使用占位符。在您想要的地方。如下图所示:
<object class="unknown" name="A_Name">
<variables></variables>
</object>
之后,我进入我的代码示例并输入了代码,与下面的代码没什么不同(显然是为了您的观看乐趣而通用)。到目前为止,它似乎可以正常工作,但是我无法更改对self.MyBtn所做的任何设置,并且只有标志似乎有任何作用,但这也可能是我的sizer设置所特有的。如果您不这样认为,请随时告诉我。我一直对更好,更高效或更优雅的解决方案感兴趣。
class MyFrame(wx.Frame):
def __init__(self, parent):
self.res = xrc.XmlResource("my_xrc_file.xrc")
self.frame = self.res.LoadFrame("MyFrame")
imageFile = "/a/path/to/your/file"
png = wx.Image(imageFile, wx.BITMAP_TYPE_ANY).ConvertToBitmap()
self.MyBtn = wx.lib.platebtn.PlateButton(self.frame, bmp=png,
style=platebtn.PB_STYLE_TOGGLE|platebtn.PB_STYLE_DEFAULT)
self.PlateBtn = self.res.AttachUnknownControl("MyBtn",
self.MyBtn, self.frame) # this returns a bool
希望对您有所帮助。