欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

wxpython 學習筆記 第一天

 更新時間:2009年02月09日 14:47:28   作者:  
wxPython是Python編程語言的一個GUI工具箱。他使得Python程序員能夠輕松的創(chuàng)建具有健壯、功能強大的圖形用戶界面的程序。

它是Python語言對流行的wxWidgets跨平臺GUI工具庫的綁定。而wxWidgets是用C++語言寫成的。
  和Python語言與wxWidgets GUI工具庫一樣,wxPython是開源軟件。這意味著任何人都可以免費地使用它并且可以查看和修改它的源代碼,或者貢獻補丁,增加功能。
  wxPython是跨平臺的。這意味著同一個程序可以不經修改地在多種平臺上運行。現今支持的平臺有:32位微軟Windows操作系統(tǒng)、大多數Unix或類Unix系統(tǒng)、蘋果Mac OS X。
  由于使用Python作為編程語言,wxPython編寫簡單、易于理解。
1,導入 wxpython 庫
import wx
2,建立窗體構造類
class 名字(wx.Frame):
def __init__(self, parent, id):
wx.Frame.__init__(self, parent, id, '工具',size=(300, 200))
3,建立 面板 panel = wx.Panel(self)
設置面板背景
panel.SetBackgroundColour('White')
為狀態(tài)顯示欄,顯示在面板最下面
wx.Frame.CreateStatusBar()
#這個為工具菜單,顯示在窗體上面,工具菜單一般是有圖標的菜單
wx.Frame.CreateToolBar()
#為菜單也是顯示在窗體上面
wx.MenuBar()
#菜單欄上面的具體菜單
wx.Menu()


關于事件
wx.Frame.Bind
參數一,綁定的時間類型
參數二,觸發(fā)的函數
參數三,確定那個窗體上的id觸發(fā)

關于圖片處理
#獲取圖片對象
image = wx.Image('yuanxiao.jpg', wx.BITMAP_TYPE_JPEG)
#取得位圖流
temp = image.ConvertToBitmap()

關于具體菜單欄
Append方法添加菜單項
參數一,菜單項唯一id
參數二,菜單項名稱
參數三,選擇該菜單時的狀態(tài)欄顯示文字

AppendMenu方法為添加下一級菜單
參數一,菜單項唯一id
參數二,菜單項名稱
參數三,具體的菜單項對象



關于窗體的構造函數
wx.Frame(parent, id=-1, title="", pos=wx.DefaultPosition,
size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE,
name="frame")

我們在別的窗口部件的構造器中將會看到類似的參數。參數的說明如下:

parent:框架的父窗口。對于頂級窗口,這個值是None??蚣茈S其父窗口的銷毀而銷毀。取決于平臺,框架可被限制只出現在父窗口的頂部。在多文檔界面的情況下,子窗口被限制為只能在父窗口中移動和縮放。

id:關于新窗口的wxPython ID號。你可以明確地傳遞一個。或傳遞-1,這將導致wxPython自動生成一個新的ID。

title:窗口的標題。

pos:一個wx.Point對象,它指定這個新窗口的左上角在屏幕中的位置。在圖形用戶界面程序中,通常(0,0)是顯示器的左上角。這個默認的(-1,-1)將讓系統(tǒng)決定窗口的位置。

size:一個wx.Size對象,它指定這個窗口的初始尺寸。這個默認的(-1,-1)將讓系統(tǒng)決定窗口的初始尺寸。

style:指定窗口的類型的常量。你可以使用或運算來組合它們。

name:框架的內在的名字。以后你可以使用它來尋找這個窗口。

記住,這些參數將被傳遞給父類的構造器方法: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))


關于框架的一些屬性
frame.Show(False) # 使框架不可見.
frame.Show(True) # True是默認值,使框架可見.
frame.Hide() # 等同于frame.Show(False)

關閉窗體
wx.Exit()

實例程序

