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日

悬赏问题

  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?