使用 wxPython 設計GUI應用程式可用幾行程式碼來產生一個基本視窗

1
2
3
4
5
import wx
app = wx.PySimpleApp()
frame = wx.Frame(None,-1,"Set Icon",size=(300,100))
frame.Show()
app.MainLoop()

執行後會出現下列圖示的視窗

wxPython GUI App no Icon

可是左上角的圖示預設是沒有處理很不美觀,可以增加處理Icon的程式修改。
首先找一個Icon圖檔名稱設為 app.ico 然後放在程式同一個目錄下,然後修改程式如下:

1
2
3
4
5
6
7
8
import wx
app = wx.PySimpleApp()
frame = wx.Frame(None,-1,"Set Icon",size=(300,100))
icon = wx.EmptyIcon()
icon.CopyFromBitmap(wx.Bitmap('app.ico', wx.BITMAP_TYPE_ANY))
frame.SetIcon(icon)
frame.Show()
app.MainLoop()

執行後就如下圖中的左上角就會出現圖示,是不是美觀多了。

wxPython GUI App SetIcon

載入圖示還有其他方式

方法二

1
2
3
4
5
6
import wx
app = wx.PySimpleApp()
frame = wx.Frame(None,-1,"Set Icon",size=(300,100))
frame.SetIcon(wx.Icon('app.ico', wx.BITMAP_TYPE_ICO))
frame.Show()
app.MainLoop()

方法三

1
2
3
4
5
6
7
8
import wx
app = wx.PySimpleApp()
frame = wx.Frame(None,-1,"Set Icon",size=(300,100))
ib = wx.IconBundle()
ib.AddIconFromFile("app.ico",wx.BITMAP_TYPE_ANY)
frame.SetIcons(ib)
frame.Show()
app.MainLoop()

以上是因為 wxPython 改版所增加的多種處理方式。

上列程式碼在 XP, Python 2.5.1, wxPython 2.8.7.1 環境下執行測試無誤。