![](/img/trans.png)
[英]AttributeError: 'module' object has no attribute 'PyScrolledWindow' in wxPython
[英]AttributeError: 'module' object has no attribute 'start' (wxPython)
我正在制作一個簡單的文本編輯器,以獲取GUI編程的基礎。 我正在使用wxPython。
當我運行main.py時 ,將彈出一個窗口,其中包含READ和WRITE按鈕,READ用於打開和讀取文件,而WRITE用於編輯文件。 這些的
wx.Frame
類分別位於read.py和write.py中 。
函數k()
可以正常工作, write.write()
沒有錯誤,但是我原來在l()
擁有read.read()
得到了AttributeError 。
我將行更改為read.start()
,並在read.py中添加了函數start()
,該函數使該類的實例變為 read
,因為我認為可能因為它是一個類而沒有執行,只是為了確定。
不過,我仍然收到錯誤: AttributeError:'模塊'對象沒有屬性'開始'
main.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()
read.py
import os
import main
def start():
l = read() # makes instance of class read()
class read(wx.Frame):
blah
write.py
import wx
import os
import main
class write(wx.Frame): # there is no start function, but still works
bleh
您忘記了在read.py中導入wx。
添加此導入行后,請刪除開始內容,然后使用read.read()再試一次。 第一次讀取是文件名,點之后的第二次讀取是類名。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.