关闭

python wxpython--学习笔记

136人阅读 评论(0) 收藏 举报

参考了 Magnus LH 的教程, 司维等翻译,请勿转载

最简单的app:

#! _*_ coding=UTF-8 _*_
import wx
app=wx.App()
app.MainLoop()

创建并显示一个框架:

#! _*_ coding=UTF-8 _*_

import wx
myapp=wx.App()
win=wx.Frame(None)
win.Show()

app.MainLoop()


添加一个按钮:

#! _*_ coding=UTF-8 _*_

import wx
app=wx.App()
win=wx.Frame(None)
btn=wx.Button(win)
win.Show()

app.MainLoop()


使用构造函数添加标题、标签等:

#! _*_ coding=UTF-8 _*_
import wx
app=wx.App()
win=wx.Frame(None,title="editor")
loadButton=wx.Button(win,label='open')
saveButton=wx.Button(win,label='save')
win.Show()
app.MainLoop()


使用构造函数提供位置、尺寸等:

#! _*_ coding=UTF-8 _*_
import wx
app=wx.App()
win=wx.Frame(None,title="editor",size=(400,330))
loadButton=wx.Button(win,label='open',pos=(150,5),size=(50,20))
saveButton=wx.Button(win,label='save',pos=(250,5),size=(50,20))
win.Show()
app.MainLoop()


添加文本控件:

#! _*_ coding=UTF-8 _*_
import wx
app=wx.App()
win=wx.Frame(None,title="editor",size=(400,330))
loadButton=wx.Button(win,label='open',pos=(150,5),size=(50,20))
saveButton=wx.Button(win,label='save',pos=(250,5),size=(50,20))
filename=wx.TextCtrl(win,pos=(50,5),size=(100,20))
win.Show()
app.MainLoop()


增加文本区、滚动条:

#! _*_ coding=UTF-8 _*_
import wx
app=wx.App()
win=wx.Frame(None,title="editor",size=(400,330))
win.Show()

loadButton=wx.Button(win,label='open',pos=(150,5),size=(50,20))
saveButton=wx.Button(win,label='save',pos=(250,5),size=(50,20))
filename=wx.TextCtrl(win,pos=(50,5),size=(100,20))
contents=wx.TextCtrl(win,pos=(50,35),size=(400,200),style=wx.TE_MULTILINE|wx.HSCROLL)

app.MainLoop()

智能布局:

#! _*_ coding=UTF-8 _*_
import wx
app=wx.App()
win=wx.Frame(None,title="editor",size=(400,330))
bkg=wx.Panel(win)                 

loadButton =wx.Button(bkg,label='open')
saveButton=wx.Button(bkg,label='save')
filename=wx.TextCtrl(bkg)
contents=wx.TextCtrl(bkg,style=wx.TE_MULTILINE|wx.HSCROLL)

hbox=wx.BoxSizer(wx.HORIZONTAL)       
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.ALL|wx.BOTTOM|wx.RIGHT,border=5)

bkg.SetSizer(vbox)
win.Show()
app.MainLoop()

 

 添加事件处理:

#! _*_ coding=UTF-8 _*_
import wx


def load(event):
    file=open(filename.GetValue())
    contents.SetValue(file.read())
    file.close()
def save(event):
    file=open(filename.GetValue(),'w')
    file.write(contents.SetValue())
    file.close()


app=wx.App()
win=wx.Frame(None,title="editor",size=(400,330))
bkg=wx.Panel(win)                   #增加背景组件
loadButton =wx.Button(bkg,label='open')
loadButton.Bind(wx.EVT_BUTTON,load)

saveButton=wx.Button(bkg,label='save')
loadButton.Bind(wx.EVT_BUTTON,save)

filename=wx.TextCtrl(bkg)
contents=wx.TextCtrl(bkg,style=wx.TE_MULTILINE|wx.HSCROLL)
hbox=wx.BoxSizer(wx.HORIZONTAL)         #创建尺寸器,并将组件装入
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.ALL|wx.BOTTOM|wx.RIGHT,border=5)

bkg.SetSizer(vbox)
win.Show()
app.MainLoop()



0
0
查看评论

Python学习笔记(一)基础语法

Python标识符 在python里,标识符有字母、数字、下划线组成。 在python中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。 python中的标识符是区分大小写的。 以下划线开头的标识符是有特殊意义的。以单下划线开头(_foo)的代表不能直接访问的类属性,需通...
  • aa294194253
  • aa294194253
  • 2015-02-15 10:02
  • 560

Python学习笔记(综述)

python 语言基础教程
  • qq_25612733
  • qq_25612733
  • 2017-01-18 19:45
  • 245

OpenCV学习笔记大集锦

转载自: OpenCV学习笔记大集锦 – 视觉机器人 http://www.cvrobot.net/collect-opencv-resource-learn-study-note-chinese/ 整理了我所了解的有关OpenCV的学习笔记、原理分析、使用例程等相关的博文...
  • qq_26898461
  • qq_26898461
  • 2016-01-06 09:49
  • 1419

Python基础学习笔记之(二)

Python基础学习笔记之(二)zouxy09@qq.comhttp://blog.csdn.net/zouxy09 六、包与模块1、模块module         Python中每一个.py脚本定义一个模块...
  • zouxy09
  • zouxy09
  • 2013-11-24 16:04
  • 15065

python学习: 如何循序渐进学习Python语言

大家都知道Python语言是一种新兴的编程语言。1989年,Python就由Guido van Rossum发明。Python一直发展态势很好。       原因有几点:1、跨平台性好。Linux、Windows、MacOS、塞班……。2...
  • zwqjoy1
  • zwqjoy1
  • 2017-12-01 17:41
  • 225

python 学习笔记 4 -- 函数篇

本文主要是针对python的函数定义做的笔记,详细记录各种需要了解的知识,比如规范、参数、返回值、局部变量、全局变量以及doc_string的相关知识,使用大量简单例子作为解释更容易理解!
  • longerzone
  • longerzone
  • 2013-12-09 13:32
  • 2699

Spark (Python版) 零基础学习笔记(五)—— Spark RDDs编程

RDD基础概念创建RDD 创建RDD的方法: 1.载入外部数据集 2.分布一个对象的集合前边几次的笔记已经提到过多次了,因此,这里只列出几个注意事项: 1.利用sc.parallelize创建RDD一般只适用于在测试的时候使用,因为这需要我们将整个数据集放入一台机器的内存中。因此,除了我们学...
  • zhangyang10d
  • zhangyang10d
  • 2016-11-29 11:39
  • 965

Python简明教程学习笔记

如果你想要指示某些不需要如转义符那样的特别处理的字符串(转义符号无效),那么你需要指定一个自然字符串。自然字符串通过给字符串加上前缀r或R来指定。例如 str=r"Newlines are indicated by \n"。 print(str)结果为:Newlines are ...
  • sxh850297968
  • sxh850297968
  • 2014-11-21 20:37
  • 1301

Python学习笔记(一)——入门与基础

前言最近开始想学Python,于是上网找到了廖雪峰大神的Python教程。 这个笔记主要是用来记录一些对教程的心得,补充,以及因为版本差别而导致的代码区别。
  • haelang
  • haelang
  • 2015-04-20 19:46
  • 1022

Python 学习笔记之一——Python简介

Python学习一 (Python简介)
  • Jeff_Liu_Sky
  • Jeff_Liu_Sky
  • 2016-08-01 16:15
  • 1229
    个人资料
    • 访问:399次
    • 积分:24
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:1篇
    • 译文:1篇
    • 评论:0条
    文章存档