weixin_53911587 2023-03-06 11:30 采纳率: 100%
浏览 6
已结题

wxpython 类中读取多张图像失败

wxpython 类中想读取10张图像到列表,可是列表中图像命名格式不对,导致读取图像失败,请求各位指教,谢谢!

import wx
class MyFrame(wx.Frame):
    eve = 0
    i=1

    def __init__(self):
        super().__init__(parent=None,title="vbox",size=(500,400),pos=(100,100))   #继承wx.Frame类
        self.Center()
        self.panel = wx.Panel(parent=self)   #面板
        vbox = wx.BoxSizer(wx.VERTICAL)

        self.bmps=[wx.Bitmap(str(i)+'.png',wx.BITMAP_TYPE_PNG)] #这行代码出错了
        
        self.image=wx.StaticBitmap(self.panel,-1,self.bmps[0])

        b1=wx.Button(self.panel,id=1,label='变换图片')
        self.Bind(wx.EVT_BUTTON,self.on_click,b1)

        vbox.Add(b1,1,wx.CENTER)
        vbox.Add(self.image,5,wx.CENTER)

        self.panel.SetSizer(vbox)
      
class App(wx.App):
    def OnInit(self):    #进入
        frame = MyFrame()
        frame.Show()
        return True
    def OnExit(self):   #退出
        print("tuichu")
        return 0

if __name__ == '__main__':
    app=App()
    app.MainLoop()

  • 写回答

2条回答 默认 最新

  • CodeBytes 2023-03-06 11:43
    关注

    该回答引用ChatGPT

    在这个代码中,你尝试读取文件名为1.png, 2.png, ...10.png的图像文件,并将它们存储到self.bmps列表中。但是,您在这里遇到了一个问题,即图像的命名格式不正确。

    如果您的图像文件命名为“01.png”,“02.png”,直到“10.png”,您可以使用以下代码将所有图像文件读入self.bmps列表中:

    self.bmps = [wx.Bitmap(f"{i:02d}.png", wx.BITMAP_TYPE_PNG) for i in range(1, 11)]
    
    

    如果您的图像文件命名为“image1.png”,“image2.png”,直到“image10.png”,您可以使用以下代码将所有图像文件读入self.bmps列表中:

    self.bmps = [wx.Bitmap(f"image{i}.png", wx.BITMAP_TYPE_PNG) for i in range(1, 11)]
    
    

    在这两个示例中,您可以使用字符串格式设置来正确地格式化文件名。我希望这可以帮助您解决您的问题。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    1人已打赏
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月14日
  • 已采纳回答 3月6日
  • 创建了问题 3月6日

悬赏问题

  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?