[Interest] building a light weight tree model

André Somers andre at familiesomers.nl
Tue May 2 21:52:19 CEST 2017


Hi


Op 02/05/2017 om 09:15 schreef Frank Rueter | OHUfx:
> I need a few custom views for my data, including representing
> collections of files with a certain extension as virtual zip files,
> i.e. items that don't actually exist on disk.
So, use a proxy model or a model that wraps the original one.
> I assumed using QFileSystemModel would not be the most efficient way
> to use i this case (based on various comments I read in the past).
Eh... If you want to know if your code is efficient, you should not
start from assumptions. You should start with measurements and some
concrete goals.

Other than that, I fully agree with Chris: if you want this to work
fast, use C++ and avoid QStandardItemModel, especially for "huge"
models. QStandardItemModel is not the API you are looking for (ever,
IMHO, with a possible exception for small toy projects).

André

>
>
> On 2/05/17 6:25 PM, Ch'Gans wrote:
>>
>>
>> On 2 May 2017 at 17:55, Frank Rueter | OHUfx <frank at ohufx.com
>> <mailto:frank at ohufx.com>> wrote:
>>
>>     Hi all,
>>
>>     Here is a snippet of test code to mimic a light weight tree model.
>>     All it is trying to do is mimic the parenting according to the
>>     directory structure on disk using QStandardItems in a QStandardModel.
>>     It works, but it took me way longer to figure out than I
>>     expected, and I have a feeling some of you may have good advise
>>     on how to make it more efficient.
>>     https://pastebin.com/vRkzDPtt
>>
>>
>> What's your definition of "more efficient", what are the problems,
>> what make you think it's not efficient?
>>
>> If you want efficiency, then don't use python and don't use
>> QStandardModel, if you want expediency then use QFileSystemModel.
>>
>> My 2 cents.
>> Chris
>>
>>  
>>
>>
>>
>>     I am not using QFileSystemModel as I wanted to keep things as
>>     efficient as possible and also need to add some custom items to
>>     the model.
>>     Also, for the Python programmers: in my actual code I am using
>>     scandir.walk() instead of os.walk() for speed.
>>
>>     Any input would be greatly appreciated as I will need to run this
>>     over disks that have massive amounts of files.
>>
>>     Cheers,
>>     frank
>>
>>
>>     -- 
>>
>>     ohufxLogo 50x50 <http://www.ohufx.com> 	
>>     	*vfx compositing <http://ohufx.com/compositing.html> | *workflow
>>     customisation and consulting <http://ohufx.com/customising.html>* *
>>       	  	*<http://ohufx.com/compositing.html>*
>>     <http://www.nukepedia.com/nubridge> 	
>>     	
>>
>>     Your gateway to over 1,000 free tools... right inside of Nuke
>>     <http://www.nukepedia.com/nubridge>
>>
>>
>>     _______________________________________________
>>     Interest mailing list
>>     Interest at qt-project.org <mailto:Interest at qt-project.org>
>>     http://lists.qt-project.org/mailman/listinfo/interest
>>     <http://lists.qt-project.org/mailman/listinfo/interest>
>>
>>
>
>
>
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20170502/b3da4d9c/attachment.html>


More information about the Interest mailing list