リストボックスの上にwxWidgetsウィンドウを作成したいのですが、ウィンドウサイズを変更するとサイズが変わります。以下は、ウィンドウのサイズが変わってもサイズが変わらない 3 つのボタンです。ボタンとリストボックスの間の距離は一定であり、ウィンドウのサイズを変更しても変化しません。
2 に答える
1
とフラグwx.BoxSizer
の比率を持つ垂直が必要です。このサイザーには、比率とフラグが追加されたリストボックスが含まれます。このサイザーには、3 つのボタンが追加された水平ボックス サイザーもあります。言及した「ウィンドウ」に対してa を実行したい(おそらく a )。1
wx.EXPAND
1
wx.EXPAND
window.SetSizer(<your vertical sizer>)
wx.Frame
于 2012-08-22T17:38:41.693 に答える
0
void SizerTest::CreateControls()
{
////@begin SizerTest content construction
SizerTest* itemFrame1 = this;
wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
itemFrame1->SetSizer(itemBoxSizer2);
wxArrayString itemListBox3Strings;
wxListBox* itemListBox3 = new wxListBox( itemFrame1, ID_LISTBOX2, wxDefaultPosition, wxDefaultSize, itemListBox3Strings, wxLB_SINGLE );
itemBoxSizer2->Add(itemListBox3, 1, wxGROW|wxLEFT|wxRIGHT|wxTOP, 5);
wxBoxSizer* itemBoxSizer4 = new wxBoxSizer(wxHORIZONTAL);
itemBoxSizer2->Add(itemBoxSizer4, 0, wxALIGN_LEFT, 0);
wxButton* itemButton5 = new wxButton( itemFrame1, ID_BUTTON3, _("Button"), wxDefaultPosition, wxDefaultSize, 0 );
itemBoxSizer4->Add(itemButton5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
wxButton* itemButton6 = new wxButton( itemFrame1, ID_BUTTON4, _("Button"), wxDefaultPosition, wxDefaultSize, 0 );
itemBoxSizer4->Add(itemButton6, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
wxButton* itemButton7 = new wxButton( itemFrame1, ID_BUTTON5, _("Button"), wxDefaultPosition, wxDefaultSize, 0 );
itemBoxSizer4->Add(itemButton7, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
////@end SizerTest content construction
}
次のようになります: http://screencast.com/t/ZonUBhPZ7
于 2012-08-23T09:49:25.203 に答える