Включение wx.lib.platebtn в файл XRC?

Знаете ли вы, как включить виджет wx.lib.platebtn.PlateButton в файл xrc?

До сих пор я нашел только способ включения виджетов, которые также являются общими для wxWidgets, но я думаю, что этот специфичен для wxpython (хотя я могу ошибаться).

Я попытался понять демо для XmlResourceHandler, но это сделано только для панелей. Я не мог найти хорошие учебники с этим конкретным случаем, пока.

Я был бы благодарен за любые советы, которые вы, ребята, можете предложить, или за ссылку на хороший учебник.

Большое спасибо.

2 ответа

Хорошо, ребята,

Я отвечу на свой вопрос ради завершения. Афаик, невозможно добавить табличку в файл XRC, но, как предложил Майк Дрисколл (спасибо, связка, мужик!), Можно вставить "неизвестную" переменную, если хотите, заполнитель, в файл 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

Я надеюсь, что это поможет некоторым из вас.

Насколько я помню, в XRC есть способ определить свои собственные виджеты, но я не могу вспомнить, где я об этом читал. Может быть, проверить ссылки в конце следующей статьи: http://www.blog.pythonlibrary.org/2010/10/28/wxpython-an-xrced-tutorial/

Я знаю, что вы можете использовать редактор XRC, который поставляется с демонстрационной версией wxPython, чтобы добавить "неизвестный" элемент управления. Вы можете сделать это таким образом. См. http://wiki.wxpython.org/UsingXmlResources или ответ Робина Данна здесь: https://groups.google.com/forum/?fromgroups

Другие вопросы по тегам