【发布时间】:2021-04-26 13:39:22
【问题描述】:
我遇到了 wxFilePickerCtrl 的问题。我尝试使用 SetPath() 方法设置路径,但它不起作用,路径已设置,因为我可以从 GetPath() 获取它,但小部件仍然显示路径(无)。
这是我的代码(简化为两个类)。你知道我该怎么做吗?我从文档中尝试了不同的 wxFilePickerCtrl 方法,但结果是一样的。
main.hpp:
#ifndef MAIN_HPP
#define MAIN_HPP
#include <wx/wx.h>
#include "panel.hpp"
class MyApp : public wxApp
{
public:
bool OnInit();
private:
Panel* _panel;
};
#endif
main.cpp:
#include "main.hpp"
wxIMPLEMENT_APP(MyApp)
bool MyApp::OnInit()
{
_panel = new Panel();
_panel->Show(true);
return true;
}
panel.hpp:
#ifndef PANEL_HPP
#define PANEL_HPP
#include <wx/wx.h>
#include <wx/filepicker.h>
class Panel : public wxFrame
{
public:
Panel();
private:
wxFilePickerCtrl* _filePicker;
wxBoxSizer* _sizer;
};
#endif
panel.cpp:
#include "panel.hpp"
Panel::Panel() : wxFrame(NULL, wxID_ANY, "MyApp", wxDefaultPosition, wxSize(850, 450))
{
_sizer = new wxBoxSizer(wxVERTICAL);
_filePicker = new wxFilePickerCtrl(this, wxID_ANY, "filePicker");
sizer->Add(_filePicker, 2, wxALIGN_CENTER, 2);
//file does not matter so in examplie I tried to set to main.cpp
_filePicker->SetPath("/some_path/main.cpp");
this->SetSizer(_sizer);
this->Centre();
}
【问题讨论】:
-
你是如何配置 wxWidgets 的?你能重现
widgets或dialogs示例中的行为吗? -
我正在开发一个中型应用程序半年了,除了这个功能之外的所有东西都运行良好,安装时我使用了 wxWidgets 网站的这个指南:wiki.wxwidgets.org/Install#Linux
-
你能在样本中重现它吗?另外,您可以发布您的确切配置行吗?
-
你的意思是我的make文件还是我安装过程中的命令,因为我不确定。
-
你的 GTK 版本是什么?也许您在库中发现了一个错误...尝试在 wx-users ML 上发帖,看看您是否得到核心 wx-devs 的回复。提供以上所有信息 - wx 版本、端口 (wxGTK/Linux(Ubuntu))、GTK 版本以及在示例中重现的步骤。