這篇文章是對wxPython官網第二個"Hello World"的demo代碼的逐行解釋,不過為方便初學者做了小部分改動,勉強算對wxPython的入門了解。
一、環境與工具本機:Windows10 64位
Python 3.5.2
wxPython 4.0.0b2
IDE:Pycharm Professional 2017.2.3
二、代碼解釋# !/usr/bin/env python # _*_ coding:utf-8 _*_ import wx """ frame(窗口):帶標題和邊框的最頂層窗體 panel(面板):容器類,提供空間放其他組件,包括其他panel """ class HelloFrame(wx.Frame): def __init__(self, *args, **kw): super(HelloFrame, self).__init__(*args, **kw) # 創建一個Panel實例 pn1 = wx.Panel(self) # 在pn1上創建一個靜態文本組件(StaticText) # +label表示要顯示的文本內容 # +pos表示文本顯示位置 st = wx.StaticText(pn1, label="A simple wxPython demo!", pos=(25, 25)) # 設置文本內容字號并粗體顯示 font = st.GetFont() font.PointSize += 10 font = font.Bold() st.SetFont(font) # 創建菜單欄 self.makeMenuBar() # 創建狀態欄 self.CreateStatusBar() # 設置狀態欄要顯示的文本內容 self.SetStatusText("Ready to update to Hello World v3.0!") def makeMenuBar(self): # 創建菜單對象fileMenu(菜單欄主選項1) fileMenu = wx.Menu() # 在fileMenu中添加子項createItem # +item表示子項 # +helpString表示對子項的說明,當鼠標移動到子項上時,會在狀態欄顯示 # ...語法允許用戶鍵盤操作觸發子項 createItem = fileMenu.Append(wx.ID_ANY, item=u"新建文件(N)... Ctrl-H", helpString="創建一個新的文件") # 在各子項中添加起分隔作用的橫線 fileMenu.AppendSeparator() # 在fileMenu中添加子項exitItem exitItem = fileMenu.Append(wx.ID_EXIT, item=u"退出") # 創建菜單對象helpMenu(菜單欄主選項2) helpMenu = wx.Menu() # 在fileMenu中添加子項aboutItem aboutItem = helpMenu.Append(wx.ID_ABOUT, item=u"關于") # 創建菜單欄 menuBar = wx.MenuBar() # 添加各個菜單欄主選項到菜單欄中 # "&"后的首字母+"alt"鍵觸發菜單選項。該首字母會以下劃線著重顯示,按住alt鍵即能看見。 menuBar.Append(fileMenu, u"文件(&F)") menuBar.Append(helpMenu, u"幫助(&H)") # 添加菜單欄到窗口 self.SetMenuBar(menuBar) # 將主菜單的所有子項綁定動作 self.Bind(wx.EVT_MENU, self.OnCreate, source=createItem) self.Bind(wx.EVT_MENU, self.OnAbout, source=aboutItem) self.Bind(wx.EVT_MENU, self.OnExit, source=exitItem) def OnExit(self, event): # 關閉窗口 self.Close(True) def OnCreate(self, event): wx.MessageBox(u"創建文件成功") def OnAbout(self, event): # MessageBox(message, caption=MessageBoxCaptionStr, style=OK|CENTRE, parent=None, x=DefaultCoord, y=DefaultCoord) # +調用message()方法將會彈出一個對話窗口 # +message表示對話窗口顯示的正文信息 # +caption表示對話窗口的標題 # +style表示對話窗口的按鈕和圖標樣式 wx.MessageBox("Hello World v2.0 producted by wxPython.", "About", wx.OK | wx.ICON_INFORMATION) if __name__ == "__main__": app = wx.App() frame = HelloFrame(None, title="Hello World v2.0") frame.Show() app.MainLoop()
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/41219.html
摘要:可以脫離語言環境獨立運行就像一本英文書,我找一個翻譯,給他點時間,把英文書翻譯成中文的,這就是編譯型語言解釋型語言有良好的平臺兼容性,在任何環境中都可以運行,前提是安裝了解釋器虛擬機。就像還是一本英文書,我看一句讓他給我解釋一句。 寫在前面 隨著大數據、人工智能這類詞匯撲向我們,python這個早在1989就已經出現的語言終于高調回歸,為了更好的學習python 我們先來了解下它的前世...
摘要:最近開始用編輯器來編寫代碼了,安裝了庫之后,發現沒有代碼提示,寫起來很是不爽。。。幾經周折之后發現還是得配置一下,因為自己也找了蠻久,所以記錄一下,希望可以幫到打擊其他第三方庫的配置也是類似。 最近開始用 PyCharm 編輯器來編寫 python 代碼了,安裝了 GUI 庫 wxPython 之后,發現沒有代碼提示,寫起來很是不爽。。。幾經周折之后發現還是得配置一下,因為自己也找了蠻...
摘要:代碼如散文作為一門計算機語言來說,會有下面的特點。而則通過這些擴展庫將眾多的開源函數庫連接在一起,是名符其實的膠水語言。下面是我們將會在后面用到的代碼在線查看一步步搭建物聯網系統圖靈電子書版一步步搭建物聯網系統 Python 代碼如散文 showImg(http://designiot.phodal.com/images/python.png); 作為一門計算機語言來說,Pytho...
摘要:在這個窗口之上,可以添加各種輸入框按鈕文本等,可以增加對各種動作的處理。事件要與特定的控件相綁定,比如按鈕有點擊事件,輸入框有按鍵事件,窗體有關閉事件等。 在大多數時候,我們都在黑黢黢的控制臺里執行 Python 腳本。這看起來很酷很 GEEK。但對于部分場景下的用戶來說,這樣就不大美觀和人性化了:我們需要交互更方便的圖形化產品,也就是 GUI (圖形用戶界面,Graphical Us...
閱讀 1967·2021-11-22 15:33
閱讀 3005·2021-11-18 10:02
閱讀 2612·2021-11-08 13:16
閱讀 1623·2021-10-09 09:57
閱讀 1372·2021-09-30 09:47
閱讀 2008·2019-08-29 13:05
閱讀 3071·2019-08-29 12:46
閱讀 1010·2019-08-29 12:19