python源代码大全gui(python源码之家)

http://www.itjxue.com  2023-02-14 02:07  来源:未知  点击次数: 

关于新python编写GUI的一个小问题:

同样Win7下Python 3.2.2

完全复制你的代码

把所有Tkinter改成tkinter就没问题了

你再试试

(ab.pack(fill=Tkinter.X,expand=True)这句应该是qb而不是ab,我想这个应该是你笔误。)

python 编写gui界面有哪些

安装wxPython

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

wxPython的使用简介

创建应用程序对象:wx.App()

app=wx.App()

app.MainLoop()

窗口/框架:wx.Frame()

win=wx.Frame(None,title='example')

win.Show()

组件

按钮:wx.Button()

关键字label设置标签:

btn=wx.Button(win,label='open')

绑定事件:

btn.Bind(wx.EVT_BUTTON,load)

文本控件:wx.TextCtrl()

关键字style有wx.TE_MULTILINE(垂直滚动条),wx.HSXROLL(水平滚动条):

filename=wx.TextCtrl(win,style=wx.TE_MULTILINE|wx.HSXROLL)

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

filename.GetValue() ? ?filename.SetValue('string')

布局:使用尺寸器(sizer)

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

*背景组件:wx.Panel()

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

尺寸器的构建函数:wx.BoxSizer()

有一个决定它是垂直还是水平的参数(wx.HORIZONTAL水平,wx.VERTICAL垂直),默认为水平。

box=wx.BoxSizer(wx.VERTICAL)

Add方法

proportion参数决定这个组件在剩余空间中的分配比例,flag参数有wx.EXPAND(会确保组件会扩展到分配的空间里),wx.LEFT,wx.RIGHT,wx.TOP,wx.BOTTOM,wx.ALL(这五个决定边框参数会应用到那个边),border参数会确定边框的大小。

完整版的源代码如下:

#coding=utf-8

import wx

#设置函数

def load(event):

?f=open(filename.GetValue(),'r')

?content.SetValue(f.read())

?f.close()

def save(event):

?f=open(filename.GetValue(),'w')

?f.write(content.GetValue())

?f.close()

app=wx.App()

win=wx.Frame(None,title='simple editor',size=(410,330))

bkg=wx.Panel(win)

loadbutton=wx.Button(bkg,label='Open')

loadbutton.Bind(wx.EVT_BUTTON,load)

savebutton=wx.Button(bkg,label='Save')

savebutton.Bind(wx.EVT_BUTTON,save)

filename=wx.TextCtrl(bkg)

content=wx.TextCtrl(bkg,style=wx.TE_MULTILINE|wx.HSCROLL)

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.ALL,border=5)

vbox.Add(content,proportion=1,flag=wx.EXPAND|wx.ALL,border=5)

bkg.SetSizer(vbox)

win.Show()

app.MainLoop()`

如何用python做一个显示文件目录的GUI

我以前写过一个替换exe文件的工具,右侧使用treeCtrl结构显示的目录树(显示py文件所在的目录的文件结构),拖拽文件到左侧,然后会自动替换py文件所在的目录下面的同名文件。你不会用到替换这个功能,但是目录显示已经很完善了。源码如下,由于会使用个别ICON文件(一般ICON使用系统自带的,看下面预览,exe和folder还有未知文件我自定义了一下),运行时请使用压缩包里面的py文件运行。我使用wx2.9写的,2.8估计也可以。欢迎PM。(代码太长了,不让贴 - -)

1

SourceCode.rar大小:7.01K

如何用 Python 写一个带 GUI 的科学计算程序

强烈推荐使用Tk 库,非常简单。 下面是我正在写的界面,可以运行,后台还没处理好。不懂的可以问我。

#!python2??pymol

#coding:?utf-8

from?Tkinter?import?*

from?ttk?import?*

from??math??import?sin,asin,cos,acos?

class?PredictGui(Frame):

????def?__init__(self,parent=None):

????????Frame.__init__(self,parent)

????????self.pack(expand=YES,fill=BOTH)

????????

????????Label(self,text="generate?cccc").pack(side=TOP)

????????

????????centerF=Frame(self)

????????centerF.pack(expand=YES,fill=BOTH)

????????Label(centerF,width=50,text="the?coord?of?the?center").pack(side=LEFT)

????????self.xyz_var=StringVar()

????????Entry(centerF,text=self.xyz_var,width=15).pack(side=LEFT)

????????self.xyz_var.set('0?0?0')

????????

????????

????????radiusF=Frame(self)

????????radiusF.pack(side=TOP,fill=BOTH,expand=YES)

????????Label(radiusF,text="the?radius?of?the?cc",width=50).pack(side=LEFT)

????????self.r_var=DoubleVar()

????????radius_Com=Combobox(radiusF,width=15,textvariable=self.r_var)

????????radius_Com.pack(side=LEFT)

????????radius_Com['values']=(?5.0,10.0,15.0,20.0,?)

????????radius_Com.set('select?radius')

????????radius_Com.bind("ComboboxSelected",self.selectradius)

????????

????????

????????densityF=Frame(self)

????????densityF.pack(expand=YES,fill=BOTH)

????????Label(densityF,text="the?density?is?0-1",width=50).pack(side=LEFT)

????????self.density_var=DoubleVar()

????????Entry(densityF,text=self.density_var,width=15).pack(side=LEFT)

????????

????????

????def?selectradius(event,self):

????????'''

????????'''????????

????????temp=asin(1.0/self.r_var.get())

????????self.density_var.set(temp)

????????

????????

????????

????????

????????

????????

if?__name__?==?'__main__':

????mainW=PredictGui()

????mainW.mainloop()

(责任编辑:IT教学网)

更多

推荐java认证文章