前提・実現したいこと
wxpythonで表を作っているのですが、その表の中にネット上の画像を表示させたいです。
ネット上の画像とは例えば、「http://www.cor-art.com/best/tenkei/down/SA001.JPG」のような直リン画像です。
下記のソースコードでPCの中に入っている画像の表示は出来ました。
よろしくお願い致します。
該当のソースコード
Python
1# -*- coding: UTF-8 -*- 2 3import wx 4 5class App(wx.Frame): 6 def __init__(self, parent, id, title): 7 wx.Frame.__init__(self, parent, id, title, size=(1000, 1000), style=wx.DEFAULT_FRAME_STYLE) 8 9 # ステータスバー 10 self.CreateStatusBar() 11 12 # パネル 13 self.p = wx.Panel(self, -1, pos=(100, 100), size=(800, 800)) 14 p2 = wx.Panel(self, -1, pos=(100, 0),size=(800, 100)) 15 16 self.listctrl2 = wx.ListCtrl(self.p, wx.ID_ANY, style=wx.LC_REPORT, size=(800, 800)) 17 self.listctrl2.InsertColumn(0, heading="画像") 18 self.listctrl2.InsertColumn(1, heading="タイトル", width=400) 19 self.listctrl2.InsertColumn(2, heading="URL", width=200) 20 21 self.kensaku() 22 23 def kensaku(self): 24 25 # イメージリスト 26 imagelist = wx.ImageList(64, 64) 27 imagelist.Add(wx.Icon("a.png", wx.BITMAP_TYPE_PNG)) 28 imagelist.Add(wx.Icon("b.png", wx.BITMAP_TYPE_PNG)) 29 imagelist.Add(wx.Icon("c.png", wx.BITMAP_TYPE_PNG)) 30 imagelist.Add(wx.Icon("d.png", wx.BITMAP_TYPE_PNG)) 31 32 # ListCtrlにイメージリストを割り当て 33 self.listctrl2.AssignImageList(imagelist, wx.IMAGE_LIST_SMALL) 34 35 for i in range(4): 36 self.listctrl2.InsertStringItem(i,"",i) 37 self.Show() 38 39app = wx.App() 40App(None, wx.ID_ANY, 'テスト') 41app.MainLoop()
試したこと
RequestsやPIL、BytesIOを使えば出来そうだったので使ってみたのですが、PILで画像のURLから直接既定の画像閲覧ソフトで表示させたり、画像のバイナリデータを取得することは出来たのですが、表の中に表示させる方法は分からなかったです。
補足情報(FW/ツールのバージョンなど)
Python 3.6.2
回答1件
あなたの回答
tips
プレビュー