Widgets avanzate
In questo capitolo andiamo ad introdurre alcune widgets molto potenti per realizzare programmi specializzati in determinati ambiti!
Iniziamo a gustare la potenza della OOP e delle librerie integrate!!!
Griglia per foglio di calcolo
Modulo wx.grid
Esercizio: Foglio Elettronico
blah blah
Esercizio: Battleship
blah blah
Editor di documenti stiloso
Modulo wx.stc
Esercizio: Blocco Note con wx.stc
blah blah
Browser per la navigazione internet
Modulo wx.html2
MiniBrowser
import wx
import wx.html2
APP_NAME = "Mini Browser"
class Finestra(wx.Frame):
def __init__(self):
super().__init__(None, title=APP_NAME)
panel = wx.Panel(self)
mainLayout = wx.BoxSizer(wx.VERTICAL)
# La WEBVIEW
self.browser = wx.html2.WebView.New(panel)
self.browser.Bind(wx.html2.EVT_WEBVIEW_LOADED, self.hoCaricato)
mainLayout.Add(self.browser, proportion=1, flag=wx.ALL|wx.EXPAND, border=5)
# la pagina iniziale
self.browser.LoadURL("https://www.adjam.org/")
panel.SetSizer(mainLayout)
self.SetSize(1200,800)
self.Centre()
def hoCaricato(self, evt):
self.SetTitle(APP_NAME + " - " + self.browser.GetCurrentTitle())
return
# ----------------------------------------
if __name__ == "__main__":
app = wx.App()
app.SetAppName(APP_NAME)
window = Finestra()
window.Show()
app.MainLoop()
Esercizio: Browser completo, con cronologia e bookmarks
blah blah
Esercizio: PDFViewer
blah blah
Media Player
Modulo wx.media
Esercizio: Video Player
blah blah
Esercizio: Audio Player
blah blah
Rich Text Ctrl
Modulo wx.richtext
Esercizio: Word :)
blah blah
DA SISTEMARE
-
wx.ListCtrl
- File manager ??
-
DateTime Widgets
- calendario
- orologio
- agenda
-
Visualizzatore Immagini
- GIF Viewer (con play/pause/stop)
- SlideShow (temporizzato)
- SlideShow (con pulsanti AVANTI/INDIETRO)