Python wxPython基本教程

HuangZhang_123發表於2017-03-10

歡迎加入學習交流QQ群:657341423


Python wxPython在資源上比較小,而且官方文件也不好找,wxPython在python 2.x和python 3.x安裝上有區別:
以下為python3.x安裝為例:
1.網上下載whl檔案安裝:路徑:https://wxpython.org/Phoenix/snapshot-builds/
檔名解釋:
wxPython_Phoenix-3.0.3.dev2812+b3485d4-cp35-cp35m-win_amd64.whl
cp35代表python版本3.5
然後用pip安裝即可完成安裝。

簡單使用:
這裡有2中方法使用,第一就是用wxFormBuilder這款開源軟體直接進行簡單編輯介面,生成程式碼可以直接複製到py檔案,直接執行即可實現GUI簡單開發。wxFormBuilder下載地址:
https://sourceforge.net/projects/wxformbuilder/
wxFormBuilder簡單使用方法可以網上自己找找。

第二種就是直接寫程式碼形式,這個比較考驗對API的熟悉掌握程度。不過大致上都是有一個固定格式的。
格式如下:

import wx
class Frame(wx.Frame):  # 定義一個 wx.Frame的子類,以便我們更容量控制框架的內容和外觀
	""" Frame class that displays an image."""
	def __init__(self, image, parent=None, id=-1,
				 pos=wx.DefaultPosition,
				 title='Hello, wxPython!'):  # 給我們的框架的構造器增加一個影象引數。這個值通過我們的應用程式
												# 類在建立一個框架的例項時提供
		"""Create a Frame instance and display image."""  # 用 wx.StaticBitmap控制元件來顯示這個影象,它要求一個點陣圖
		temp = image.ConvertToBitmap()
		size = temp.GetWidth(), temp.GetHeight()
		wx.Frame.__init__(self, parent, id, title, pos, size)
		self.bmp = wx.StaticBitmap(parent=self, bitmap=temp)
class App(wx.App):  # 定義一個帶有 OnInit()方法的 wx.App的子類
	"""Application class."""
	def OnInit(self):  # 使用與 hello.py在同一目錄下的名為 wxPython.jpg的檔案建立了一個影象物件
		image = wx.Image('wxPython.jpg', wx.BITMAP_TYPE_JPEG)
		self.frame = Frame(image)
		self.frame.Show()
		self.SetTopWindow(self.frame)
		return True
def main():  # main()函式建立一個應用程式的例項並啟動wxPython的事件迴圈
	app = App()
	app.MainLoop()
if __name__ == '__main__':
	main()

這是重寫類的方法,這比較常用的,而且用wxFormBuilder生成的程式碼也是這樣的格式。

至於各個控制元件的屬性,方法,引數的就不一一列舉,具體可以看官網文件:
https://wxpython.org/Phoenix/docs/html/main.html
http://xoomer.virgilio.it/infinity77/wxPython/widgets.html#t
個人比較推薦第二個,,感覺比較齊全


歡迎加入學習交流QQ群:657341423

相關文章