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