【问题标题】:How to display an image to my panel in WXPYTHON如何在 WXPYTHON 中向我的面板显示图像
【发布时间】:2019-12-19 00:57:56
【问题描述】:

我想在 wxPython 的面板中显示图像,但我不知道该怎么做。这是我的代码:

def onClick(self,Event):
        wildcard='PNG files (*.png)|*.png|BMP files (*.bmp)|*.bmp|JPEG files (*.jpg)|*.jpg'
        openFileDialog = wx.FileDialog(self, "Open", "", "", wildcard,wx.FD_OPEN | wx.FD_FILE_MUST_EXIST)
        openFileDialog.ShowModal()
        url=openFileDialog.GetPath()
        img=mpimg.imread(url)

基本上它工作得很好。我浏览我的图像,我将它的 url 放入一个变量(url),然后在另一个变量(img)中,我从我的电脑中保存我的图像。我的问题如下:我想在“浏览”按钮上方添加“img”,但我不知道该怎么做。

【问题讨论】:

    标签: python wxpython wildcard


    【解决方案1】:

    使用 wx.StaticBitmap。

    import wx
    
    class Frame(wx.Frame):
    
        def __init__(self, parent):
            super().__init__(parent)
    
            fgs = wx.FlexGridSizer(2, 1, 10, 10)
            fgs.AddGrowableRow(0)
    
            self.staticbitmap = wx.StaticBitmap(self)
            fgs.Add(self.staticbitmap, 1, wx.EXPAND)
    
            browse = wx.Button(self, label='Browse')
            browse.Bind(wx.EVT_BUTTON, self.OnBrowse)
            fgs.Add(browse, flag=wx.LEFT)
    
            self.SetSizer(fgs)
    
        def OnBrowse(self, event):
            wildcard = 'PNG files (*.png)|*.png|BMP files (*.bmp)|*.bmp|JPEG files (*.jpg)|*.jpg'
            openFileDialog = wx.FileDialog(self, "Open", "", "", wildcard,
                                           wx.FD_OPEN | wx.FD_FILE_MUST_EXIST)
            openFileDialog.ShowModal()
            url = openFileDialog.GetPath()
            self.staticbitmap.SetBitmap(wx.Bitmap(url))
            event.Skip()
    
    app = wx.App()
    frame = Frame(None)
    frame.Show()
    app.MainLoop()
    

    【讨论】:

    • 这个变量到底包含什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-09
    • 1970-01-01
    • 2013-02-12
    • 2018-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多