zoukankan      html  css  js  c++  java
  • Python(十)之GUI编程

    在windwos上实现:使用wxPython模块

    #!/usr/bin/env python
    # encoding: utf-8
    
    import wx
    
    #创建open按钮触发的事件对应的函数
    def load(event):
        file = open(filename.GetValue())
        contents.SetValue(file.read())
        file.close()
    
    #创建save按钮触发的事件对应的函数
    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)
    #在窗口添加按钮,并绑定事件
    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)
    #调用面板的SetSizer设定尺寸
    bkg.SetSizer(vbox)
    #调用app.MianLoop前需要调用窗法,否则他会一直隐藏
    win.Show()
    app.MainLoop()
    

     

  • 相关阅读:
    Project Euler 389 Platonic Dice (概率)
    单纯形(相关题目)
    关于C++中的内存泄露
    莫比乌斯反演与积性函数求和筛法中的一些细节
    清华集训2015-Day 2
    bzoj3456-城市规划
    多项式运算的一些技术
    bzoj2302-Problem c
    bzoj4300-绝世好题
    bzoj4726-Sabota?
  • 原文地址:https://www.cnblogs.com/jjzd/p/7365386.html
Copyright © 2011-2022 走看看