0

我不是 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

谢谢您的意见。

4

1 回答 1

1

您显示的代码没有任何问题(不算在堆上不必要地创建对话框,但这效率低下且不方便,并没有错)。所以要么你的 wxWidgets 构建有问题,要么你的程序的其他地方发生了灾难性的事情。要找出它是什么,构建并运行dialogswxWidgets 中包含的示例并使用其中的文件打开对话框。如果它在那里工作,那么至少你构建的 wxWidgets 是合理的。

于 2013-09-10T21:36:16.667 回答