簡體   English   中英

AttributeError:'模塊'對象沒有屬性'開始'(wxPython)

[英]AttributeError: 'module' object has no attribute 'start' (wxPython)

我正在制作一個簡單的文本編輯器,以獲取GUI編程的基礎。 我正在使用wxPython。

當我運行main.py時 ,將彈出一個窗口,其中包含READ和WRITE按鈕,READ用於打開和讀取文件,而WRITE用於編輯文件。 這些的wx.Frame類分別位於read.pywrite.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM