wxPython

Sample1梳杏,創(chuàng)建一個(gè)窗體控件:

import wx? ? //導(dǎo)入wxPython庫(kù)

class Frame(wx.Frame): // 創(chuàng)建一個(gè)窗體類(lèi)

????????????pass? //該窗體什么也不做

class App(wx.App):? // 創(chuàng)建一個(gè)App類(lèi)

????????????def OnInit(self): //初始化

????????????????????????self.frame = Frame(parent=None, title='Spare')? //初始化窗體標(biāo)題“Spare”

????????????????????????self.frame.Show() //窗體顯示

????????????????????????self.SetTopWindow(self.frame) //設(shè)置窗體屬性

????????????????????????return True //返回

if __name__ =='__main__':

????????????app = App() //實(shí)例化一個(gè)App

????????????app.MainLoop() //App無(wú)限循環(huán)

空窗體

Sample2,窗體添加一個(gè)背景圖片

import wx

class Frame(wx.Frame): //定義Frame類(lèi)

????????????def __init__(self, image,parent=None, id=-1,pos=wx.DefaultPosition, title='Hello, wxPython!'): //窗體標(biāo)題“Hello wxPyhton!”

????????????????????????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)

????????????????????????self.SetClientSize(size)

class App(wx.App): //定義App類(lèi)

????????????def OnInit(self): // 初始化App類(lèi)

????????????????????????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()函數(shù)

????????????app = App() // 實(shí)例化App()

????????????app.MainLoop() // App無(wú)限循環(huán)

if __name__ =='__main__':

????????????main()? //運(yùn)行main()函數(shù)

帶背景的窗體

Sample3淹接,菜單和狀態(tài)欄

import wx

class MyApp(wx.App): //定義MyApp()類(lèi)

????????????def OnInit(self): //初始化

????????????????????????frame = MyFrame("Hello World", (50, 60), (450, 340)) //實(shí)例化MyFrame十性,標(biāo)題“Hello World”

????????????????????????frame.Show() //窗體顯示

????????????????????????self.SetTopWindow(frame)

????????????????????????return True

class MyFrame(wx.Frame): //創(chuàng)建MyFrame類(lèi)

????????????def __init__(self, title, pos, size): //初始化

????????????????????????wx.Frame.__init__(self, None, -1, title, pos, size)

????????????????????????menuFile = wx.Menu() //實(shí)例化Menu

????????????????????????menuFile.Append(1, "&About...") //添加“About”

????????????????????????menuFile.AppendSeparator() //添加分割線

????????????????????????menuFile.Append(2, "E&xit") //添加“Eexit”

????????????????????????menuBar = wx.MenuBar()// 添加菜單欄

????????????????????????menuBar.Append(menuFile, "&File")//添加“File”

????????????????????????self.SetMenuBar(menuBar)//設(shè)置菜單欄

????????????????????????self.CreateStatusBar()//創(chuàng)建狀態(tài)欄

????????????????????????self.SetStatusText("Welcome to wxPython!")//設(shè)置狀態(tài)欄信息

????????????????????????self.Bind(wx.EVT_MENU, self.OnAbout, id=1)//事件綁定

????????????????????????self.Bind(wx.EVT_MENU, self.OnQuit, id=2)//事件綁定

? ? ? ? ? ? def OnQuit(self, event):// 菜單“Quit”觸發(fā)的事件

????????????????????????self.Close()?

????????????def OnAbout(self, event): //事件,菜單“About”觸發(fā)的事件

????????????????????????wx.MessageBox("This is a wxPython Hello world sample", "About Hello World", wx.OK | wx.ICON_INFORMATION, self)

if __name__ =='__main__':

????????????app = MyApp(False)? //實(shí)例化MyApp();

????????????app.MainLoop()

帶菜單的窗體


Sample4塑悼,按鈕

import wx

class TwoButtonEvent(wx.PyCommandEvent): //定義事件類(lèi)TwoButtonEvent

????????????def __init__(self, evtType, id)://初始化

????????????????????????wx.PyCommandEvent.__init__(self, evtType, id)

????????????????????????self.clickCount =0 // 計(jì)數(shù)為“0”

????????????def GetClickCount(self): //定義函數(shù)GetClickCount()劲适,返回計(jì)數(shù)值

????????????????????????return self.clickCount

????????????def SetClickCount(self, count): // 定義函數(shù)SetClickCount(),設(shè)定計(jì)數(shù)值

????????????????????????self.clickCount = count

myEVT_TWO_BUTTON = wx.NewEventType() //事件

EVT_TWO_BUTTON = wx.PyEventBinder(myEVT_TWO_BUTTON, 1) //事件綁定

class TwoButtonPanel(wx.Panel): //定義按鈕界面

????????????def __init__(self, parent, id=-1, leftText="Left", rightText="Right"): //初始化按鈕名

