- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想构建一个工具来显示/调试我的 XRC 文件。我知道已经有一些工具可以做到这一点,但这是一种学习练习,最终会在更大的工具中使用。
我正在使用 wxFileDialog 选择一个文件并将名称存储在 wxTextControl 中。然后在另一个按钮上单击我加载 XRC。问题是 wxXMLResource.LoadDialog 需要加载对话框的名称,而对于任意 XRC 文件我不知道。
void XRCLoad::ChooseFile(wxCommandEvent& event) {
wxFileDialog* OpenDialog = new wxFileDialog(
this, _("Choose a file to open"),
wxEmptyString, wxEmptyString, _("Dialog files (*.xrc)|*.xrc"),
wxFD_OPEN, wxDefaultPosition);
if (OpenDialog->ShowModal() == wxID_OK){
ebFile->SetValue( OpenDialog->GetPath());
}
OpenDialog->Destroy();
}
void XRCLoad::LoadXRC(wxCommandEvent& event)
{
wxXmlResource::Get()->InitAllHandlers();
if (wxXmlResource::Get()->LoadFile(ebFile->GetValue())){
wxDialog dlg;
wxXmlResource::Get()->LoadDialog(&dlg, this, wxT("XXXXX")); // what should XXXX be?
dlg.ShowModal();
}
}
快速阅读 wxFormBuilder 代码表明他们将文件加载为 xml 然后解析树,但在这种情况下他们必须这样做,因为他们正在解构它。就我而言,这似乎是不必要的迂回。
我只想显示在文件中找到的对话框,在我的例子中只有一个。我需要通过检查 wxXMLResource 找出它的名称,以其他方式找到它的名称,或者(最好)在不知道其名称的情况下加载对话框。
最佳答案
这不能仅使用 wxXmlResource
API 来完成,您确实需要解析 XML 才能找出 XRC 文件中定义的内容。请注意,一般来说,它可以包含 0 个、1 个或多个对话框以及任意数量的其他对象(例如框架、菜单、图标...)。
另请注意,XRC 文件可以包含自定义对象类型,在程序代码中使用自定义 XRC 处理程序加载,如果您想要处理这些,您还需要扫描 XML 文件以查找它们的存在并注册一些占位符 XRC它们的处理程序——当然,它将无法以任何有意义的方式加载它们,但如果没有它,包含此类元素的对话框将根本无法加载。
关于c++ - 如何加载任意 XRC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40052169/
我正在使用外部 XRC 方法通过 wxFormBuilder 实现我的用户界面。 我正在尝试以这种方式实现一个卡在 wxStaticBoxSizer 上的面板数组: MainFrame::MainFr
我想构建一个工具来显示/调试我的 XRC 文件。我知道已经有一些工具可以做到这一点,但这是一种学习练习,最终会在更大的工具中使用。 我正在使用 wxFileDialog 选择一个文件并将名称存储在 w
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 9 年前。 Improv
您知道如何包含wx.lib.platebtn.PlateButton吗? xrc 文件中的小部件? 到目前为止,我只找到了一种包含 wxWidgets 常见的小部件的方法,但我认为这个方法是 wxpy
我正在使用 .xrc 文件来设置我的 wxWidgets GUI。 For most GUI elements I can specify 1 并且不会绘制该元素。 我想要的是能够隐藏我的 wxSta
我是一名优秀的程序员,十分优秀!