[Qt-interest] Initialize const Qt container class

Joshua Grauman jnfo-c at grauman.com
Mon Oct 25 16:46:40 CEST 2010


Hello all,

I realize this may be just a C++ question, but I was wondering if maybe Qt 
had some additions that helped here. I often have some const data 
structures that I want to initialize with data and don't have a good 
(readable) way to do it.

Here's what I'd like to do (with standard c types):

struct item
{
   char string[20];
   int list[10];
};

//the following is nice and readable, easy to modify, etc.
const struct item items[4] = {
{"string1",{1,2,3,5,6,0}},
{"string2",{4,0}},
{"string3",{2,5,0}},
{"",{0}}
};

This makes it very easy to read and change my data initialization. But I'd 
like to do this with Qt classes (QString and QList<int>) instead. I don't 
know of any clean way like this to initialize everything in that case and 
I was wondering if anyone had any slick tricks to do this or something 
like it (really it's the QList<int> that's the problem, the QString will 
initialize easy). If not, how do people initialize their (const) data 
structures like this? (Note, I know how to initialize data structures in 
the standard way using <<, but was looking for something "cleaner"). I 
don't mind if there's a non const way to do this, but that would be nice 
since the data won't change. Thanks!

Josh



More information about the Qt-interest-old mailing list