python写GUI

图形用户界面

本文利用wxpython

wx包中的方法都是以大写的字幕开头

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, title = "Simple Editor", size = (410, 335))
bkg = wx.Panel(win)

loadBtn = wx.Button(bkg, label = "Open")
loadBtn.Bind(wx.EVT_BUTTON, load)# 按钮绑定函数

saveBtn = wx.Button(bkg, label = "Save")
saveBtn.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(loadBtn, proportion = 0, flag = wx.LEFT, border = 5)
hbox.Add(saveBtn, 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()

  

wx.BoxSizer参数默认为水平,wx.VERTICAL是垂直。

flag参数类似于style。wx.EXPAND标记组件会扩展到所分配的空间。wx.LEFT、wx.RIGHT、wx.TOP、wx.BOTTOM、wx.ALL对应于哪个边。

proportion参数根据窗口改变大小时所分配的空间比例。

原文地址:https://www.cnblogs.com/lichunl/p/9463972.html

时间: 2024-08-28 08:59:44

python写GUI的相关文章

关于python写GUI桌面应用的一些研究结果

研究了一下python开发GUI桌面应用的解决方案,研究结果记录如下: EasyGui:控件极为简单,连个基本的grid.list组件都没有,不适合商用,甚至是普通的应用都不行,放弃! Tkinter:api文档都不全,没啥资料可查,而且最后一次更新于09年,谁敢用? 放弃! wxPython:更新到是挺勤,文档也全,不过老版本不支持py3,放弃,新版本项目名字已经改叫wxPython Phoenix了,虽然作者说已经很稳健.很多人在用了,不过它目前还是测试版本,商用的同学慎重! PyQt:是真

python 写的http后台弱口令爆破工具

# -*- coding: utf-8 -*- # 利用python 写的多线程爆破后台用户名+密码(自备字典),比较实用,即使是在信息安全这么重视的今天,还是有人不加验证码或者异常访问限制之类的登陆验证方式,这样就很# 容易被弱口令爆破工具拿下,(本代码仅限学习实用,禁止进行web攻击,不承担法律责任) import urllib2 import urllib import httplib import threading headers = {"Content-Type":&quo

作业1+2.四则运算(改进后完整版,用python写的)_064121陶源

概述: 用一个星期加上五一的三天假期自学了python,在Mac系统上重新写出了四则运算的程序,编译器是PyCharm,相当于完成了作业2.d)"选一个你从来没有学过的编程语言,试一试实现基本功能"这个方向. 用python写的这个程序能实现分数的加减程序,实现带加减乘除和括号的计算题,实现随机生成100道简单计算题,比之前用C++写的程序功能更加完善,更加简洁! 关键点: 调用两个模板. 1)类似C++和Java,格式是 对象.方法(),Fraction()方法,能直接表示分数. 2

python 写 txt

python写txt,之前写过jason的,和写txt有点区别,记录下. import os def touch(path): u = '12' u1= '34' with open(path, 'w') as f: f.write(u) f.write('\t') f.write(u1) #os.utime(path, None) path = "creativeFile.txt" touch(path) 1.打开的模式有几种(转自http://blog.csdn.net/adupt

要继续看Python写算法的内容请到那里去

因为在这里发文章的时候,莫名其妙的出现发布出去的问题,客服告知是因为链接或者敏感词. 能不能告诉我哪里出了问题?我可以修改,以便再发. 但是,没有人告诉我,只是告诉我不能发. 另外,能不能公布一下敏感词?以后我在遣词造句的时候,才可以避免. 但是,没有看到敏感词列表. 以后我的文章将发布在https://www.github.com/qiwsir/algorithm里面,有兴趣的可以到那里阅读. 要继续看Python写算法的内容请到那里去,布布扣,bubuko.com

用Python写猜年龄游戏

菜鸟的第一个程序:用python写猜年龄,0基础写起来真他娘的累,一个简单的程序写了几个小时,终于马马虎虎写好了. 许多刚入行的新手们经常问有什么捷径能快速学会写代码?答案是没有的,只有一个字:练! #!/usr/bin/env python # Author:William Huang my_age = 29 # 先设定好正确的答案 count = 0 # 设定好计数器 while True: count += 1 # 计数器自加1 if count <= 3: # 设定次数,小于等于3次 u

如何Python写一个安卓APP

前言:用Python写安卓APP肯定不是最好的选择,但是肯定是一个很偷懒的选择,而且实在不想学习Java,再者,就编程而言已经会的就Python与Golang(注:Python,Golang水平都一般),那么久Google了一下Python写安卓的APP的可能性,还真行. 既然要写个APP,那么总得要有个想法吧. 其实笔者想做两个APP来着,一个是自己写着好玩的,一个是关于运维的. 关于运维的APP,设计应该如下 可能长这样 然后设计应该是这样. 如果觉得可行的话,评论留言一下你觉得应该写进这个

用python写MapReduce函数

尽管Hadoop框架是用java写的,但是Hadoop程序不限于java,可以用python.C++.ruby等.本例子中直接用python写一个MapReduce实例,而不是用Jython把python代码转化成jar文件. 例子的目的是统计输入文件的单词的词频. 输入:文本文件 输出:文本(每行包括单词和单词的词频,两者之间用'\t'隔开) 1. Python MapReduce 代码 使用python写MapReduce的"诀窍"是利用Hadoop流的API,通过STDIN(标准

Python写的Web spider(网络爬虫)

Python写的Web spider: <span style="font-size:14px;"># web spider # author vince 2015/7/29 import urllib2 import re # get href content pattern = '<a(?:\\s+.+?)*?\\s+href=\"([h]{1}[^\"]*?)\"' t = set("") # collectio