python 圖形用戶界面(GUI)

安裝wxPython

下載頁面

下面是wxPython特別基礎的使用方法曹抬,將以一個小程序為例來說明息楔,它的功能是在一個文本框中輸入文件名毫缆,點擊open按鈕杏节,會在另一個文本框中顯示其內(nèi)容唬渗,可以進行修改,點擊save可以保存修改奋渔。

wxPython的使用簡介

創(chuàng)建應用程序?qū)ο螅簑x.App()

app=wx.App() app.MainLoop()

窗口/框架:wx.Frame()

win=wx.Frame(None,title='example') win.Show()

組件

  • 按鈕:wx.Button()

關鍵字label設置標簽:
btn=wx.Button(win,label='open')

綁定事件:
btn.Bind(wx.EVT_BUTTON,load)

  • 文本控件:wx.TextCtrl()

關鍵字style有wx.TE_MULTILINE(垂直滾動條)镊逝,wx.HSXROLL(水平滾動條):
filename=wx.TextCtrl(win,style=wx.TE_MULTILINE|wx.HSXROLL)

同時我們可以在讀取或者寫入其內(nèi)容:
filename.GetValue() filename.SetValue('string')

布局:使用尺寸器(sizer)

wx.BoxSizer的原理是創(chuàng)建一個箱子一樣的東西,只能橫著或者豎著放組件嫉鲸,一個一個的加進去撑蒜,除了基本大小外其余空間按比例分配。加完一行行的箱子后充坑,創(chuàng)建一個豎著的箱子减江,將這些橫著的箱子(也可以是其他組件)加進去染突。

*背景組件:wx.Panel()

以窗口為參數(shù)構(gòu)建捻爷,所有的組件依附其上,在設置完尺寸器后份企,使用bkg.SetSizer(box)

  • 尺寸器的構(gòu)建函數(shù):wx.BoxSizer()

有一個決定它是垂直還是水平的參數(shù)(wx.HORIZONTAL水平也榄,wx.VERTICAL垂直),默認為水平司志。
box=wx.BoxSizer(wx.VERTICAL)

  • Add方法

proportion參數(shù)決定這個組件在剩余空間中的分配比例甜紫,flag參數(shù)有wx.EXPAND(會確保組件會擴展到分配的空間里),wx.LEFT,wx.RIGHT,wx.TOP,wx.BOTTOM,wx.ALL(這五個決定邊框參數(shù)會應用到那個邊),border參數(shù)會確定邊框的大小骂远。

完整版的源代碼如下:

#coding=utf-8
import wx
#設置函數(shù)
def load(event):
  f=open(filename.GetValue(),'r')
  content.SetValue(f.read())
  f.close()
def save(event):
  f=open(filename.GetValue(),'w')
  f.write(content.GetValue())
  f.close()

app=wx.App()
win=wx.Frame(None,title='simple editor',size=(410,330))
bkg=wx.Panel(win)

loadbutton=wx.Button(bkg,label='Open')
loadbutton.Bind(wx.EVT_BUTTON,load)
savebutton=wx.Button(bkg,label='Save')
savebutton.Bind(wx.EVT_BUTTON,save)

filename=wx.TextCtrl(bkg)
content=wx.TextCtrl(bkg,style=wx.TE_MULTILINE|wx.HSCROLL)

hbox=wx.BoxSizer()
hbox.Add(filename,proportion=1,flag=wx.EXPAND)
hbox.Add(loadbutton,proportion=0,flag=wx.LEFT,border=5)
hbox.Add(savebutton,proportion=0,flag=wx.LEFT,border=5)

vbox=wx.BoxSizer(wx.VERTICAL)
vbox.Add(hbox,proportion=0,flag=wx.ALL,border=5)
vbox.Add(content,proportion=1,flag=wx.EXPAND|wx.ALL,border=5)

bkg.SetSizer(vbox)
win.Show()
app.MainLoop()`
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末囚霸,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子激才,更是在濱河造成了極大的恐慌拓型,老刑警劉巖额嘿,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異劣挫,居然都是意外死亡册养,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門压固,熙熙樓的掌柜王于貴愁眉苦臉地迎上來球拦,“玉大人,你說我怎么就攤上這事帐我】擦叮” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵拦键,是天一觀的道長点弯。 經(jīng)常有香客問我,道長矿咕,這世上最難降的妖魔是什么抢肛? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮碳柱,結(jié)果婚禮上捡絮,老公的妹妹穿的比我還像新娘。我一直安慰自己莲镣,他們只是感情好福稳,可當我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著瑞侮,像睡著了一般的圆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上半火,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天越妈,我揣著相機與錄音,去河邊找鬼钮糖。 笑死梅掠,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的店归。 我是一名探鬼主播阎抒,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼消痛!你這毒婦竟也來了且叁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤秩伞,失蹤者是張志新(化名)和其女友劉穎逞带,沒想到半個月后质涛,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡掰担,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年汇陆,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片带饱。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡毡代,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出勺疼,到底是詐尸還是另有隱情教寂,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布执庐,位于F島的核電站酪耕,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏轨淌。R本人自食惡果不足惜迂烁,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望递鹉。 院中可真熱鬧盟步,春花似錦、人聲如沸躏结。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽媳拴。三九已至黄橘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間屈溉,已是汗流浹背塞关。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留语婴,地道東北人描孟。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓驶睦,卻偏偏與公主長得像砰左,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子场航,可洞房花燭夜當晚...
    茶點故事閱讀 42,828評論 2 345

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

  • 可以看我的博客 lmwen.top 或者訂閱我的公眾號 簡介因為公司項目的原因缠导,最近花了點時間去研究NLP自然...
    ayuLiao閱讀 3,609評論 0 3
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,514評論 25 707
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 6,358評論 0 17
  • 循證醫(yī)學老師講被切除海馬體的患者H.M.只有幾秒的記憶溉痢。聽見后排的同學驚呼僻造。天啊那他該有多幸福憋他。 百度百科里對海馬...
    花槾閱讀 349評論 0 0
  • 機場就是相逢和離別的時候,該離別的時候還是要離別髓削。
    aca78a930d97閱讀 165評論 0 0