1. 需要安装wxPython软件

2.  GUI(图形用户界面)代码的编写顺序

  

  备注:

     1. 加入面板和布局管理器,可以使得组件的位置和大小更加灵活

3. 示例: 

#encoding=utf-8
import wx #open按钮的事件处理函数
def load(event):
try:
myFile = open(filename.GetValue())
contents.SetValue(myFile.read())
dlg = wx.MessageDialog(None, message = "Open Success!", style = wx.OK)
if dlg.ShowModal() == wx.ID_OK:
dlg.Close(True)
dlg.Destroy()
myFile.close()
except IOError, e:
dlg = wx.MessageDialog(None, message = "File not Found!", style = wx.OK)
if dlg.ShowModal() == wx.ID_OK:
dlg.Close(True)
dlg.Destroy() #save按钮的事件处理函数
def save(event):
myFile = open(filename.GetValue(), "w")
myFile.write(contents.GetValue())
myFile.close() #保存成功后添加提示框
dlg = wx.MessageDialog(None, message = "Save Success!", style = wx.OK)
if dlg.ShowModal() == wx.ID_OK:
dlg.Close(True)
dlg.Destroy() #打开GUI应用
app = wx.App() #打开一个窗口
win = wx.Frame(None, title = "Simple Editor") #窗口中加入面板
pl = wx.Panel(win) #将组件放置在面板上
loadButton = wx.Button(pl, label = "Load")
saveButton = wx.Button(pl, label = "Save")
filename = wx.TextCtrl(pl)
contents = wx.TextCtrl(pl, style = wx.TE_MULTILINE | wx.HSCROLL) #按钮绑定事件处理函数
loadButton.Bind(wx.EVT_BUTTON, load)
saveButton.Bind(wx.EVT_BUTTON, save) #设置布局管理器(设置组件的大小和位置)
#水平布局管理器
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.RIGHT | wx.BOTTOM, border = 5) #设置面板的布局管理器
pl.SetSizer(vbox) #显示窗口
win.Show() #启动GUI应用
app.MainLoop()

  运行结果:

  

python_GUI的更多相关文章

  1. Windows下用python编写简单GUI程序的方法

    Python实现GUI简单的来说可以调用Tkinter库,这样一般的需求都可以实现,显示简单的windows窗口代码如下: python_gui.py #!C:\Python27\python.exe ...

  2. 潭州课堂25班:Ph201805201 django 项目 第五课 静态页面转为模板 (课堂笔记)

    一.分析静态页面   1.静态vs动态 条目 静态页面 动态页面 网站内容 固定不变 经常变动 浏览器加载速度 更快(无需向服务器发起请求) 更慢 改变网站内容 很难(修改或者创建新的html页面) ...

  3. Python GUI编程(Tkinter) windows界面开发

    Python实现GUI简单的来说可以调用Tkinter库,这样一般的需求都可以实现,显示简单的windows窗口代码如下: python_gui.py 1 #!C:\Python27\python.e ...

  4. python实用库

    参考:https://github.com/programthink/opensource/blob/master/libs/python.wiki#35_ Python 开源库及示例代码 Table ...

  5. Django项目: 2.模板抽取

    为什么要抽模板,因为这样能够复用代码,减少代码量,需要原代码时就不需要修改,也不需要添加; 如果不同,就只需要单独修改不一样的地方就行  : 多挖坑,少代码,这就是抽模板的精髓,挖坑就是({% blo ...

  6. django项目班笔记-模板抽取

    目录 一.将前端静态文件放置到项目文件目录 二.模板设置 三.将静态文件拖放到项目对应目录 四.检查HTML文件中的应用是否自动更改了 4.1 文件引用没有改变的解决方法 4.2 设置static文件 ...

随机推荐

  1. Setting property 'source' to 'org.eclipse.jst.jee.server

    警告: [SetPropertiesRule] Setting property 'source' to 'org.eclipse.jst.jee.server:project' did not fi ...

  2. Apache Spark源码走读之1 -- Spark论文阅读笔记

    欢迎转载,转载请注明出处,徽沪一郎. 楔子 源码阅读是一件非常容易的事,也是一件非常难的事.容易的是代码就在那里,一打开就可以看到.难的是要通过代码明白作者当初为什么要这样设计,设计之初要解决的主要问 ...

  3. Web 在线文件管理器学习笔记与总结(5)修改文件内容

    ① 读出要修改的文件的内容 ② 进行修改 ③ 将修改后的内容写进文件 index.php: <?php require 'dir.func.php'; require 'file.func.ph ...

  4. select * 所有字段时如何巧妙的使用覆盖索引

    内容从"mysql高性能书籍"  179页摘取 当select * 时.往往使用不到索引..效率不高,因为查询从表中选择所有的列,没有任何索引能覆盖所有的列.不过还是有捷径可以利用 ...

  5. 超实用PHP函数总结整理

    超实用PHP函数总结整理 2014-12-06    分类:WEB开发.编程开发.首页精华暂无人评论     来源:月光光博客 分享到:更多8 1.PHP加密解密 PHP加密和解密函数可以用来加密一些 ...

  6. PHP--进行模块化设计

    PHP--进行模块化设计 [来源] 达内    [编辑] 达内   [时间]2012-10-30 导航模块可以简单列为一个关于三级页面链接的HTML文件.通常你可以通过用另一种颜色来标明对当前区域的链 ...

  7. Yii源码阅读笔记(八)

    前面阅读了Yii2的两个基本类Object和Component,了解了Yii的三个重要概念属性.事件.行为,下面开始阅读Event类,Event类是所有事件类的基类: <?php /** * @ ...

  8. 如何去掉delphi2010的欢迎界面(welcome page)

    如何去掉delphi2010的欢迎界面(welcome page)方法一: 在电脑开始菜单下,找到delphi的快捷菜单,点击该菜单的属性,在“目标”的内容中,最后添加“-np”即可.如:D:\Win ...

  9. java获取类路径

    String file = MessageTask3.class.getResource("").getFile(); File: public static final Stri ...

  10. mysql 5.5 5.6配置日志

    5.5(linux) [mysqld]#loglog-output=FILEgeneral-log #开启普通日志general-log_file = /tmp/mysqllog/gen.log #设 ...