#图形用户界面
1.下载和安装wxPython
2.创建并显示一个框架
import wx #导入wxPython
app=wx.App()
win=wx.Frame(None)
win.Show() #调用窗口前需要show
app.MainLoop() #调用窗口

wxPython包含两个对象:
应用程序对象和根窗口
应用程序对象通过实例化wx.App实现
根窗口通过wx.Frame实现 完成图形的基本容器
wx.App wx的主要部分

import wx #导入
创建应用程序对象:
app=wx.App()
创建窗口 window-Frame
win=wx.Frame(None)
显示窗口:
win.Show()
事件循环展示出来
app.MainLoop()
#在窗口添加组件
btn=wx.Button(win)
设置组件位置,尺寸
size pos
添加组件
text control:wx.TextCtrl
设置为文本区

#coding:utf8
import wx
#导入
#创建应用程序对象:
app=wx.App()
#创建窗口 window-Frame 加上标题
win=wx.Frame(None,title="editor",size=(410,340))
#在窗口添加组件
wx.Button(win,label="Open", pos=(245,5),size=(80,25))
wx.Button(win,label="Save", pos=(325,5),size=(80,25))
wx.TextCtrl(win,pos=(5,5),size=(245,25))
wx.TextCtrl(win,pos=(5,35),size=(400,300),style=wx.TE_MULTILINE|wx.HSCROLL)
#btn=wx.Button(win)
#显示窗口:
win.Show()
#事件循环展示出来
app.MainLoop()

尺寸器:sizer wx.BoxSizer
管理添加在其中的组件布局位置
hbox=wx.BoxSizer(wx.HORIZONTAL
wx.VERTICAL)
增加panel以利于布局
sizer.add(组件,proportion=,flag=,border=)

事件处理:
组件的Bind绑定事件处理函数
组件 发生事件 对应事件行为(事件处理函数)

以下是简单记事本代码
#coding:utf8
import wx
#导入
#创建应用程序对象:
app=wx.App()
#创建窗口 window-Frame 加上标题
win=wx.Frame(None,title="editor",size=(410,340))

#定义函数
def openfile(evt):
#print "hello world"
#每按一次open按钮 就在屏幕上打印一行hello world
filepath=filename.GetValue()#获取文件名
fopen=open(filepath)#打开文件
#print fopen.read()#读取文件 输入屏幕
contents.SetValue(fopen.read())#将文件信息放入文本框
fopen.close()#关闭文件
def savefile(evt):
filepath=filename.GetValue()
fopen=open(filepath,'w')
fopen.write(contents.GetValue())#写入文件
fopen.close()

bkg=wx.Panel(win)
#在窗口添加组件
#将win换成bkg
openbutton=wx.Button(bkg,label="Open")
openbutton.Bind(wx.EVT_BUTTON,openfile)
#绑定事件 在openbutton按钮上绑定一个openfile事件函数

savebutton=wx.Button(bkg,label="Save")
savebutton.Bind(wx.EVT_BUTTON,savefile)
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(openbutton,proportion=0,flag=wx.LEFT,border=5)
hbox.Add(savebutton,proportion=0,flag=wx.LEFT,border=5)

bbox=wx.BoxSizer(wx.VERTICAL)
bbox.Add(hbox,proportion=0,flag=wx.EXPAND|wx.ALL,border=5)
#EXPAND 可以拉伸
bbox.Add(contents,proportion=1,flag=wx.EXPAND|wx.LEFT|wx.BOTTOM|wx.RIGHT,border=5)
#btn=wx.Button(win)
bkg.SetSizer(bbox)
#显示窗口:
win.Show()
#事件循环展示出来
app.MainLoop()

预览图片:

