def __init__(self, *args): QtGui.QMainWindow.__init__(self, *args) # internal data structure self.companys = None self.selectedCompany = None self.loadCompanyListData() self.mainWidget = QtGui.QWidget(self) self.setCentralWidget(self.mainWidget) # build main container self.mainLayout = QtGui.QVBoxLayout(self.mainWidget) # build company list self.companyList = GraphicsCompanyList() self.companyList.AddSelectionChangeHandler(self.SelectionChangedHandler) self.companyList.SetSource(CompanyListSource(self.companys.values())) # build company data view self.buildCompanyView() self.mainLayout.addWidget(self.companyView) print 'Build main data view success.' # build menu self.menu = QtGui.QWidget() self.buildMenu() self.mainLayout.addWidget(self.menu) print 'Build menu success.'