This wx.FileSystem handler can store arbitrary data in memory stream and make them accessible via an URL.
It is particularly suitable for storing bitmaps from resources or included XPM files so that they can be used with HTML or wx.html2.WebView.
Filenames are prefixed with "memory:"
, e.g. "memory:myfile.html"
.
Example:
def OnAbout(self, event):
bcur = wx.BeginBusyCursor()
wx.FileSystem.AddHandler(wx.MemoryFSHandler)
wx.MemoryFSHandler.AddFile("logo.pcx", wx.Bitmap("logo.pcx", wx.BITMAP_TYPE_PCX))
wx.MemoryFSHandler.AddFile("about.htm",
"<html><body>About: "
"<img src=\"memory:logo.pcx\"></body></html>")
dlg = wx.Dialog(self, -1, _("About"))
topsizer = wx.BoxSizer(wx.VERTICAL)
html = wx.html.HtmlWindow(dlg, size=wx.Size(380, 160), style=wx.HW_SCROLLBAR_NEVER)
html.SetBorders(0)
html.LoadPage("memory:about.htm")
html.SetSize(html.GetInternalRepresentation().GetWidth(),
html.GetInternalRepresentation().GetHeight())
topsizer.Add(html, 1, wx.ALL, 10)
topsizer.Add(wx.StaticLine(dlg, -1), 0, wx.EXPAND | wx.LEFT | wx.RIGHT, 10)
topsizer.Add(wx.Button(dlg, wx.ID_OK, "Ok"),
0, wx.ALL | wx.ALIGN_RIGHT, 15)
dlg.SetAutoLayout(True)
dlg.SetSizer(topsizer)
topsizer.Fit(dlg)
dlg.Centre()
dlg.ShowModal()
wx.MemoryFSHandler.RemoveFile("logo.pcx")
wx.MemoryFSHandler.RemoveFile("about.htm")
See also
wx.MemoryFSHandler.AddFileWithMimeType
Constructor. |
|
Adds a file to the list of the files stored in memory. |
|
Add a file from text data, which will first be converted to utf-8 encoded bytes. |
|
Removes a file from memory |
wx.
MemoryFSHandler
(FileSystemHandler)¶Possible constructors:
MemoryFSHandler() -> None
This FileSystem handler can store arbitrary data in memory stream and make them accessible via an URL.
__init__
(self)¶Constructor.
None
AddFile
(*args, **kw)¶AddFile (filename : str, image : Image, type : BitmapType)
Adds a file to the list of the files stored in memory.
Stored data (bitmap, text or raw data) will be copied into private memory stream and available under name "memory:"
+ filename.
When using the overload taking String data, if the string contains only Latin-1 characters (which includes strings created using String.From8BitData
), its data is used as is. Otherwise, the UTF-8
representation of the string is stored as the data associated with the given filename.
filename (string) –
image (wx.Image) –
type (BitmapType) –
None
Note
you must use a type value (aka image format) that wxWidgets can save (e.g. JPG
, PNG
, see wx.Image documentation)!
See also
AddFile (filename : str, bitmap : Bitmap, type : BitmapType)
Adds a file to the list of the files stored in memory.
Stored data (bitmap, text or raw data) will be copied into private memory stream and available under name "memory:"
+ filename.
When using the overload taking String data, if the string contains only Latin-1 characters (which includes strings created using String.From8BitData
), its data is used as is. Otherwise, the UTF-8
representation of the string is stored as the data associated with the given filename.
filename (string) –
bitmap (wx.Bitmap) –
type (BitmapType) –
None
Note
you must use a type value (aka image format) that wxWidgets can save (e.g. JPG
, PNG
, see wx.Image documentation)!
See also
AddFile (filename: str, textdata: str)
Add a file from text data, which will first be converted to utf-8 encoded bytes.
None
AddFile (filename: str, binarydata: PyBuffer)
Add a file from raw data in a python buffer compatible object.
None
AddFileWithMimeType
(*args, **kw)¶AddFileWithMimeType (filename: str, textdata: str, mimetype: str)
Add a file from text data, which will first be converted to utf-8 encoded bytes.
None
AddFileWithMimeType (filename: str, binarydata: PyBuffer, mimetype: str)
Add a file from raw data in a python buffer compatible object.
None
RemoveFile
(filename : str)¶Removes a file from memory FS
and frees the occupied memory.
filename (string) –
None