北北的巷栀酒 2021-08-03 16:13 采纳率: 100%
浏览 20
已结题

在用python做简单的画板,请问为什么无法访问图片

img


import wx

class MyFrame(wx.Frame):
    def __init__(self):
        super().__init__(None,title="My Frame",size=(800,600),pos=(100,100))
        #Panels
        top_Panel=wx.Panel(self,size=(750,400))
        bottom_Panel=wx.Panel(self,size=(750,50))
        color_Panel = wx.Panel(self,size=(750,50))
        #Layout
        vBox = wx.BoxSizer(wx.VERTICAL)
        vBox.Add(top_Panel,proportion=1, flag=wx.CENTER|wx.TOP,border=10)
        vBox.Add(bottom_Panel,proportion=1, flag=wx.CENTER|wx.TOP,border=10)
        vBox.Add(color_Panel,proportion=1, flag=wx.CENTER|wx.TOP,border=10)
        #top widgets and layout
        self.staticText = wx.StaticText(parent=top_Panel,label="draw a shape")
        topBox=wx.BoxSizer(wx.HORIZONTAL)
        topBox.Add(self.staticText,proportion=1, flag=wx.CENTER)
        top_Panel.SetSizer(topBox)

        #bottom widgets and layout

        imgs=['pen','eraser','plus','minus']
        bitmaps=['C:\\img\\'+imgs[i]+".png" for i in range(4)]
        bmps = [wx.Image(bitmaps[i],wx.BITMAP_TYPE_PNG).ConvertToBitmap()
         for i in range (4)]
        print(bmps)
        self.buttons=[wx.BitmapButton(bottom_Panel,i,bmps[i])
        for i in range(4)]

        # binding an event
        #self.Bind(wx.EVT_BUTTON,self.button_Click,self.buttons[0])
        #1
        #2
        bottomBox=wx.BoxSizer(wx.HORIZONTAL)
        for i in range(4):
            bottomBox.Add(self.buttons[i],proportion=1, flag=wx.CENTER)
        bottom_Panel.SetSizer(bottomBox)

        #Color Panel
        self.colors = ['#FAEBD7','#00FFFF','#7FFFD4','#F0FFFF',
        '#F5F5DC','#FFE4C4','#000000','#FFEBCD',
        '#0000FF','#8A2BE2','#A52A2A','#DEB887',
        '#5F9EA0','#7FFF00','#D2691E','#FF7F50']
        self.color_Btns=[wx.Button(parent=color_Panel,id = i+10)
        for i in range(16)]
        for i in range(16):
            self.color_Btns[i].SetBackgroundColour(self.colors[i])
            self.Bind(wx.EVT_BUTTON,self.button_Click,self.color_Btns[i])    
        color_gridSizer = wx.GridSizer(rows=2,cols=8,gap=wx.Size(5,10))
        color_gridSizer.AddMany([(self.color_Btns[i],0,wx.EXPAND) for i in range(16)])
        color_Panel.SetSizer(color_gridSizer)
        # Frame 
        self.SetSizer(vBox)

    def button_Click(self,event):
        eventid = event.GetId()
        print(eventid)
        self.staticText.SetBackgroundColour(self.colors[eventid-10])
        self.staticText.SetLabelText("Start to draw ....")
app = wx.App()

fm = MyFrame()

fm.Show()

app.MainLoop()

  • 写回答

1条回答 默认 最新

  • python收藏家 2021-08-03 17:37
    关注

    文件目录不存在? 确定拼接后的路径或目录是否存在

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。