在wxWidgets中显示位图失败

时间:2014-07-24 16:00:31

标签: c++ bitmap wxwidgets

我的应用程序在框架中嵌入了两个图片。我的代码如下:

wxMemoryInputStream istream1(Bild_png, sizeof Bild_png);
wxImage Bild_png(istream1, wxBITMAP_TYPE_PNG);
new wxStaticBitmap(p_img, wxID_ANY, wxBitmap(Bild_png));

vbox->Add(p_img ,0);   

(vbox是Sizer)

当我启动应用程序时,我是一个" T - "位于两个位图的左上角。当我更改notebookitem("screen")并返回到第一个屏幕(位图所在的位置)时," -T"已经消失了......

如何修复它,以便我永远不会看到失败?

2 个答案:

答案 0 :(得分:0)

Haven之前有人建议您搜索samples?例如widgets;只是grep wxStaticBitmap,我确定你会找到有用的东西。

这只是提问的一种不好的方式。 在您的c ++代码段中,即使在宣布之前您还在使用Bild_png - 真的吗?然后你提到both Bitmapsnotebookitem("screen")这些只是除了你以外的任何其他人都不知道的项目。 国际海事组织收到一个好的答案太错了......

答案 1 :(得分:-1)

我必须在最高级别的sizer上调用Layout()。这解决了我的问题。这意味着最后:

vbox->Layout()

@catalin,我不认为发布aorund 2000行的源代码是一种更好的方法。我选择了这个小小的剪辑,因为它说明了所有需要的内容。 wxWidgets的一位专家给了我 - 用这四行 - 暗示了sizer的某些错误,而不是pic。