私は以下のコードを持っています。私はいくつかのクラスをすべて同じ「インポート」内に作成することを計画していました。各クラスをインスタンス化し、作成中のウィジェットで戻り値を取得したいと考えていました。
これは実際には 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_()