#設置python使用的編碼
#coding=utf-8
#加載wx庫
import wx
#框架類
class ToolbarFrame(wx.Frame):
def __init__(self, parent, id):#構造函數
#構造框架
wx.Frame.__init__(self, parent, id, '工具',size=(300, 200))
#填充面板
panel = wx.Panel(self)
#設置面板背景顏色
panel.SetBackgroundColour('White')

#建立狀態(tài)欄
statusBar = self.CreateStatusBar()
#建立工具欄
toolbar = self.CreateToolBar()
#取得工具欄圖標對象
image = wx.Image('yuanxiao.jpg', wx.BITMAP_TYPE_JPEG)
#取得圖標位圖流
temp = image.ConvertToBitmap()
#建立工具欄
toolbar.AddSimpleTool(wx.NewId(),temp, "New", "Long help for 'New'")
#設置工具欄位置
toolbar.Realize()
#建立菜單欄
menuBar = wx.MenuBar()
#建立菜單項
menu1 = wx.Menu()
#添加下級菜單項
menu1.Append(wx.NewId(), "C&ut", "Copy in status bar")
#設置菜單項里的分割線
menu1.AppendSeparator()

sm = wx.Menu()
sm.Append(-1,'測試1');
sm.Append(-1,'測試2');
#把二級菜單項添加到一級菜單
menu1.AppendMenu(-1,'下級',sm);
#把菜單項添加單菜單欄里
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")
#設置菜單欄展示
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()

開源項目介紹
http://onlypython.group.javaeye.com/group/blog/309552
講解開發(fā)
http://rainytooo.javaeye.com/blog/150228
wxPython in Action 中文文檔
http://www.pythontik.com/blog/article.asp?id=184
作者 叁石 sanshi0815

相關文章

  • 詳解python中的變量與注釋

    詳解python中的變量與注釋

    在 Python 中,變量是用于存儲數據的名稱,它可以保存不同類型的數據,在Python中,有兩種類型的注釋:單行注釋和多行注釋,本文就給大家詳細的介紹一下python中的變量與注釋,需要的朋友可以參考下
    2023-08-08
  • Python面向對象編程之封裝的藝術你了解嗎

    Python面向對象編程之封裝的藝術你了解嗎

    這篇文章主要為大家詳細介紹了Python面向對象編程之封裝的藝術,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • Python減少循環(huán)層次和縮進的技巧分析

    Python減少循環(huán)層次和縮進的技巧分析

    這篇文章主要介紹了Python減少循環(huán)層次和縮進的技巧,結合實例形式較為詳細的分析了Python優(yōu)化代碼跳出循環(huán)以減少循環(huán)層次的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-03-03
  • 淺談pymysql查詢語句中帶有in時傳遞參數的問題

    淺談pymysql查詢語句中帶有in時傳遞參數的問題

    這篇文章主要介紹了淺談pymysql查詢語句中帶有in時傳遞參數的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Pytorch實現張量的創(chuàng)建與使用方法

    Pytorch實現張量的創(chuàng)建與使用方法

    本文主要介紹了Pytorch實現張量創(chuàng)建使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-08-08
  • python實現復制文件到指定目錄

    python實現復制文件到指定目錄

    這篇文章主要為大家詳細介紹了python實現復制文件到指定的目錄下,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • 老生常談python函數參數的區(qū)別(必看篇)

    老生常談python函數參數的區(qū)別(必看篇)

    下面小編就為大家?guī)硪黄仙U刾ython函數參數的區(qū)別(必看篇)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • 揭秘Python高效編程十招必備技巧

    揭秘Python高效編程十招必備技巧

    這篇文章主要為大家介紹了Python高效編程十招必備技巧實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • Python 如何實現訪問者模式

    Python 如何實現訪問者模式

    這篇文章主要介紹了Python 如何實現訪問者模式,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • Python實現排序方法常見的四種

    Python實現排序方法常見的四種

    本文給大家分享python四種常見排序方法,每種方法通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2021-07-07

最新評論