【问题标题】:wxFileDialog always returns an empty string ""wxFileDialog 总是返回一个空字符串“”
【发布时间】:2013-09-10 18:54:26
【问题描述】:

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

感谢您的意见。

【问题讨论】:

    标签: wxwidgets


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回答 :) 结果证明这是另一个不可重复的 gcc / wxWidgets - 罪魁祸首可能是错误。重新启动 C::B 和 puff 它工作 - 很奇怪。我想我会在这个项目之后改回 MSVC - 少一些麻烦。或者当我构建 wxWidgets 时可能出现了问题。不过,您对堆的看法是正确的。
    猜你喜欢
    • 2018-11-18
    • 2022-01-22
    • 2013-10-09
    • 1970-01-01
    • 2016-12-16
    • 2019-07-25
    • 1970-01-01
    • 1970-01-01
    • 2013-04-01
    相关资源
    最近更新 更多