gpt4 book ai didi

c++ - wxTextCtrl 类的 GetValue 方法使我的应用程序崩溃

转载 作者:行者123 更新时间:2023-11-30 04:04:42 26 4
gpt4 key购买 nike

我正在尝试使用 wxTextCtrl 为我的 GUI 应用程序创建一个输入框。我制作了盒子,但当我尝试从中获取输入文本时,它崩溃了,我不明白为什么。

代码如下:

ma​​in.cpp:

int main(int argc, char** argv)
{
wxApp::SetInstance( new App() );
wxEntryStart(argc, argv);
wxTheApp->OnInit();

wxTheApp->OnRun();

wxTheApp->OnExit();
wxEntryCleanup();

return 0;
}

应用程序.cpp:

bool App::OnInit()
{
wxString title = "Version: ";
title += APP_VERSION;

/* Create the frame for my app */
Frame *simple = new Frame(0, wxID_ANY, title, wxDefaultPosition, wxSize(287, 700)/*wxSize(287, 450)*/, (wxDEFAULT_FRAME_STYLE & ~(wxRESIZE_BORDER | wxMAXIMIZE_BOX)));
simple->Show(true);

return true;
}

框架.cpp:

Frame::Frame( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) 
: wxFrame( parent, id, title, pos, size, style )
{
wxPanel *panel = new wxPanel(this, wxID_ANY);
input_text = new wxTextCtrl(this, wxID_ANY, "initial", wxPoint(10, 400), wxSize(250, 100));

wxString str = input_text->GetValue();
wxMessageBox(str);
}

它在 frame.cpp 中崩溃:wxString str = input_text->GetValue();

我正在使用 wxWidgets-3.0.0 和 Visual Studio 2012 在 Windows 上进行编译。

这可能是一件非常简单的事情,但我刚刚开始使用 wxWidgets,而且我没有太多经验。

谢谢。

最佳答案

如果您刚开始使用 wxWidgets,为什么不使用标准的初始化方式,即 wxIMPLEMENT_APP宏观?我不确定这是否能解释您的问题(如果您在调试器下运行您的程序并确定它为什么会崩溃,这将非常有用,即向我们展示了完整的堆栈跟踪),但您肯定不会'正确初始化库。

FWIW,当您可能打算将文本控件创建为面板的子项时,您还将文本控件创建为框架的子项,但这绝对与崩溃无关。

关于c++ - wxTextCtrl 类的 GetValue 方法使我的应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23632843/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com