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文件 ...
随机推荐
- Windows中杀死占用某个端口的进程
Windows中杀死占用某个端口的进程 netstat -ano | findstr //列出进程极其占用的端口,且包含 80 tasklist | findstr taskkill -PID < ...
- VC++6.0 显示行号
通过VC6LineNumberAddin能够解决这个问题,方法如下. 一.下载该文件. 网上很多免费的. 二.使用方法: [1]:打开VC++6.0,点击菜单“工具(Tools) ...
- ThinkPHP 学习笔记 ( 五 ) 数据验证
根据官网的教程 ( http://www.thinkphp.cn/info/171.html ),数据验证的使用静态定义方式 ( 以 regex 为例 ) 无法验证数据: 而采用动态验证则正常: 控制 ...
- sortedArrayUsingComparator
/* 升序.降序 */ NSArray * array41 = @[@,@,@,@,@,@,@]; NSArray * array42 = [[NSArray alloc]init]; array42 ...
- win7硬盘安装ubuntu双系统——注意项
WIN7 下硬盘安装ubuntu 12.04 博客分类: ubuntu 仅为网络上的资料整理 资料引用:http://www.ctocio.com.cn/35/12325035.shtml htt ...
- 【IOS笔记】Gesture Recognizers
Gesture Recognizers Gesture recognizers convert low-level event handling code into higher-level acti ...
- subclipse安装后从svn资源库视图check out的资源无法创建server
不要从根目录下check out,只要把根目录下所需要的项目check out即可.
- cPanel设置自定义404错误页
利用这个cpanel的错误页工具,你就可以定制错误页面了.设置自定义404错误页,有两种简单的方法. 一,利用cpanel后台控制面板添加设置404自定义错误页的方法 步骤 1.登录cPa ...
- aspx页面Page_Load和aspx页面上控件Page_Load事件执行顺序
今天公司的同事问了我一个问题,就是页面的Load方法和控件上的Load方法执行顺序的问题,看完了这个图片的递归调用之后大家就笑了,吼吼.
- <q>标签,短文本引用;<blockquote>标签,长文本引用
<q>标签,短文本引用 <q>引用文本</q>,默认显示双引号,不需要在文本中添加 <blockquote>标签,长文本引用 浏览器对<block ...