????????????????????????wx.Panel.__init__(self, parent, id)

????????????????????????self.leftButton = wx.Button(self, label=leftText) //實(shí)例化左按鈕

????????????????????????self.rightButton = wx.Button(self, label=rightText,pos=(100,0)) //實(shí)例化右按鈕

????????????????????????self.leftClick =False

? ? ? ? ? ? ? ? ? ? ? ? self.rightClick =False

? ? ? ? ????????????????self.clickCount =0

? ? ? ????????????????? self.leftButton.Bind(wx.EVT_LEFT_DOWN, self.OnLeftClick)//按鈕事件綁定

????????????????????????self.rightButton.Bind(wx.EVT_LEFT_DOWN, self.OnRightClick)//按鈕事件綁定

????????????def OnLeftClick(self, event): //定義左鍵單擊事件

????????????????????????self.leftClick =True

? ? ? ? ????????????????self.OnClick()

????????????????????????event.Skip()

????????????def OnRightClick(self, event): //定義右鍵單擊事件

????????????????????????self.rightClick =True

? ? ? ? ????????????????self.OnClick()

????????????????????????event.Skip()

????????????def OnClick(self): //定義單擊事件

????????????????????????self.clickCount +=1

? ? ? ? ????????????????if self.leftClickand self.rightClick:

????????????????????????????????????self.leftClick =False

? ? ? ? ? ????????????????????????? self.rightClick =False

? ? ? ? ? ? ????????????????????????evt = TwoButtonEvent(myEVT_TWO_BUTTON, self.GetId())

????????????????????????????????????evt.SetClickCount(self.clickCount)

????????????????????????????????????self.GetEventHandler().ProcessEvent(evt)

class CustomEventFrame(wx.Frame): //創(chuàng)建事件窗體CustomEventFrame()

????????????def __init__(self, parent, id): //初始化

????????????????????????wx.Frame.__init__(self, parent, id, 'Click Count: 0', size=(300, 100))

????????????????????????panel = TwoButtonPanel(self) //實(shí)例化 TwoButtonPanel()

????????????????????????self.Bind(EVT_TWO_BUTTON, self.OnTwoClick, panel) //事件綁定

????????????def OnTwoClick(self, event): //定義事件

????????????????????????self.SetTitle("Click Count: %s" % event.GetClickCount()) //標(biāo)題顯示計(jì)數(shù)

if __name__ =='__main__':

????????????app = wx.PySimpleApp() //實(shí)例化wx.PySimpleApp()

????????????frame = CustomEventFrame(parent=None, id=-1) //實(shí)例化窗體CustomEventFrame

????????????frame.Show() //窗體顯示

????????????app.MainLoop()?


按鈕窗體
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末厢蒜,一起剝皮案震驚了整個(gè)濱河市霞势,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌斑鸦,老刑警劉巖愕贡,帶你破解...
    沈念sama閱讀 217,826評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異巷屿,居然都是意外死亡固以,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)憨琳,“玉大人诫钓,你說(shuō)我怎么就攤上這事「菝” “怎么了菌湃?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)遍略。 經(jīng)常有香客問(wèn)我惧所,道長(zhǎng),這世上最難降的妖魔是什么墅冷? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任纯路,我火速辦了婚禮,結(jié)果婚禮上寞忿,老公的妹妹穿的比我還像新娘驰唬。我一直安慰自己,他們只是感情好腔彰,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布叫编。 她就那樣靜靜地躺著,像睡著了一般霹抛。 火紅的嫁衣襯著肌膚如雪搓逾。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,482評(píng)論 1 302
  • 那天杯拐,我揣著相機(jī)與錄音霞篡,去河邊找鬼。 笑死端逼,一個(gè)胖子當(dāng)著我的面吹牛朗兵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播顶滩,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼余掖,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了礁鲁?” 一聲冷哼從身側(cè)響起盐欺,我...
    開(kāi)封第一講書(shū)人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎仅醇,沒(méi)想到半個(gè)月后冗美,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡析二,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評(píng)論 3 336
  • 正文 我和宋清朗相戀三年墩衙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片甲抖。...
    茶點(diǎn)故事閱讀 39,926評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡漆改,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出准谚,到底是詐尸還是另有隱情挫剑,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評(píng)論 5 346
  • 正文 年R本政府宣布柱衔,位于F島的核電站樊破,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏唆铐。R本人自食惡果不足惜哲戚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望艾岂。 院中可真熱鬧顺少,春花似錦、人聲如沸王浴。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)氓辣。三九已至秒裕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間钞啸,已是汗流浹背几蜻。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留体斩,地道東北人梭稚。 一個(gè)月前我還...
    沈念sama閱讀 48,063評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像硕勿,于是被迫代替她去往敵國(guó)和親哨毁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容