wxPython编写界面程序的基本流程:

1、import wx   #导入wxPython的包

2、class App(wx.App)   #子类化一个应用程序类

3、def onInit(self)  #定义应用程序类的初始化方法

4、app = App() #实例化一个应用程序类

5、app.MainLoop()  #进入这个应用程序的主事件循环

下面是一个例子:

import wx     #——对应第一步

class App(wx.App):          #——对应第二步

def OnInit(self):    #——对应第三步

frame = wx.Frame(parent = None, id = -1, title = 'Bare')

frame.Show()    #默认参数为True,即frame.Show(True)

return True     #这里一定要写return,否则就会一闪而过;return False的话会一闪而过,然后提示退出;因此要能够自主关闭,看到程序框架的话,必须得return True

app = App()              #——对应第四步

app.MainLoop()       #——对应第五步

下面是一个实例(python基础教程第二版12章),但是不是以class的面向对象的形式来展现的,基本涵盖了一个可响应的活的应用程序的几个组成部分:

1、导入wxPython的包

2、定义一会需要用到的响应函数load和save

3、实例化一个应用程序类:如果app =wx.App()不生效或者有问题的话,可以使用app = wx.PySimpleApp()语句

4、定义frame

5、定义panel,将所需要的按钮、文本框等放到panel中

6、智能布局:使用BoxSizer() ,采用相对布局,将布局纳入到panel中

7、定义响应绑定事件(使用wxPython本身的响应函数,将具体需要操作的事件定义在事件函数中,绑定后即可通过相应操作,做出需要的响应)

8、show出Frame

9、进入app应用程序的主事件循环

 # -*-coding:gb2312-*-

 #Function:第12章-图形用户界面,写一个记事本的简化程序
#Author:LiXia
#Version:V 1.0.0.1 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.GetValue())
file.close() app = wx.App()
win = wx.Frame(None, id = -1, title = 'Simple Editor', size = (410, 335)) bkg = wx.Panel(win) loadButton = wx.Button(bkg, label = 'Open')
loadButton.Bind(wx.EVT_BUTTON, load) saveButton = wx.Button(bkg, label = 'Save')
saveButton.Bind(wx.EVT_BUTTON, save) 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(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.LEFT|wx.Bottom|wx.RIGHT, border = 5) bkg.SetSizer(vbox)
win.Show() app.MainLoop()

GUI界面操作-实现简单的记事本的更多相关文章

  1. 简单的Python GUI界面框架

    Python开发GUI界面, 可以使用pyQT或者wxpython. 不过不论pyQT还是wxpython都需要比较多的学习成本.Python工程往往是用于快速开发的,有些时候引入pyQT,wxpyt ...

  2. 【Visual C++】游戏开发五十六 浅墨DirectX教程二十三 打造游戏GUI界面(一)

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/16384009 作者:毛星云 ...

  3. selenium2支持无界面操作(HtmlUnit和PhantomJs)

    selenium2支持无界面操作(HtmlUnit和PhantomJs) selenium2支持通过各种driver(FirfoxDriver,IternetExplorerDriver,OperaD ...

  4. SQL Server 扩展事件(Extented Events)从入门到进阶(3)——通过界面操作Extented Event

    本文属于 SQL Server扩展事件(Extended Events)从入门到进阶 系列 对于接纳扩展事件,其中一个最大的障碍就是要对XML和XQuery有一定的了解以便分析数据.我们可以使用T-S ...

  5. Python结合SAP GUI Script操作sap的简易教程

    众所周知,如果要用Python做一些桌面WIN32应用的自动化工作,就需要用到著名的pywin32尤其是其中的win32com.client模块,pywin32的安装不能直接通过pip install ...

  6. OpenCV-Python入门教程7-PyQt编写GUI界面

    前面一直都是使用命令行运行代码,不够人性化.这篇用Python编写一个GUI界面,使用PyQt5编写图像处理程序.包括:打开.关闭摄像头,捕获图片,读取本地图片,灰度化和Otsu自动阈值分割的功能. ...

  7. 嵌入式系统WinCE下应用程序GUI界面开发【转】

    嵌入式系统WinCE下应用程序GUI界面开发 ByToradex 秦海 本文旨在介绍嵌入式系统在Wince下进行GUI应用程序开发可以选择的不同GUI开发框架(Framework),目前最常用的几种方 ...

  8. python实现的、带GUI界面电影票房数据可视化程序

    代码地址如下:http://www.demodashi.com/demo/14588.html 详细说明: Tushare是一个免费.开源的python财经数据接口包.主要实现对股票等金融数据从数据采 ...

  9. JAVA 运用流编程实现简单的"记事本"功能

    一.概要 1.功能介绍 2.实现的思路及步骤代码 3.完整代码 二.功能 运用IO流和Swing实现简单的记事本功能(打开.保存.退出) 三.思路及实现步骤 1.在构造函数中画出操作界面 //创建jt ...

随机推荐

  1. 机器学习进阶-边缘检测-Canny边缘检测 1.cv2.Canny(进行Canny边缘检测)

    1. cv2.Canny(src, thresh1, thresh2) 进行canny边缘检测 参数说明: src表示输入的图片, thresh1表示最小阈值,thresh2表示最大阈值,用于进一步删 ...

  2. day26-保护属性

    如果有一个对象,当需要对其进行修改属性时,有2种方法 1.对象名.属性名 = 数据 --->直接修改 2.对象名.方法名() --->间接修改 为了更好的保护属性安全,即不能随意修改,一般 ...

  3. Spring boot 配置嵌入式Servlet容器

    SpringBoot默认使用Tomcat作为嵌入式的Servlet容器 1.修改和server有关的配置(ServerProperties[也是EmbeddedServletContainerCust ...

  4. 18_使用react脚手架构建应用

    一.什么是脚手架 1.脚手架:用来帮助程序员快速创建一个基于xxx项目的模板仓库(可以理解为网上的大神写好了基础模板直接下载无需自己配置) 1)包含了所有需要的配置 2)指定好了所有依赖 3)可以直接 ...

  5. python 之列表推导式,集合推导式,以及字典推导式

    https://www.cnblogs.com/weihengblog/p/8428124.html

  6. git 配置提交过滤文件

    1)在Git项目中定义.gitignore文件 2)在Git项目的设置中指定排除文件 3)定义Git全局的 .gitignore 文件

  7. Warning:Configuration 'compile' is obsolete and has been replaced with 'implementation'. It will be

    1.替换 compile为implementation. 2.file->invalidate caches 或者build中的clear

  8. vue ...mapMutations 的第一个参数默认为 数据对象state

    1.实现回调后 路由的跳转 mutationsLoginHeaderBackFun(state,$router) { console.log(state); console.log($router); ...

  9. U3D中可以直接使用GL!!!

    https://blog.csdn.net/u013172864/article/details/78860624

  10. C++指针理解

    指针是C/C++编程中的重要概念之一,也是最容易产生困惑并导致程序出错的问题之一.利用指针编程可以表示各种数据结构,通过指针可使用主调函数和被调函数之间共享变量或数据结构,便于实现双向数据通讯:指针能 ...