如何使用wxWidgets制作类似的界面?

How to make a similar interface using wxWidgets?

如何使用wxWidgets制作类似的界面? 我需要动态创建文本字段。我知道如何用 Delphi gitHub 来做到这一点。但是如何使用 C++ 和 wxWidgets 来实现呢?

这是我的代码。我不知道该怎么办

Simple::Simple(const wxString& title)
: wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(270, 450))
{
    wxBoxSizer *hbox = new wxBoxSizer(wxVERTICAL);

    for (int i = 0; i < 25; i++)
        {
            hbox->Add(new wxListBox(this, wxID_ANY, wxDefaultPosition, wxSize(250, 60)), wxSizerFlags(0).Border(wxALL, 5));
            auto itm = hbox->GetItem(i);
            itm->SetId(i);
        }
    SetSizer(hbox);
}

@Nindzzya,

基本上你创建了一个wxFrame。你在里面放了一个 wxScrolled<> 的实例。然后在这个 wxScrolled<>() 中放置一个垂直的 wxBoxSizer。然后最后在该 sizer 中添加适当的控件。

按照你的例子:

for (auto i = 0; i < 25; i++)
    {
        textctrl[i] = new wxTextCtrl( this, wxID_ANY, wxDefaultPosition, wxSize( 250, 60 ), wxSizerFlags( 0 ).Border( wxALL, 5 ) )
        hbox->Add( textctrl[i] );
    }

MyFrame::Some_Func()
{
    for( auto i : { 0, 25 } )
    {
        textctrl[i]->GetValue();
    }
}

您甚至不需要 ID 或类似的东西。这个问题是关于基本 C++ 的。它与wxWidgets没有任何关系。