我正在编写一个简单的文本编辑器来获取GUI编程的基础知识。我正在使用wxPython。
当我运行 main.py 时,会弹出一个窗口,其中包含READ和WRITE按钮,READ用于打开和读取文件,WRITE用于编辑文件。这些
wx.Frame
类分别位于 read.py 和 write.py 。
函数k()
工作正常,write.write()
没有错误,但我得到{strong> AttributeError read.read()
,我最初在{{} 1}}。
我将行更改为l()
,并在 read.py 中添加了函数read.start()
,它创建了类start()
的实例,因为我我认为可能它没有执行因为它是一个类,只是为了确定。
仍然,我收到错误: AttributeError:' module'对象没有属性' start'
main.py
read
read.py
import wx
import read
import write
def l(self):
read.start() # getting error
def k(self):
write.write()
app = wx.App()
first = wx.Dialog(None, -1, title='title', size=(200, 100))
panel = wx.Panel(first, -1)
panel.SetBackgroundColour('black')
bt1 = wx.Button(panel, -1, 'READ', size=(100, 100), pos=(1, 1))
bt1.SetBackgroundColour('green')
bt2 = wx.Button(panel, -1, 'WRITE', size=(100, 100), pos=(1, 2))
bt2.SetBackgroundColour('red')
first.Bind(wx.EVT_BUTTON, l, bt1) # when bt1 is clicked, l() is executed
first.Bind(wx.EVT_BUTTON, k, bt2) # when bt2 is clicked, k() is executed
sizer = wx.BoxSizer(wx.HORIZONTAL)
sizer.Add(bt1, 1, wx.ALIGN_CENTRE_VERTICAL)
sizer.Add(bt2, 1, wx.ALIGN_CENTRE_VERTICAL)
panel.SetSizer(sizer)
first.Centre()
first.ShowModal()
app.MainLoop()
write.py
import os
import main
def start():
l = read() # makes instance of class read()
class read(wx.Frame):
blah
答案 0 :(得分:0)
你忘了在read.py中导入wx 添加此导入行后,删除start事件并使用read.read()重试。 第一个读取是文件名,第二个读取点是classname。