python之GUI图形用户界面 2014-4-7的更多相关文章

  1. 黑马程序员_<<GUI(图形用户界面)--------1>>

    --------------------ASP.Net+Android+IOS开发..Net培训.期待与您交流! -------------------- 1.  GUI图形用户界面 1.简述 Gra ...

  2. java第八节 GUI/图形用户界面

    /* *第8讲 GUI/图形用户界面 * AWT的基础知识 * GUI全称是Graphical User Interface,即图形用户界面 * JDK中提供了AWT和Swing两个包,用于GUI程序 ...

  3. python学习笔记(十 一)、GUI图形用户界面

    python图形用户界面就是包含按钮.输入框.选择框等组件的窗口.主要依赖与工具包进行代码编写.python GUI工具包并发互斥的,你可以选择多个工具包进行安装,有极大选择空间.每个工具包都有不同用 ...

  4. GUI(图形用户界面)

    一.GUI(图形用户界面) GUI Graphical User Interface(图形用户接口) 用图形的方式,来显示计算机操作的界面,这样更方便更直观 CLI Command line User ...

  5. GUI 图形用户界面 [学习笔记]

    今晚返璞归真了一把, 系统了解了一下GUI的有关知识: GUI(Graphical User Interface) 图形用户界面 是指采用图形方式显示的计算机操作用户接口.与早期计算机使用的命令行界面 ...

  6. R python在无图形用户界面时保存图片

    在用python的matplotlib,和R中自带的作图,如果想保存图片时,当你有图形用户界面时是没有问题的,但是当没有图形用户界面时,会报错: 在R中,解决办法: https://blog.csdn ...

  7. linux系统中firewalld防火墙管理工具firewall-config(GUI图形用户界面)

    firewall-config是firewalld防火墙管理工具的GUI(图形用户界面)版本,几乎可以实现所有以命令行来执行的操作. firewall-config的界面如下图(在终端直接运行fire ...

  8. Python学习笔记:wxPython(GUI图形用户界面)

    wxPython是一套基于Python的第三方GUI插件,可用Python制作丰富的图形化界面程序. 安装:pip install wxPython 或者 网站下载安装https://pypi.org ...

  9. java GUI(图形用户界面)

    GUI Graphical User Interface(图形用户接口). 用图形的方式,来显示计算机操作的界面,这样更方便更直观. CLI Command line User Interface ( ...

随机推荐

  1. [POI2011]Temperature

    Description The Byteotian Institute of Meteorology (BIM) measures the air temperature daily. The mea ...

  2. 洛谷 P3804 【模板】后缀自动机

    来一份模板 #include<cstdio> #include<algorithm> #include<cstring> #include<queue> ...

  3. Oracle函数大全下载

    Oracle函数大全下载 是一个压缩包,里面是一个chm格式的帮助文档,很实用.

  4. SpringMVC的简单传值

    之前学习SpringMVC时感觉他的传值很神奇:简便,快捷,高效. 今天写几个简单的传值与大家分享,希望能对大家有帮助. 一. 从后往前传: (1) @Controller @RequestMappi ...

  5. 百度地图对https的支持

    在使用百度地图时,如果直接使用其提供的js地址,在通过https的方式请求时,是不支持的 <script type="text/javascript" src="h ...

  6. Android开发中使用数据库时出现java.lang.IllegalStateException: Cannot perform this operation because the connection pool has been closed.

    最近在开发一个 App 的时候用到了数据库,可是在使用数据库的时候就出现了一些问题,在我查询表中的一些信息时出现了一下问题: Caused by: java.lang.IllegalStateExce ...

  7. 架构(Architecture)随想

    架构(Architecture)的意义: 先不要看什么是架构,先看下architect是什么,没有错,它是建筑师,在一块空地上build高楼大厦的人,它是一个designer,设计好整个大楼,也是一个 ...

  8. web页面打印--铺满A4

    css <style type="text/css"> body { margin: 0; padding: 0; background-color: #FAFAFA; ...

  9. 怎样在nexus 中 搜索到远程maven仓库中的jar 文件

    怎样在nexus 中 搜索到远程maven仓库中的jar 文件 url: http://www.oschina.net/question/95712_21999 点击Administration菜单下 ...

  10. bash之数组

    Bash 提供索引和联想的一维数组变量.可用作任何变量 索引的数组 :内置的声明将显式声明数组.有没有最大限制 一个数组,也没有要求成员将索引或连续分配的大小.索引的数组 引用使用 (包括算术表达式) ...