With the above approach I felt some how I did it but not able to see plus sign even though I could see children with double click on parent.
Probably because the chronology of events following the double-click results in the model reporting that the parent you clicked on has children (i.e. rowCount() > 0), and so the tree expands.

Face it, you are trying to use the model/view architecture in a way it wasn't designed for. In order for the parent items at any level in the tree to display arrow icons, they have to report that they have a non-zero row count. In order for the scrollbars to work correctly, the number of top-level items must be known at the time the tree is laid out in response to a change in the model. And all of this depends on the model correctly reporting all the details the tree view needs to lay itself out. By lying to the tree view about the size of the model, you are preventing it from working as designed and you end up with undesirable behaviour.

I've been reading your posts since you first started them a while back, and I can't help but think that whoever is putting together the specification for the code you are writing doesn't really understand what they are asking for. In practical terms, no one will ever scroll through a list of 70 million items, whether it is in a table or tree or whatever. So to start a user interaction with the premise that they will do a search and then drill down through 70 million answers to get to the subset they are really interested in not practical. Humans are not very good at seeing details in a sea of similar things. Giving them a huge list of things, all of which look basically the same, and expecting them to find the one they are most interested in will be a very tedious and frustrating experience. Faced with that kind of interface, I think users would quickly abandon the software for something less unwieldy.

On the other hand, humans are very good at detecting patterns and comparing images. Images are a great way of condensing a huge amount of information into something a human can look at and compare one result against another.

So instead of building a list of 70 million things, are there ways to display these results as some form of image or plot? Take a one-dimensional list and turn it into something where similar results are grouped together in 2D and things that are not so similar stand out? Selecting something from that image builds the tree based on items in the vicinity of the selection and lets the user drill down from there.

I don't know what field you are working in. I would guess it is possibly bioinformatics or demographics, but maybe not. Regardless, there has to be a more user-friendly way to present your results than what you are doing now.