wxpython初学者(三)

        这几天一直趴在wxpython中,发现还是很有意思的,不过有些对于目前的我感觉还是太陌生了,下午幸亏回眸那一下顿悟了,才没有去上网休息休息,坚持下去总会看到自己想要的,我应该还是多练习吧,我一直用sublime编写,这个编辑器还是不错的,有些是我乱加的,本来想截图的的,可是还要装什么scrot截图工具太麻烦了。对于下面的代码主要是gridbagsizer那里的,


<span style="font-size:18px;">#!/usr/bin  python
#coding:utf-8

#wx.gridbagsizer

import wx
class Example(wx.Frame):
    def __init__(self,parent,title):
        super(Example,self).__init__(parent,title=title,size=(320,200))
        self.InitUI()
        self.Centre()
        self.Show()
    def InitUI(self):
        panel = wx.Panel(self)
        sizer = wx.GridBagSizer(4,4)

        text = wx.StaticText(panel,label= "Rename to")
        sizer.Add(text,pos=(0,0),flag=wx.TOP | wx.LEFT | wx.BOTTOM ,border=5)

        tc = wx.TextCtrl(panel)
        sizer.Add(tc,pos=(0,1),span=(1,5),flag=wx.EXPAND | wx.LEFT | wx.RIGHT,border= 5)
        #sizer.Add(tc,pos=(1,0),span=(1,5),flag=wx.EXPAND | wx.LEFT | wx.RIGHT,border= 5)


        buttonOK = wx.Button(panel,label ="OK",size=(90,28))
        self.Bind(wx.EVT_BUTTON,self.OnCloseMe1,buttonOK)

        buttonClose = wx.Button(panel,label="Close",size =(90,28))
        self.Bind(wx.EVT_BUTTON,self.OnCloseMe2,buttonClose)


        sizer.Add(buttonOK,pos= (3,3))
        sizer.Add(buttonClose,pos=(3,4),flag = wx.RIGHT | wx.BOTTOM ,border = 5)

        sizer.AddGrowableRow(2)
        sizer.AddGrowableCol(1)
        panel.SetSizerAndFit(sizer)
    

    def OnCloseMe1(self, event):
        dlg = wx.MessageDialog(None, u"消息对话框测试", u"标题信息", wx.YES_NO | wx.ICON_QUESTION)
        if dlg.ShowModal() == wx.ID_YES:
            self.Close(True)
        dlg.Destroy()


    def OnCloseMe2(self,event):
        self.Close()  



if __name__ == '__main__': 
     app = wx.App()
     Example(None,title="GridBagSizer")
     app.MainLoop()</span>



<span style="font-size:18px;">#!/usr/bin  python
#coding:utf-8

#wxgridbagsizer
import wx

class Example(wx.Frame):
    def __init__(self,parent,title):
        super(Example,self).__init__(parent,title=title,size = (300,250))
        self.InitUI()
        self.Centre()
        self.Show()

    def InitUI(self):

        sizer = wx.GridBagSizer(10,10)
        sizer.Add(wx.Button(self,-1,"Button1"),(0,0),wx.DefaultSpan,wx.ALL,35)
        sizer.Add(wx.Button(self,-1,"Button2"),(1,1),(1,7),wx.EXPAND)
        sizer.Add(wx.Button(self,-1,"Button3"),(6,6),(3,3),wx.EXPAND)
        sizer.Add(wx.Button(self,-1,"Button4"),(3,0),(1,1),wx.ALIGN_CENTER)
        sizer.Add(wx.Button(self,-1,"Button5"),(4,0),(1,1),wx.ALIGN_LEFT)
        sizer.Add(wx.Button(self,-1,"Button6"),(5,0),(1,1),wx.ALIGN_RIGHT)

        sizer.AddGrowableRow(6)
        sizer.AddGrowableCol(6)

        self.SetSizerAndFit(sizer)


def main():
    app = wx.App()
    Example(None,title="GridBagSizer")
    app.MainLoop()



if __name__ == '__main__':
    main()
</span>

下面的这个gridsizer仅仅只是做了向一个计算器的样子,并没有写事件驱动和后面的程序,等学的差不多在说吧


<span style="font-size:18px;">#!/usr/bin  python
#coding:utf-8


#wx.GridSizer

import wx

class Example(wx.Frame):
    def __init__(self,parent,title):
        super(Example,self).__init__(parent,title=title,size=(300,250))
        self.InitUI()
        self.Centre()
        self.Show()
    def InitUI(self):
        menubar = wx.MenuBar()
        fileMenu = wx.Menu()
        menubar.Append(fileMenu,"&file")
        self.SetMenuBar(menubar)


        vbox = wx.BoxSizer(wx.VERTICAL)
        self.display = wx.TextCtrl(self,style =wx.TE_RIGHT) 
        vbox.Add(self.display,flag = wx.EXPAND | wx.TOP | wx.BOTTOM,border = 5)
        gs = wx.GridSizer(4,4,5,5)


        gs.AddMany([(wx.Button(self,label = 'Cls'),0,wx.EXPAND),
             (wx.Button(self,label = 'Bck'),0,wx.EXPAND),
             (wx.StaticText(self),wx.EXPAND),
             (wx.Button(self,label = 'Close'),0,wx.EXPAND),
             (wx.Button(self,label = '7'),0,wx.EXPAND),
             (wx.Button(self,label = '8'),0,wx.EXPAND),
             (wx.Button(self,label = '9'),0,wx.EXPAND),
             (wx.Button(self,label = '/'),0,wx.EXPAND),
             (wx.Button(self,label = '4'),0,wx.EXPAND),
             (wx.Button(self,label = '5'),0,wx.EXPAND),
             (wx.Button(self,label = '6'),0,wx.EXPAND),
             (wx.Button(self,label = '*'),0,wx.EXPAND),
             (wx.Button(self,label = '1'),0,wx.EXPAND),
             (wx.Button(self,label = '2'),0,wx.EXPAND),
             (wx.Button(self,label = '3'),0,wx.EXPAND),
             (wx.Button(self,label = '-'),0,wx.EXPAND),
             (wx.Button(self,label = '0'),0,wx.EXPAND),
             (wx.Button(self,label = '.'),0,wx.EXPAND),
             (wx.Button(self,label = '='),0,wx.EXPAND),
             (wx.Button(self,label = '+'),0,wx.EXPAND)]) 
         

        vbox.Add(gs,proportion=1,flag=wx.EXPAND)
        self.SetSizer(vbox)


        

if __name__ == '__main__':
    app  =  wx.App()
    Example(None,title="caculator")
    app.MainLoop()</span>



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值