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 ( ...
随机推荐
- [Usaco2017 Open]Modern Art 2
Description Having become bored with standard 2-dimensional artwork (and also frustrated at others c ...
- K - KazaQ’s Socks
Bryce1010模板 #include <bits/stdc++.h> using namespace std; #define LL long long int main() { LL ...
- magento 添加事件
首先是配置文件config.xml里的配置 <checkout_cart_save_after> /*事件名字*/ <observers> <deal> /*模块名 ...
- Android最简单的实例 :环境搭建及HelloWorld
Android开发之旅:环境搭建及HelloWorld 2010-04-12 00:45 by 吴秦, 883961 阅读, 140 评论, 收藏, 编辑 ——工欲善其事必先利其器 引言 本系列适合 ...
- 启动Windows PowerShell ISE
Windows Server 2008 R2 环境下,启动PoserShell ISE方法: 方法1:在cmd.exe控制台或运行框中,输入 powershell_ise.exe 执行即可. 方法2: ...
- form表单ajaxSubmit提交并验证
html: <form class="register-form" action="{:U('')}" method="post"&g ...
- 解决okHttp使用https抛出stream was reset: PROTOCOL_ERROR的问题
昨天在做Android接口调用的时候,api接口是https的,用okhttp抛出: okhttp3.internal.http2.StreamResetException: stream was r ...
- js实现元素水平垂直居中
之前有写过css/css3实现元素的水平和垂直居中的几种方法点我,但是css3属性不是所有浏览器都能兼容的,今天写下js实现未知宽高的元素的水平和垂直居中. <!DOCTYPE html> ...
- pandas 选择某几列
转自:https://blog.csdn.net/aaa_aaa1sdf/article/details/77414387 col_n = ['名称','收盘价','日期'] a = pd.DataF ...
- Android一句代码给Activity定制标题栏
在此之前,使用过几种方法设置标题栏: 1.常规法:这个方法是最常用的了,哪个activity需要什么样的标题栏,就在对应的xml布局设计.缺点:此方法维护起来困难,没有将标题栏的共性抽取出来, 如果要 ...