gpt4 book ai didi

c++ - 新窗口 wxWidgets

转载 作者:太空狗 更新时间:2023-10-29 12:32:03 28 4
gpt4 key购买 nike

在问这个问题之前,我确实搜索了很多。抱歉,如果这是一个简单的问题。

在我的 wxWidgets 应用程序中,我想从菜单选项中新建一个 wxHtmlWindow。 (我已经正确显示了我的主应用程序窗口)。

我设置了EVENT_TABLE:

EVT_MENU(wxID_HELP, MyFrame::OnHelp)

然后是函数(我在私有(private)类中得到了一个指针 html_help):

void MyFrame::OnHelp(wxCommandEvent& event)
// Callback for the Help menu item
{
cout << "Enter OnHelp" << endl;
wxWindow* help_win = new wxWindow(NULL, -1, wxDefaultPosition, wxSize(400, 600));
cout << "New window" << endl;
help_win->Show(true);
cout << "Show" << endl;
html_help = new wxHtmlWindow(help_win, -1);
cout << "After new" << endl;
wxString m_Name = wxT("help.html");
//SetTopWindow(html_help);
bool hel = html_help->LoadPage(m_Name);
cout << "After Loadpage" << endl;
}

抱歉打扰了。程序在新的 htmlwindow 后抛出段错误。

我第一次尝试只是新的 wxHtmlWindow(NULL) 而没有其他 wxWindows,但似乎不起作用,->LoadPage 有 segfault 。然后我尝试了new wxHtmlWindow(this)htmlwindow显示在当前窗口,不是我想要的。

您可以忽略所有代码,并告诉我如何新建一个 wxHtmlWindow(也许在新框架中?或不)并实际执行 LoadPage 工作。

非常感谢!

顺便说一句,我使用的是 2.812 wxWidgets,带有 C++。

最佳答案

wxWindow 是所有其他小部件的基类,在极少数情况下您可以直接使用它。

对于您的情况,您需要一个顶级窗口(即 wxFramewxDialog)作为您的 wxHtmlWindow 的父窗口。顺便说一句,只有顶级窗口可以有 NULL 父级。

要加载 html,您最好使用 html_help->LoadFile(wxFileName("help.html"))。这两个功能的文档都在线。

关于c++ - 新窗口 wxWidgets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23923903/

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