[SOLVED]can not declare QIcon in class?
-
Hi all,
I have a "strange" problem.
I want to declare a QIcon in my header file(class) and set its filename in the constructor.
But when i add "QIcon icon;" in my class, the program crashes when started.
When i add "QIcon icon" in a constructor/function it works as it should be.Can someone please explain if im doing something wrong here?
-
uh. Show some code?
-
Ok,
In .h:
@
private:
QIcon icon; //makes the program crash.
OR
QIcon *icon//also crashes.
@In a normal function it works like a charme.
-
Just for kicks, change the name to m_icon and see what happens.
Obviously it isn't just the fact that you do @QIcon *icon@ in some header. There is more to this. The code snippet you showed is just as good as the description you gave. If the above doesn't work, we will need a lot more context to the problem.
-
can you produce a small example with this problem? (only a small class with QIcon)
-
Hi Franzk,
I'm sorry if i'm not clear here, so i try to explain myself a little better now.
I'm writing a little test program where i want to have a icon shown in a listview.
if i use a function call like:
@ QStandardItem *item = new QStandardItem;
item->setIcon(QIcon(":/icon/pic5"));@
then everything works like a charme.
If i do :
@ QStandardItem *item = new QStandardItem;
QIcon proeficon(":/icon/pic5");
item->setIcon(proeficon);@
everything works like a charme.
If i do:
@ QStandardItem *item = new QStandardItem;
QIcon proeficon;
proeficon.addFile(":/icon/pic5");item->setIcon(proeficon);@
everything works like a charme.
But if i do:
In header:
@
QIcon proeficon;
@
And in the constructor:
@
proeficon.addFile(":/icon/pic5");@
Then my program crashes.I hope i did explain it better now?
-
Paste a complete, small, compilable testacase.
-
Recall:
i just made a small example with only a qicon in the class, but the problem didnt accure.
So i have to puzzle a little bit more, to narrow the problem down. -
Solved:
Very strange,
I just copied the whole class to another one and it worked like expected. So there was nothing wrong with the code.
So i deleted the whole build folder to force creator to build again and everything worked perfectly after that.
Does somebody know what was going on here? -
Sometimes you just need to rebuild...
-
i thought that i had done that, but clearly not