python写GUI

Posted DaTaideng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python写GUI相关的知识,希望对你有一定的参考价值。

图形用户界面

本文利用wxpython

wx包中的方法都是以大写的字幕开头

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 = "Simple Editor", size = (410, 335))
bkg = wx.Panel(win)

loadBtn = wx.Button(bkg, label = "Open")
loadBtn.Bind(wx.EVT_BUTTON, load)# 按钮绑定函数

saveBtn = wx.Button(bkg, label = "Save")
saveBtn.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(loadBtn, proportion = 0, flag = wx.LEFT, border = 5)
hbox.Add(saveBtn, 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()

  

wx.BoxSizer参数默认为水平,wx.VERTICAL是垂直。

flag参数类似于style。wx.EXPAND标记组件会扩展到所分配的空间。wx.LEFT、wx.RIGHT、wx.TOP、wx.BOTTOM、wx.ALL对应于哪个边。

proportion参数根据窗口改变大小时所分配的空间比例。 

 

以上是关于python写GUI的主要内容,如果未能解决你的问题,请参考以下文章

用 Python 写软件原来这么简单!

用 Python 写软件原来这么简单!

python写GUI

为Python配置Vim编辑器(GUI/非GUI皆可)

利用python写一个gui小公举--制作一个小公举

关于python写GUI桌面应用的一些研究结果