我不是100%确定这是否是正确的问题,但我对wxFileDialog有疑问。它总是返回一个空字符串“”
wxFileDialog* openFileDialog = new wxFileDialog(
this,
_("Open"),
wxEmptyString,
wxEmptyString,
"Vocab files (*.vocab)|*.vocab",
wxFD_,
OPEN|wxFD_FILE_MUST_EXIST);
if (openFileDialog->ShowModal() == wxID_OK)
{
wxString path = openFileDialog->GetPath();
我没有丝毫知道为什么,但我检查了一些这样的教程:http://wiki.wxwidgets.org/Writing_Your_First_Application-Common_Dialogs
当然还有手册,但我发现在用户按下取消的情况下(我不是:) :) GetPath();返回“”。
我正在使用gcc,代码块,wxWidgets 2.9.5并运行Windows 7
感谢您的投入。
答案 0 :(得分:1)
您显示的代码没有任何问题(不计算堆上不必要的对话框创建,但这种效率低且不方便,没有错误)。因此,要么在构建wxWidgets时出现问题,要么在程序的其他地方发生灾难性事件。要了解它是什么,请构建并运行wxWidgets中包含的dialogs
示例,并使用其中的文件打开对话框。如果它在那里工作,那么至少你构建的wxWidgets是合理的。