python 编写gui界面有哪些

python 编写gui界面有哪些,第1张

安装wxPython

下面是wxPython特别基础的使用方法,将以一个小程序为例来说明,它的功能是在一个文本框中输入文件名,点击open按钮,会在另一个文本框中显示其内容,可以进行修改,点击save可以保存修改。

wxPython的使用简介

创建应用程序对象:wxApp()

app=wxApp()

appMainLoop()

窗口/框架:wxFrame()

win=wxFrame(None,title='example')

winShow()

组件

按钮:wxButton()

关键字label设置标签:

btn=wxButton(win,label='open')

绑定事件:

btnBind(wxEVT_BUTTON,load)

文本控件:wxTextCtrl()

关键字style有wxTE_MULTILINE(垂直滚动条),wxHSXROLL(水平滚动条):

filename=wxTextCtrl(win,style=wxTE_MULTILINE|wxHSXROLL)

同时我们可以在读取或者写入其内容:

filenameGetValue()    filenameSetValue('string')

布局:使用尺寸器(sizer)

wxBoxSizer的原理是创建一个箱子一样的东西,只能横着或者竖着放组件,一个一个的加进去,除了基本大小外其余空间按比例分配。加完一行行的箱子后,创建一个竖着的箱子,将这些横着的箱子(也可以是其他组件)加进去。

背景组件:wxPanel()

以窗口为参数构建,所有的组件依附其上,在设置完尺寸器后,使用bkgSetSizer(box)

尺寸器的构建函数:wxBoxSizer()

有一个决定它是垂直还是水平的参数(wxHORIZONTAL水平,wxVERTICAL垂直),默认为水平。

box=wxBoxSizer(wxVERTICAL)

Add方法

proportion参数决定这个组件在剩余空间中的分配比例,flag参数有wxEXPAND(会确保组件会扩展到分配的空间里),wxLEFT,wxRIGHT,wxTOP,wxBOTTOM,wxALL(这五个决定边框参数会应用到那个边),border参数会确定边框的大小。

完整版的源代码如下:

#coding=utf-8

import wx

#设置函数

def load(event):

 f=open(filenameGetValue(),'r')

 contentSetValue(fread())

 fclose()

def save(event):

 f=open(filenameGetValue(),'w')

 fwrite(contentGetValue())

 fclose()

app=wxApp()

win=wxFrame(None,title='simple editor',size=(410,330))

bkg=wxPanel(win)

loadbutton=wxButton(bkg,label='Open')

loadbuttonBind(wxEVT_BUTTON,load)

savebutton=wxButton(bkg,label='Save')

savebuttonBind(wxEVT_BUTTON,save)

filename=wxTextCtrl(bkg)

content=wxTextCtrl(bkg,style=wxTE_MULTILINE|wxHSCROLL)

hbox=wxBoxSizer()

hboxAdd(filename,proportion=1,flag=wxEXPAND)

hboxAdd(loadbutton,proportion=0,flag=wxLEFT,border=5)

hboxAdd(savebutton,proportion=0,flag=wxLEFT,border=5)

vbox=wxBoxSizer(wxVERTICAL)

vboxAdd(hbox,proportion=0,flag=wxALL,border=5)

vboxAdd(content,proportion=1,flag=wxEXPAND|wxALL,border=5)

bkgSetSizer(vbox)

winShow()

appMainLoop()`

selfpanel = wxPanel()是把panel的对象赋值给一个成员变量, panel = wxPanel() 是把panel对象赋值给一个临时局部变量,一般当你需要在类其它地方需要使用你创建的panel时,比如panelxxx方法,就用self方便,不然你如何获取指定的panel对象呢。。。否则用panel就好了。

以上就是关于python 编写gui界面有哪些全部的内容,包括:python 编写gui界面有哪些、如何使用wxpython在panel上画图、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9747078.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存