我正在使用wxWidgets在Ubuntu Linux上进行开发,但是在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文件,那就太好了。很久以来,我一直在努力,令人沮丧。
答案 0 :(得分:1)
显然找不到加载的文件。您是否将其指定为有效的URI,即使用file:///path/file
语法?