1。做一个图形界面的小程序,已完成,见文件squaresTEM.py
2。在另上个程序中调用squaresTEM.py
我是这样处理的,先前有前辈指导我说将被调用的文件写成函数的形式,于是我将squaresTEM.py改写成了squares.py中的内容,并在menu.py中调用squares.py,但是没有成功,请问是什么原因,我找不到错误所在,python里也没有报错。
我已将相应文件上传,愿意的话请大家帮我看看,谢谢
为了方便大家阅读,我将文件中的内容贴出:
squaresTEM.py中内容如下:
代码: 全选
#/usr/bin/env python
#coding=utf-8
import wx
import math
#def calc():
class myframe(wx.Frame):
def __init__(self):
wx.Frame.__init__(self,None,-1,'方板质量计算')
panel=wx.Panel(self)
wx.StaticText(panel,-1,'请输入钢板的长度:',pos=(50,50))
wx.StaticText(panel,-1,'请输入钢板的宽度:',pos=(50,100))
wx.StaticText(panel,-1,'请输入钢板的高度:',pos=(50,150))
self.text1=wx.TextCtrl(panel,-1,'',pos=(160,45))
self.text2=wx.TextCtrl(panel,-1,'',pos=(160,95))
self.text3=wx.TextCtrl(panel,-1,'',pos=(160,145))
self.text4=wx.TextCtrl(panel,-1,'',pos=(200,250))
# textvalue1=text1.GetStringSelection()
self.button=wx.Button(panel,-1,'计算',pos=(100,245))
self.Bind(wx.EVT_BUTTON,self.calcu,self.button)
def calcu(self,event):
length=float(self.text1.GetValue())
width=float(self.text2.GetValue())
height=float(self.text3.GetValue())
density=7850
ans=length*width*height*7850/pow(10,9)
self.text4.SetValue(`ans`)
if __name__=='__main__':
myapp=wx.PySimpleApp()
frame=myframe()
frame.Show()
myapp.MainLoop()
代码: 全选
#/usr/bin/env python
#coding=utf-8
def calc():
import wx
import math
#def calc():
class myframe(wx.Frame):
def __init__(self):
wx.Frame.__init__(self,None,-1,'方板质量计算')
panel=wx.Panel(self)
wx.StaticText(panel,-1,'请输入钢板的长度:',pos=(50,50))
wx.StaticText(panel,-1,'请输入钢板的宽度:',pos=(50,100))
wx.StaticText(panel,-1,'请输入钢板的高度:',pos=(50,150))
self.text1=wx.TextCtrl(panel,-1,'',pos=(160,45))
self.text2=wx.TextCtrl(panel,-1,'',pos=(160,95))
self.text3=wx.TextCtrl(panel,-1,'',pos=(160,145))
self.text4=wx.TextCtrl(panel,-1,'',pos=(200,250))
# textvalue1=text1.GetStringSelection()
self.button=wx.Button(panel,-1,'计算',pos=(100,245))
self.Bind(wx.EVT_BUTTON,self.calcu,self.button)
def calcu(self,event):
length=float(self.text1.GetValue())
width=float(self.text2.GetValue())
height=float(self.text3.GetValue())
density=7850
ans=length*width*height*7850/pow(10,9)
self.text4.SetValue(`ans`)
if __name__=='__main__':
myapp=wx.PySimpleApp()
frame=myframe()
frame.Show()
myapp.MainLoop()
代码: 全选
#/usr/bin/env python
#coding=utf-8
import wx
import squares
class myframe(wx.Frame):
def __init__(self):
wx.Frame.__init__(self,None,-1,'计算软件')
panel=wx.Panel(self)
mymenubar=wx.MenuBar()
mymenu1=wx.Menu()
mymenu2=wx.Menu()
myexit=mymenu1.Append(wx.NewId(),'&退出')
item1=mymenu2.Append(-1,'方板质量')
mymenu2.Append(-1,'圆板质量')
mymenu2.Append(-1,'钢管')
mymenu2.Append(-1,'材料下偏差')
mymenu2.Append(-1,'安全阀最小口径')
mymenubar.Append(mymenu1,'文件')
mymenubar.Append(mymenu2,'计算')
self.SetMenuBar(mymenubar)
self.Bind(wx.EVT_MENU,self.exit,myexit)
self.Bind(wx.EVT_MENU,self.squ,item1)
def squ(self,event):
squares.calc()
def exit(self,event):
self.Close(True)
if __name__=='__main__':
myapp=wx.PySimpleApp()
frame=myframe()
frame.Show()
myapp.MainLoop()