1
我正在創建一個簡單的啓動/停止HTTP服務器Python應用程序的方法,而且我現在有下面的類設置:OOP:致電類處理程序創建對象
#The Tkinter interface for the application
class Application():
def __init__(self,win):
self.serverThread=ServerThread()
self.output=Tkinter.Text(win)
self.output.pack()
#The Server Thread
class ServerThread():
class ServerHandler(BaseHTTPServer.BaseHTTPRequestHandler):
def log_message(msg):
//here's where I'm confused
def __init__(self):
self.server=BaseHTTPServer.HTTPServer(('',8000),self.ServerHandler)
什麼是正確的如何在不使用全局輸出變量的情況下從ServerHandler類的應用程序的輸出字段添加文本? ServerHandler是否還有對創建它的ServerThread對象的引用?
編輯:我想我真正在尋找的是這樣的:我如何讓ServerHandler作爲一個類傳遞給BaseHTTPServer.HTTPServer--知道不使用全局變量創建的ServerThread和Application對象?
目前還不清楚'ServerThread'類是如何工作的。 'self'不會在類聲明中定義。你的意思是把它放在'__init__'方法中嗎? – 2012-07-07 00:28:57
我做過了,在我的代碼中有這種方式,只是刪除了太多的問題。我有代碼工作與文本字段的全局輸出引用,但我寧願不必這樣做,如果有某種方式我可以將引用傳遞給ServerThread對象或應用程序對象的處理程序。 – 2012-07-07 01:11:00