What do you mean you can't use the standard library with Qt? Of course you can! |
what I mean is for example this scenario:
1 2 3 4
|
void f(std::string str)
{
QLabel MyLabel(str); // not likely to work
}
|
the above function looks so nice but it doesn't work because you must do string conversion in order to create a label.
QString::toStdString().
what if there is some external or existing code you wish to import into your application?
you'll need to convert everything into 'Q-like' as you say :)
I don't like that because it forces me to do extra work and also forces me to learn new stuff not related to creating widgets, and also forces me to not use what I want but what 'Qt' want, thanks Qt but maybe tomorow.
please note it's not about QString vs std::string, QString may be even better than std::string, and there may probably be other Qt stuff better than std stuff, but what's the purpose of learning something you already know?
what the purpose of hawing a knowelege of both QString and string?
this just an example with string vs QString but you'll see what I mean when it comes to 3D...
I will again compare Qt with gtkmm which does the same stuff but gives the programer more freedom:
1 2 3 4
|
void f(std::string str)
{
Gtk::Label MyLabel(str); // no problem
}
|
I agree, there is an option but I dislike such additional options, mainly because all that involes extra learing and 0 purpose, sorry.
however, the fact that gtkmm works with standard containers does not make it "must have" library, because one day if you want to do 3D stuff then you have very limited options with both Qt and gtkmm because you'll have to use openGL, this is probably OK if you like or need OpenGL, but what if you don't?
what if you want to use DirecX?
obviously then you'll came to the same conclusion as I did, which is that GUI toolkits suck very bad because it will eat your time once again! :)
very sad truth but so it is.
Note to the users who look for some GUI toolkit.
You can agree with me or not but more you use some GUI toolkit more deep into the sheet you go because soon or later you'll need to learn something you already know thus loosing time and reinventing the whell instead of learning new stuff.
learning is expensive task and should be IMO considered in detail.