我在Ubuntu Linux上使用wxWidgets进行开发,在wxFrame中的文件系统上显示html文件时遇到了问题。wxFrame将弹出,但窗口中没有HTML内容。
下面是我的OnInit()函数的一个片段:
//wxIMPLEMENT_APP(MyApp);
IMPLEMENT_APP_NO_MAIN(MyApp);
IMPLEMENT_WX_THEME_SUPPORT;
bool MyApp::OnInit()
{
MyFrame *frame = new MyFrame();
wxInitAllImageHandlers();
wxFileSystem::AddHandler( new wxMemoryFSHandler );
wxFileSystem::AddHandler( new wxInternetFSHandler );
HtmlWindow * htmlWindow = new HtmlWindow(frame);
htmlWindow->SetRelatedFrame(frame, "HTML");
htmlWindow->SetRelatedStatusBar(0);
wxString htmlFile = wxString("[FULL_PATH]/file.htm");
wxFileName htmlFileName(htmlFile);
htmlWindow->LoadFile(htmlFileName));
frame->Show(true);
return true;
}
作为实验,我用SetPage替换了LoadFile,并在wxFrame中看到了内容:
htmlWindow->SetPage("<html><body>"
"<h1>TEST</h1>"
"Set Page Works"
"</body></hmtl>");
当我将file.htm放在浏览器中时,我看到的显示效果很好。由于某些原因,它不想在wxFrame中显示。如果我遗漏了什么请告诉我。所有的帮助都非常感谢。
如果有人能发布一个非常简单的经过剥离的wxApp、wxFrame和wxWindow代码,只显示本地的htm文件,那就太好了。我苦苦挣扎了这么长时间,这让我越来越沮丧。
发布于 2018-08-02 06:58:16
显然找不到您加载的文件。您是否将其指定为有效的URI,即使用file:///path/file
语法?
https://stackoverflow.com/questions/51641493
复制相似问题