我已經得到了下面的代碼,並且我計劃在同一個「import」中創建幾個類。我希望能夠實例化每個類並獲得我正在創建的小部件的返回值。oop實例化pythonic實踐
這是不是一個真正的PyQt的問題可言,更多的是「良好做法」的問題,因爲我要爲每個插件一類。
我應該讓函數返回創建的小部件嗎?如果是這樣的話?我如何確保難以直接實例化類,如果這是我所追求的最佳方法?
我希望能夠做這樣的事情....
tabs = wqTabWidget(['firstTab', 'Second', 'Last Tab'])
或(這曾經是一個更好的做法)
tabs = wqInstance.createTabs(['firstTab', 'Second', 'Last Tab'])
這裏是我的類到目前爲止...
from PyQt4 import QtCore as qc
from PyQt4 import QtGui as qg
class wqTabWidget(qg.QTabWidget):
def __init__(self, *args):
apply(qg.QTabWidget.__init__,(self,))
tabList = []
tabNames = args[0]
for name in tabNames:
tabWidget = qg.QWidget()
self.addTab(tabWidget, name)
tabList.append({ name:tabWidget })
print 'hi'
if __name__ == '__main__':
app = qg.QApplication(sys.argv)
window = wqTabWidget(['hi', 'there', 'and', 'stuff'])
window.show()
app.exec_()