python - 如何在 WXPYTHON 中向我的面板显示图像
问题描述
我想在 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”,但我不知道该怎么做。
解决方案
使用 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()
推荐阅读
- curl - 相同的图像 URL 在 Cloudfare 服务器上返回 24 位或 32 位图像?(cURL“内容长度”检查)
- c# - BindableCollection 时 ComboBox 不更新
被改变 - sql-server - 在 SQL Server 中将纪元秒列转换为日期时间
- node.js - Sam local with NodeJS - 请求在哪里花费这么多时间
- deployment - 将应用程序部署到物理手机时部署失败/ArchitectureNotSupportedBySharedRuntime
- python - Python将int转换为偶数个字符的十六进制字符串
- c# - 如何解码我不知道它是如何编码的文本
- python - 将 pyproject.toml 添加到项目中会使 pip install 失败
- sql - PostgreSQL - 选择时间间隔
- pandas - 用熊猫导入 csv