在wxWidgets中显示位图失败

Failure at displaying Bitmaps in wxWidgets

本文关键字:位图 失败 显示 wxWidgets      更新时间:2023-10-16

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

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"已经消失。。。

我该如何修复它,这样我就永远不会看到失败了?

我不得不在最上层的sizer调用Layout((。这解决了我的问题。意思是最后:

vbox->Layout()

@catalin,我不认为发布aorund 2000行源代码是更好的方法。我选择了这个小剪报,因为它说明了所有需要的东西。wxWidgets的一位专家用这四行字给了我一个提示,那就是尺寸标注器出了问题,而不是图片出了问题。

以前没有人建议你搜索样本吗?例如小部件;只要对wxStaticBitmap进行grep,我相信你会发现一些有用的东西。

这只是一种糟糕的提问方式。在您的c++代码段中,您甚至在声明Bild_png之前就使用了它——真的吗?然后你提到both Bitmapsnotebookitem("screen"),除了你之外,其他人都不知道它们。IMO太。。。得到一个好答案是错误的。。。