python界面设计------wx

python的界面设计的库有很多今天用wx写一个简单的小程序

界面大致如下图所示

#图像用户界面
import wx
app = wx.App()
win = wx.Frame(None,title="byc",size=(800,800))#在不考虑父类部件的请况下用值None
#现在在图像框中添加代码
#btn=wx.Button(win)  #在框架上添加按钮也很简单只要使用win作为父类参数实例化wx.Button()就可以了
'''
    这时候的按钮是占据整个界面的而且,界面也没有标题
    下面我们需要进行美化

LoadButton = wx.Button(win,label='Open')
SaveButton = wx.Button(win,label='Save')
这样写可以吗当然不行,我们还需要确定按钮的位置呢

'''

LoadButton = wx.Button(win,label='Open',
                                pos=(450,10),size=(90,25))
SaveButton = wx.Button(win,label='Save',
                            pos=(550,10),size=(90,25))#设置按钮的标签,位置,大小

filename = wx.TextCtrl(win,pos=(10,10),size=(410,25))#加入一个文件搜索框
contents = wx.TextCtrl(win,pos=(10,40),size=(770,700),style=wx.TE_MULTILINE|wx.HSCROLL)#加入一个文件书写框
#TextCtrl()文本控件
#style表示界面的风格,这个我也不知道,百度一下吧

win.Show()
app.MainLoop()
#到这步为止构建了一个图形框架

 这种写法是绝对定位的写法,下面我们写一个相对定位的写法

关于wx的几种提示框的问题:

http://blog.sina.com.cn/s/blog_4b5039210100ezgz.html

借鉴下其他博友

import wx

def OnInit(self):#wx弹出提示框 Y-N型
       dlg=wx.MessageDialog(None,"确认保存?",
       "MessageDialog",wx.YES_NO|wx.ICON_QUESTION)
       result=dlg.ShowModal()
       dlg.Destroy()

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())
    OnInit(event)
    file.close()
    contents.Clear()


app = wx.App()
win = wx.Frame(None,title="byc",size=(800,800))#在不考虑父类部件的请况下用值None
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)
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程序就完成了,但是还是感觉显的过于简单了,下面开始拓张一下。虽然做不到高级但是作为一个简单的

PC版软件应该是可以的

这里引进以为网友的作品

https://www.cnblogs.com/Twobox/p/7397665.html

 

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值