-1
wxGridSizerをwxStaticTextで塗りつぶすと、sizerのplace要素のプログラム白い四角形を閉じた後に取得されます。私はwindows7の下でWxWidgets 3.1.0を使用します。プログラムが閉じているときのwxGridSizerのplace要素の白い四角形
だから私の質問はどのような行動を取り除くと、なぜこれが起こっているか、それは正常ですか?ここで
は私のコードです:
# include "wx/wx.h"
# include <string>
class GridSizer : public wxFrame
{
public:
GridSizer(const wxString& title) : wxFrame(NULL, -1, title, wxPoint(-1, -1), wxSize(400, 400))
{
std::size_t Size = 11;
gs = new wxGridSizer(Size, Size, 3, 3);
for(std::size_t i = 0;i<Size;i++)
for(std::size_t j = 0;j<Size;j++)
{
std::string temp;
if(!i && !j)
temp = "";
else if(!i)
temp = std::to_string(j);
else if(!j)
temp = std::to_string(i);
else
temp = std::to_string(i*j);
gs->Add(new wxStaticText(this, -1, temp), 0, wxEXPAND);
}
SetSizer(gs);
}
wxGridSizer *gs;
};
class MyApp : public wxApp
{
public:
virtual bool OnInit() wxOVERRIDE
{
GridSizer *gs = new GridSizer(wxT("GridSizer"));
gs->Show(true);
return true;
};
};
wxIMPLEMENT_APP(MyApp);
Windowsで通常動作します。あなたの問題を正確に言えますか?あなたのOSとwxバージョンも教えてください。 – Ripi2
@ Ripi2、ありがとう、更新されました。私の問題の本質は、プログラムの終了時にウィジェットの場所に存在する白い背景です。私はその理由 - デストラクタの動作が遅いのは、wxStaticTextをwxBitmapに置き換えてから "四角"がほとんど見えなくなるからだと思う。しかし、ここで重い要素がないので、異常な行動です。 – CamFerry