中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

用Python中wx模塊如何創建文本編輯器

發布時間:2020-06-30 14:24:40 來源:億速云 閱讀:194 作者:清晨 欄目:編程語言

這篇文章將為大家詳細講解有關用Python中wx模塊如何創建文本編輯器,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

用Python的wx模塊創建文本編輯器的方法:

1、設置按鈕的位置

import wx
app = wx.App()
win = wx.Frame(None,title = "編輯器", size=(410,335))
win.Show()
loadButton = wx.Button(win, label = '打開',pos = (225,5),size = (80,25))
saveButton = wx.Button(win, label = '保存',pos = (315,5),size = (80,25))
filename = wx.TextCtrl(win, pos = (5,5),size = (210,25))
contents = wx.TextCtrl(win, pos = (5,35),size = (390,260), style = wx.TE_MULTILINE | wx.HSCROLL)
app.MainLoop()

2、對窗口內容進行布局

import wx
app = wx.App()
win = wx.Frame(None,title = "編輯器", size=(410,335))
bkg = wx.Panel(win)
loadButton = wx.Button(bkg, label = '打開')
saveButton = wx.Button(bkg, label = '保存')
filename = wx.TextCtrl(bkg)
contents = 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.EXPAND | wx.ALL, border = 5)
vbox.Add(contents, proportion = 1,flag=wx.EXPAND | wx.LEFT | wx.BOTTOM | wx.RIGHT, border = 5)
bkg.SetSizer(vbox)
win.Show()
app.MainLoop()

3、添加事件處理函數

在GUI術語中,用戶執行的動作(比如 點擊按鈕)叫做事件。我們需要讓程序注意這些事件并且作出反應。
  假設寫了一個負責打開文件的函數,并將其命令為load ,然后就可以像下面這樣將函數作為loadButton的事件處理函數:
loadButton.Bind(wx.EVT_BUTTON, load)
  讓我們來完成剩下的工作,現在需要的就是兩個事件處理函數:load(打開)和save(保存)。當事件被調用時,它會收到一個事件對象作為它唯一的參數,其中包括發生了什么事情的信息,但是在這里可以忽略這方法的事情,因為程序只關心點擊時發生的事情。
def load(event):
    file = open(filename.GetValue())
    contents.SetValue(file.read())
    file.close()
文件名使用filename對象GetValue方法獲取。為了將文本引入文本區,只要使用contents.SetValue即可。
save函數和load類似,除了它需要寫入(‘w’),以及用于文件處理部分的write方法,GetValue用于從文本區獲得信息。
def save(event):
    file = open(filename.GetValue(),'w')
    file.write(contents.GetValue())
    file.close()

完整代碼如下:

import wx
def load(event):
    file = open(filename.GetValue())
    contents.SetValue(file.read())
    file.close()
def save(event):
    file = open(filename.GetValue(),'w')
    file.write(contents.GetValue())
    file.close()
app = wx.App()
win = wx.Frame(None,title = "編輯器", size=(410,335))
bkg = wx.Panel(win)
loadButton = wx.Button(bkg, label = '打開')
loadButton.Bind(wx.EVT_BUTTON,load)
saveButton = wx.Button(bkg, label = '保存')
saveButton.Bind(wx.EVT_BUTTON,save)
filename = wx.TextCtrl(bkg)
contents = 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.EXPAND | wx.ALL, border = 5)
vbox.Add(contents, proportion = 1,flag=wx.EXPAND | wx.LEFT | wx.BOTTOM | wx.RIGHT, border = 5)
bkg.SetSizer(vbox)
win.Show()
app.MainLoop()

執行結果如下:

用Python中wx模塊如何創建文本編輯器

關于用Python中wx模塊如何創建文本編輯器就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平远县| 鹤庆县| 洛南县| 连江县| 定陶县| 深州市| 久治县| 灌云县| 襄垣县| 孟州市| 刚察县| 辽源市| 呈贡县| 凉山| 茌平县| 沾益县| 开鲁县| 华容县| 沧源| 时尚| 尚志市| 龙江县| 扬州市| 临邑县| 宜丰县| 玉环县| 磴口县| 碌曲县| 乐山市| 垦利县| 通州区| 双桥区| 霞浦县| 瑞丽市| 合肥市| 延庆县| 万年县| 万宁市| 乌海市| 绥阳县| 裕民县|