python_GUI
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的更多相关文章
- Windows下用python编写简单GUI程序的方法
Python实现GUI简单的来说可以调用Tkinter库,这样一般的需求都可以实现,显示简单的windows窗口代码如下: python_gui.py #!C:\Python27\python.exe ...
- 潭州课堂25班:Ph201805201 django 项目 第五课 静态页面转为模板 (课堂笔记)
一.分析静态页面 1.静态vs动态 条目 静态页面 动态页面 网站内容 固定不变 经常变动 浏览器加载速度 更快(无需向服务器发起请求) 更慢 改变网站内容 很难(修改或者创建新的html页面) ...
- Python GUI编程(Tkinter) windows界面开发
Python实现GUI简单的来说可以调用Tkinter库,这样一般的需求都可以实现,显示简单的windows窗口代码如下: python_gui.py 1 #!C:\Python27\python.e ...
- python实用库
参考:https://github.com/programthink/opensource/blob/master/libs/python.wiki#35_ Python 开源库及示例代码 Table ...
- Django项目: 2.模板抽取
为什么要抽模板,因为这样能够复用代码,减少代码量,需要原代码时就不需要修改,也不需要添加; 如果不同,就只需要单独修改不一样的地方就行 : 多挖坑,少代码,这就是抽模板的精髓,挖坑就是({% blo ...
- django项目班笔记-模板抽取
目录 一.将前端静态文件放置到项目文件目录 二.模板设置 三.将静态文件拖放到项目对应目录 四.检查HTML文件中的应用是否自动更改了 4.1 文件引用没有改变的解决方法 4.2 设置static文件 ...
随机推荐
- visio studio2008 删除最近的项目
visio studio2008 删除最近的项目 创建move.bat: @echo off @REG Delete HKCU\Software\Microsoft\VisualStudio\9.0 ...
- AMD PerfStudio
用PerfStudio 抓DX11 OIT
- placeholder属性实现text标签默认值提示用户
<input type="text" class="searchTxt" id=this.id+"-searchTxt" placeh ...
- Bootstrap页面布局19 - BS提示信息
提示信息的设计 提示信息的类: .alert:提示信息类 .alert alert-danger: .alert alert-error: .alert alert-success: .alert a ...
- maven库文件所在目录
C:\Documents and Settings\jgzhang2\.m2\repository
- Write Cache-friendly Code
Computer Systems A Programmer's Perspective Second Edition In Section 6.2, we introduced the idea of ...
- java new synchronized
java provides the synchronized keyword for synchronizing thread access to critical sections. Because ...
- SQL查询的几种方式
/* 左连接 left join 或者 left outer join */ /* 左连接 Table_A表数据全部显示,Table_B根据条件匹配Table_A 匹配上显示,否则显示NULL */ ...
- Android源码剖析之Framework层基础版(窗口、linux、token、Binder)
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 关于Framework,就是应用层底下的控制层,离应用层最近,总想找个机会,写写WindowMang ...
- 分布式集群中,设定时间同步服务器,以及ntpd与ntpdate的区别
什么时候配置时间同步? 当分布式集群配置好了以后,马上配置的是SSH无密钥配置,然后就是配置时间同步. 时间同步在集群中特别重要. 一:时间同步 1.时间同步 集群中必须有一个统一的时间 如果是内网, ...