我已经得到了下面的代码,并且我计划在同一个“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_()