#图形用户界面
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. jquery各种选择器示例

    $("#itemExpressionHidden>b:last")   选择id为itemExpressionHidden中的最后一个b标签 $("#itemExp ...

  2. JDK11源码分析之集合类(一)----HashMap

    一,首先需要拉取JDK11源码: 方便起见我给出芋道源码作者已经拉取好的openJDK11的GitHub地址只需要fork一下克隆到本地导入IDEA中就可以对源码分析了: https://github ...

  3. 读《实战 GUI 产品的自动化测试》之:第四步,高阶技巧

    转自:http://www.ibm.com/developerworks/cn/rational/r-cn-guiautotesting4/ 定义测试控件库 本系列前几篇文章对 IBM 框架做了介绍, ...

  4. idea 调试工具的使用

    原文:https://blog.csdn.net/hao_hl1314/article/details/53120918 Intellij IDEA Debug调试区工具的使用方法 快捷键F9     ...

  5. R Programming week2 Control Structures

    Control Structures Control structures in R allow you to control the flow of execution of the program ...

  6. Protostuff序列化和反序列化

    序列化和反序列化是在应对网络编程最常遇到的问题之一. 序列化就是将Java Object转成byte[]:反序列化就是将byte[]转成Java Object. 这里不介绍JDK serializab ...

  7. Katalon Studio(二) 进阶战の Jenkins集成 analytics.katalon 集成

    本教程只针对Katalon Studio 与CI工具之一Jenkins的集成与脚本集的测试报告可视化简单操作. 1.新建一个job 2.新建一个自由风格的job 3.构建触发器 4.构建Windows ...

  8. Farseer.net轻量级ORM开源框架说明及链接索引

    项目简介 基于.net framework 4 开发. 基于Lambda表达式快速上手的ORM框架. 参考Entity Framework的调用方式. 基于Database First模式. POCO ...

  9. OpenGL VAO, VBO 使用简介

    参照代码样例: // This function takes in a vertex, color, index and type array // And does the initializati ...

  10. CAD绘制固定矩形标注(网页版)

    js中实现代码说明: function DoFixRectComment() { var ent = mxOcx.DrawCustomEntity("TestMxCustomEntity&q ...