python做界面比较好的gui_python 编写gui界面有哪些

按钮: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)

同时我们可以在读取或者写入其内容:

filename.GetValue() filename.SetValue('string')

布局:使用尺寸器(sizer)

wx.BoxSizer的原理是创建一个箱子一样的东西,只能横着或者竖着放组件,一个一个的加进去,除了基本大小外其余空间按比例分配。加完一行行的箱子后,创建一个竖着的箱子,将这些横着的箱子(也可以是其他组件)加进去。

*背景组件:wx.Panel()

以窗口为参数构建,所有的组件依附其上,在设置完尺寸器后,使用bkg.SetSizer(box)

尺寸器的构建函数:wx.BoxSizer()

有一个决定它是垂直还是水平的参数(wx.HORIZONTAL水平,wx.VERTICAL垂直),默认为水平。

box=wx.BoxSizer(wx.VERTICAL)

Add方法

proportion参数决定这个组件在剩余空间中的分配比例,flag参数有wx.EXPAND(会确保组件会扩展到分配的空间里),wx.LEFT,wx.RIGHT,wx.TOP,wx.BOTTOM,wx.ALL(这五个决定边框参数会应用到那个边),border参数会确定边框的大小。

完整版的源代码如下:

#coding=utf-8

import wx

#设置函数

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()`

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值