wxpython 學(xué)習(xí)筆記 第一天
更新時(shí)間:2009年03月16日 22:46:06 作者:
學(xué)習(xí)wxpython的朋友,可以看下,了解下wxpython
1,導(dǎo)入 wxpython 庫(kù)
import wx
2,建立窗體構(gòu)造類
class 名字(wx.Frame):
def __init__(self, parent, id):
wx.Frame.__init__(self, parent, id, '工具',size=(300, 200))
3,建立 面板 panel = wx.Panel(self)
設(shè)置面板背景
panel.SetBackgroundColour('White')
為狀態(tài)顯示欄,顯示在面板最下面
wx.Frame.CreateStatusBar()
#這個(gè)為工具菜單,顯示在窗體上面,工具菜單一般是有圖標(biāo)的菜單
wx.Frame.CreateToolBar()
#為菜單也是顯示在窗體上面
wx.MenuBar()
#菜單欄上面的具體菜單
wx.Menu()
關(guān)于事件
wx.Frame.Bind
參數(shù)一,綁定的時(shí)間類型
參數(shù)二,觸發(fā)的函數(shù)
參數(shù)三,確定那個(gè)窗體上的id觸發(fā)
關(guān)于圖片處理
#獲取圖片對(duì)象
image = wx.Image('yuanxiao.jpg', wx.BITMAP_TYPE_JPEG)
#取得位圖流
temp = image.ConvertToBitmap()
關(guān)于具體菜單欄
Append方法添加菜單項(xiàng)
參數(shù)一,菜單項(xiàng)唯一id
參數(shù)二,菜單項(xiàng)名稱
參數(shù)三,選擇該菜單時(shí)的狀態(tài)欄顯示文字
AppendMenu方法為添加下一級(jí)菜單
參數(shù)一,菜單項(xiàng)唯一id
參數(shù)二,菜單項(xiàng)名稱
參數(shù)三,具體的菜單項(xiàng)對(duì)象
關(guān)于窗體的構(gòu)造函數(shù)
wx.Frame(parent, id=-1, title="", pos=wx.DefaultPosition,
size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE,
name="frame")
我們?cè)趧e的窗口部件的構(gòu)造器中將會(huì)看到類似的參數(shù)。參數(shù)的說(shuō)明如下:
parent:框架的父窗口。對(duì)于頂級(jí)窗口,這個(gè)值是None??蚣茈S其父窗口的銷毀而銷毀。取決于平臺(tái),框架可被限制只出現(xiàn)在父窗口的頂部。在多文檔界面的情況下,子窗口被限制為只能在父窗口中移動(dòng)和縮放。
id:關(guān)于新窗口的wxPython ID號(hào)。你可以明確地傳遞一個(gè)?;騻鬟f-1,這將導(dǎo)致wxPython自動(dòng)生成一個(gè)新的ID。
title:窗口的標(biāo)題。
pos:一個(gè)wx.Point對(duì)象,它指定這個(gè)新窗口的左上角在屏幕中的位置。在圖形用戶界面程序中,通常(0,0)是顯示器的左上角。這個(gè)默認(rèn)的(-1,-1)將讓系統(tǒng)決定窗口的位置。
size:一個(gè)wx.Size對(duì)象,它指定這個(gè)窗口的初始尺寸。這個(gè)默認(rèn)的(-1,-1)將讓系統(tǒng)決定窗口的初始尺寸。
style:指定窗口的類型的常量。你可以使用或運(yùn)算來(lái)組合它們。
name:框架的內(nèi)在的名字。以后你可以使用它來(lái)尋找這個(gè)窗口。
記住,這些參數(shù)將被傳遞給父類的構(gòu)造器方法:wx.Frame.__init__()。
創(chuàng)建wx.Frame子類的方法如下所示:
class MyFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, "My Friendly Window",
(100, 100), (100, 100))
關(guān)于框架的一些屬性
frame.Show(False) # 使框架不可見(jiàn).
frame.Show(True) # True是默認(rèn)值,使框架可見(jiàn).
frame.Hide() # 等同于frame.Show(False)
關(guān)閉窗體
wx.Exit()
實(shí)例程序
#設(shè)置python使用的編碼
#coding=utf-8
#加載wx庫(kù)
import wx
#框架類
class ToolbarFrame(wx.Frame):
def __init__(self, parent, id):#構(gòu)造函數(shù)
#構(gòu)造框架
wx.Frame.__init__(self, parent, id, '工具',size=(300, 200))
#填充面板
panel = wx.Panel(self)
#設(shè)置面板背景顏色
panel.SetBackgroundColour('White')
#建立狀態(tài)欄
statusBar = self.CreateStatusBar()
#建立工具欄
toolbar = self.CreateToolBar()
#取得工具欄圖標(biāo)對(duì)象
image = wx.Image('yuanxiao.jpg', wx.BITMAP_TYPE_JPEG)
#取得圖標(biāo)位圖流
temp = image.ConvertToBitmap()
#建立工具欄
toolbar.AddSimpleTool(wx.NewId(),temp, "New", "Long help for 'New'")
#設(shè)置工具欄位置
toolbar.Realize()
#建立菜單欄
menuBar = wx.MenuBar()
#建立菜單項(xiàng)
menu1 = wx.Menu()
#添加下級(jí)菜單項(xiàng)
menu1.Append(wx.NewId(), "C&ut", "Copy in status bar")
#設(shè)置菜單項(xiàng)里的分割線
menu1.AppendSeparator()
sm = wx.Menu()
sm.Append(-1,'測(cè)試1');
sm.Append(-1,'測(cè)試2');
#把二級(jí)菜單項(xiàng)添加到一級(jí)菜單
menu1.AppendMenu(-1,'下級(jí)',sm);
#把菜單項(xiàng)添加單菜單欄里
menuBar.Append(menu1, "文件(&F)")
menu2 = wx.Menu()
nid = wx.NewId()
menu2.Append(nid, "&Copy", "Copy in status bar")
#事件綁定
self.Bind(wx.EVT_MENU, self.onQuit, id=nid)
menu2.Append(wx.NewId(), "C&ut", "")
menu2.Append(wx.NewId(), "&Paste", "")
menu2.AppendSeparator()
menu2.Append(wx.NewId(), "&Options...", "Display Options")
menuBar.Append(menu2, "&Edit")
#設(shè)置菜單欄展示
self.SetMenuBar(menuBar)
#觸發(fā)的事件
def onQuit(self, event):
#彈出框
dlg = wx.MessageDialog(None, 'Is this the coolest thing ever!','MessageDialog', wx.YES_NO | wx.ICON_QUESTION)
result = dlg.ShowModal()
dlg.Destroy()
#執(zhí)行
if __name__ == '__main__':
app = wx.PySimpleApp()
frame = ToolbarFrame(parent=None, id=-1)
frame.Show()
app.MainLoop()
開(kāi)源項(xiàng)目介紹
http://onlypython.group.javaeye.com/group/blog/309552
講解開(kāi)發(fā)
http://rainytooo.javaeye.com/blog/150228
wxPython in Action 中文文檔
http://www.pythontik.com/blog/article.asp?id=184
作者 叁石 sanshi0815
import wx
2,建立窗體構(gòu)造類
class 名字(wx.Frame):
def __init__(self, parent, id):
wx.Frame.__init__(self, parent, id, '工具',size=(300, 200))
3,建立 面板 panel = wx.Panel(self)
設(shè)置面板背景
panel.SetBackgroundColour('White')
為狀態(tài)顯示欄,顯示在面板最下面
wx.Frame.CreateStatusBar()
#這個(gè)為工具菜單,顯示在窗體上面,工具菜單一般是有圖標(biāo)的菜單
wx.Frame.CreateToolBar()
#為菜單也是顯示在窗體上面
wx.MenuBar()
#菜單欄上面的具體菜單
wx.Menu()
關(guān)于事件
wx.Frame.Bind
參數(shù)一,綁定的時(shí)間類型
參數(shù)二,觸發(fā)的函數(shù)
參數(shù)三,確定那個(gè)窗體上的id觸發(fā)
關(guān)于圖片處理
#獲取圖片對(duì)象
image = wx.Image('yuanxiao.jpg', wx.BITMAP_TYPE_JPEG)
#取得位圖流
temp = image.ConvertToBitmap()
關(guān)于具體菜單欄
Append方法添加菜單項(xiàng)
參數(shù)一,菜單項(xiàng)唯一id
參數(shù)二,菜單項(xiàng)名稱
參數(shù)三,選擇該菜單時(shí)的狀態(tài)欄顯示文字
AppendMenu方法為添加下一級(jí)菜單
參數(shù)一,菜單項(xiàng)唯一id
參數(shù)二,菜單項(xiàng)名稱
參數(shù)三,具體的菜單項(xiàng)對(duì)象
關(guān)于窗體的構(gòu)造函數(shù)
wx.Frame(parent, id=-1, title="", pos=wx.DefaultPosition,
size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE,
name="frame")
我們?cè)趧e的窗口部件的構(gòu)造器中將會(huì)看到類似的參數(shù)。參數(shù)的說(shuō)明如下:
parent:框架的父窗口。對(duì)于頂級(jí)窗口,這個(gè)值是None??蚣茈S其父窗口的銷毀而銷毀。取決于平臺(tái),框架可被限制只出現(xiàn)在父窗口的頂部。在多文檔界面的情況下,子窗口被限制為只能在父窗口中移動(dòng)和縮放。
id:關(guān)于新窗口的wxPython ID號(hào)。你可以明確地傳遞一個(gè)?;騻鬟f-1,這將導(dǎo)致wxPython自動(dòng)生成一個(gè)新的ID。
title:窗口的標(biāo)題。
pos:一個(gè)wx.Point對(duì)象,它指定這個(gè)新窗口的左上角在屏幕中的位置。在圖形用戶界面程序中,通常(0,0)是顯示器的左上角。這個(gè)默認(rèn)的(-1,-1)將讓系統(tǒng)決定窗口的位置。
size:一個(gè)wx.Size對(duì)象,它指定這個(gè)窗口的初始尺寸。這個(gè)默認(rèn)的(-1,-1)將讓系統(tǒng)決定窗口的初始尺寸。
style:指定窗口的類型的常量。你可以使用或運(yùn)算來(lái)組合它們。
name:框架的內(nèi)在的名字。以后你可以使用它來(lái)尋找這個(gè)窗口。
記住,這些參數(shù)將被傳遞給父類的構(gòu)造器方法:wx.Frame.__init__()。
創(chuàng)建wx.Frame子類的方法如下所示:
class MyFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, "My Friendly Window",
(100, 100), (100, 100))
關(guān)于框架的一些屬性
frame.Show(False) # 使框架不可見(jiàn).
frame.Show(True) # True是默認(rèn)值,使框架可見(jiàn).
frame.Hide() # 等同于frame.Show(False)
關(guān)閉窗體
wx.Exit()
實(shí)例程序
#設(shè)置python使用的編碼
#coding=utf-8
#加載wx庫(kù)
import wx
#框架類
class ToolbarFrame(wx.Frame):
def __init__(self, parent, id):#構(gòu)造函數(shù)
#構(gòu)造框架
wx.Frame.__init__(self, parent, id, '工具',size=(300, 200))
#填充面板
panel = wx.Panel(self)
#設(shè)置面板背景顏色
panel.SetBackgroundColour('White')
#建立狀態(tài)欄
statusBar = self.CreateStatusBar()
#建立工具欄
toolbar = self.CreateToolBar()
#取得工具欄圖標(biāo)對(duì)象
image = wx.Image('yuanxiao.jpg', wx.BITMAP_TYPE_JPEG)
#取得圖標(biāo)位圖流
temp = image.ConvertToBitmap()
#建立工具欄
toolbar.AddSimpleTool(wx.NewId(),temp, "New", "Long help for 'New'")
#設(shè)置工具欄位置
toolbar.Realize()
#建立菜單欄
menuBar = wx.MenuBar()
#建立菜單項(xiàng)
menu1 = wx.Menu()
#添加下級(jí)菜單項(xiàng)
menu1.Append(wx.NewId(), "C&ut", "Copy in status bar")
#設(shè)置菜單項(xiàng)里的分割線
menu1.AppendSeparator()
sm = wx.Menu()
sm.Append(-1,'測(cè)試1');
sm.Append(-1,'測(cè)試2');
#把二級(jí)菜單項(xiàng)添加到一級(jí)菜單
menu1.AppendMenu(-1,'下級(jí)',sm);
#把菜單項(xiàng)添加單菜單欄里
menuBar.Append(menu1, "文件(&F)")
menu2 = wx.Menu()
nid = wx.NewId()
menu2.Append(nid, "&Copy", "Copy in status bar")
#事件綁定
self.Bind(wx.EVT_MENU, self.onQuit, id=nid)
menu2.Append(wx.NewId(), "C&ut", "")
menu2.Append(wx.NewId(), "&Paste", "")
menu2.AppendSeparator()
menu2.Append(wx.NewId(), "&Options...", "Display Options")
menuBar.Append(menu2, "&Edit")
#設(shè)置菜單欄展示
self.SetMenuBar(menuBar)
#觸發(fā)的事件
def onQuit(self, event):
#彈出框
dlg = wx.MessageDialog(None, 'Is this the coolest thing ever!','MessageDialog', wx.YES_NO | wx.ICON_QUESTION)
result = dlg.ShowModal()
dlg.Destroy()
#執(zhí)行
if __name__ == '__main__':
app = wx.PySimpleApp()
frame = ToolbarFrame(parent=None, id=-1)
frame.Show()
app.MainLoop()
開(kāi)源項(xiàng)目介紹
http://onlypython.group.javaeye.com/group/blog/309552
講解開(kāi)發(fā)
http://rainytooo.javaeye.com/blog/150228
wxPython in Action 中文文檔
http://www.pythontik.com/blog/article.asp?id=184
作者 叁石 sanshi0815
您可能感興趣的文章:
- wxpython中Textctrl回車事件無(wú)效的解決方法
- wxPython事件驅(qū)動(dòng)實(shí)例詳解
- wxPython 入門(mén)教程
- wxPython中文教程入門(mén)實(shí)例
- windows下wxPython開(kāi)發(fā)環(huán)境安裝與配置方法
- wxpython 學(xué)習(xí)筆記 第一天
- Python實(shí)例之wxpython中Frame使用方法
- wxpython學(xué)習(xí)筆記(推薦查看)
- 使用wxpython實(shí)現(xiàn)的一個(gè)簡(jiǎn)單圖片瀏覽器實(shí)例
- python通過(guò)wxPython打開(kāi)一個(gè)音頻文件并播放的方法
- 在Ubuntu系統(tǒng)下安裝使用Python的GUI工具wxPython
- wxPython框架類和面板類的使用實(shí)例
- wxPython學(xué)習(xí)之主框架實(shí)例
- wxpython中自定義事件的實(shí)現(xiàn)與使用方法分析
相關(guān)文章
Python函數(shù)參數(shù)匹配模型通用規(guī)則keyword-only參數(shù)詳解
Python3對(duì)函數(shù)參數(shù)的排序規(guī)則更加通用化了,即Python3 keyword-only參數(shù),該參數(shù)即為必須只按照關(guān)鍵字傳遞而不會(huì)有一個(gè)位置參數(shù)來(lái)填充的參數(shù)。這篇文章主要介紹了Python函數(shù)參數(shù)匹配模型通用規(guī)則keyword-only參數(shù),需要的朋友可以參考下2019-06-06Python爬蟲(chóng)基礎(chǔ)講解之請(qǐng)求
今天帶大家了解一下python爬蟲(chóng)的基礎(chǔ)知識(shí),文中有非常詳細(xì)的解釋說(shuō)明,對(duì)正在學(xué)習(xí)python爬蟲(chóng)的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05詳解Python中Pytest和Unittest的區(qū)別
Pytest?和?Unittest是Python中屬于最常用的兩個(gè)測(cè)試框架。那么他們有些什么區(qū)別呢??Playwright?為什么只給了Pytest的深度支持,而不是Unittest呢?本文就來(lái)和大家詳細(xì)聊聊2023-03-03Python中最強(qiáng)大的重試庫(kù)Tenacity使用探索
這篇文章主要為大家介紹了Python中最強(qiáng)大的重試庫(kù)Tenacity使用探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12python使用paramiko實(shí)現(xiàn)ssh的功能詳解
這篇文章主要介紹了python使用paramiko實(shí)現(xiàn)ssh的功能詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03Python的數(shù)據(jù)結(jié)構(gòu)與算法的隊(duì)列詳解(3)
這篇文章主要為大家詳細(xì)介紹了Python的隊(duì)列,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-03-03Python3 使用selenium插件爬取蘇寧商家聯(lián)系電話
這篇文章主要介紹了Python3 selenium爬取蘇寧商家聯(lián)系電話,此處使用了selenium插件 使用的是火狐瀏覽器 信息存儲(chǔ)到csv表格里面,需要的朋友可以參考下2019-12-12