python之GUI图形用户界面 2014-4-7
#图形用户界面
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的更多相关文章
- 黑马程序员_<<GUI(图形用户界面)--------1>>
--------------------ASP.Net+Android+IOS开发..Net培训.期待与您交流! -------------------- 1. GUI图形用户界面 1.简述 Gra ...
- java第八节 GUI/图形用户界面
/* *第8讲 GUI/图形用户界面 * AWT的基础知识 * GUI全称是Graphical User Interface,即图形用户界面 * JDK中提供了AWT和Swing两个包,用于GUI程序 ...
- python学习笔记(十 一)、GUI图形用户界面
python图形用户界面就是包含按钮.输入框.选择框等组件的窗口.主要依赖与工具包进行代码编写.python GUI工具包并发互斥的,你可以选择多个工具包进行安装,有极大选择空间.每个工具包都有不同用 ...
- GUI(图形用户界面)
一.GUI(图形用户界面) GUI Graphical User Interface(图形用户接口) 用图形的方式,来显示计算机操作的界面,这样更方便更直观 CLI Command line User ...
- GUI 图形用户界面 [学习笔记]
今晚返璞归真了一把, 系统了解了一下GUI的有关知识: GUI(Graphical User Interface) 图形用户界面 是指采用图形方式显示的计算机操作用户接口.与早期计算机使用的命令行界面 ...
- R python在无图形用户界面时保存图片
在用python的matplotlib,和R中自带的作图,如果想保存图片时,当你有图形用户界面时是没有问题的,但是当没有图形用户界面时,会报错: 在R中,解决办法: https://blog.csdn ...
- linux系统中firewalld防火墙管理工具firewall-config(GUI图形用户界面)
firewall-config是firewalld防火墙管理工具的GUI(图形用户界面)版本,几乎可以实现所有以命令行来执行的操作. firewall-config的界面如下图(在终端直接运行fire ...
- Python学习笔记:wxPython(GUI图形用户界面)
wxPython是一套基于Python的第三方GUI插件,可用Python制作丰富的图形化界面程序. 安装:pip install wxPython 或者 网站下载安装https://pypi.org ...
- java GUI(图形用户界面)
GUI Graphical User Interface(图形用户接口). 用图形的方式,来显示计算机操作的界面,这样更方便更直观. CLI Command line User Interface ( ...
随机推荐
- 转-MAC 下安装PHONEGAP开发环境
来自:http://jinzhe.net/post/8.html 什么是Phonegap呢?Phonegap是一个利用HTML5去开发App的框架.可以为安卓.iOS.WP.黑莓.火狐等移动操作系统. ...
- [转]无废话SharePoint入门教程一[SharePoint概述]
本文转自:http://www.cnblogs.com/iamlilinfeng/p/3026332.html 一.前言 听说SharePoint也有一段时间了,可一直处在门外.最近被调到ShareP ...
- net start iisadmin报错:系统找不到指定的文件
IIS Admin Service不能启动 ,直接启动或命令(net start iisadmin)都不成功.导致IIS站点访问异常. 最终参考网上解决方案: 这是大多是由于windows\syste ...
- 关于docker入门教程
简介:docker入门教程 docker入门教程翻译自docker官方网站的Docker getting started 教程,官方网站:https://docs.docker.com/linux/s ...
- php接收json格式数据(text/xml)
在API服务中,目前流行采用json形式来交互. 给前端调用的接口输出Json数据,这个比较简单,只需要组织好数据,用json_encode($array) 转化一下,前端就得到json格式的数据. ...
- Android 计算view 的高度
上午在做一个QuickAction里嵌套一个ListView,在Demo运行没事,结果引入到我的项目里,发现我先让它在Button上面,结果是无视那个Button的高度,这很明显,就是那个Button ...
- 认识MySQL Replication
MySQL Replication 是 MySQL 非常有特色的一个功能,他能够将一个 MySQL Server 的 Instance 中的数据完整的复制到另外一个 MySQL Server 的 In ...
- swift 与 NSObject
以NSObject为基类,只是为了提供Objective-C API的使用入口: 经由@object修改的对象,是这些api的参量. NSObject是swift与oc特有机制沟通的桥梁. Subcl ...
- Java SE、Java EE、Java ME 三者区别
现在一个个来分析 1. Java SE(Java Platform,Standard Edition).Java SE 以前称为 J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 ...
- CAD绘制固定圆形标注(网页版)
js中实现代码说明: function DoFixCircleComment() { var ent = mxOcx.DrawCustomEntity("TestMxCustomEntity ...