wxpython:如何在文本控件中添加am image

时间:2015-06-10 11:01:42

标签: python wxpython

我试图在文本控件中显示图像,但它只显示二进制字符。

但他们是否可以将这个或不可能的梦想归档于wxpython

请帮忙我需要这个年纪。    谢谢你提前

以下是我目前的源代码

import wx
    class MainFrame(wx.Frame):
        def __init__(self,*args,**kwargs):
            super(MainFrame,self).__init__(*args,**kwargs)

            self.main_panel = MainPanel(self,-1)

    class MainPanel(wx.Panel):
        def __init__(self,*args,**kwargs):
            super(MainPanel,self).__init__(*args,**kwargs)

            img1 = wx.Image("coins.png", wx.BITMAP_TYPE_ANY)
            w = img1.GetWidth()
            h = img1.GetHeight()
            img1 = img1.Scale(w/2, h/2)

            sb1 = wx.StaticBitmap(self, -1, wx.BitmapFromImage(img1))

            self.txtctrl = wx.TextCtrl(self,-1,"display image here",size=(500,300),pos=(20,10))



class App(wx.App):
    def OnInit(self):
        mainframe = MainFrame(None,-1,title="Display image in txt ctrl",size=(600,400))
        mainframe.Show()
        mainframe.Center()
        return True

if __name__ == "__main__":
    app = App();
    app.MainLoop()

2 个答案:

答案 0 :(得分:1)

您无法将图像直接放在常规wx.TextCtrl窗口小部件中。目前这是不可能的,因为他们不支持这一点。但是,您可以将图像放入RichTextCtrl窗口小部件。如果您还没有下载它,请务必从项目website获取wxPython演示,因为它有一个很好的例子。以下是几个链接:

如果你只是想在你的应用程序中放置一个图像,那么wx.Image就是你的朋友(正如约翰已经提到的那样)。

答案 1 :(得分:0)

您可以使用wx.Image read this

来完成此操作

您还可以看到更复杂的示例here