如何在wxPropertyGrid中正确添加复选框(而非下拉框)?
解决wxPropertyGrid中wxBoolProperty显示为下拉框而非复选框的问题
针对wxWidgets 3.2.6版本,wxBoolProperty的默认显示风格可能因平台或属性网格配置呈现为下拉框,要强制显示为可勾选的复选框,可通过以下方式修改代码:
为单个wxBoolProperty显式指定复选框编辑器:
auto boolProp = new wxBoolProperty(name, name, std::get<bool>(value.value)); boolProp->SetEditor(wxPGEditor_CheckBox); // 指定使用复选框编辑器 pg->Append(boolProp);若需要全局统一所有布尔属性的显示样式,可在创建wxPropertyGrid后添加设置:
pg->SetDefaultEditorForPropertyType(wxPG_BOOL, wxPGEditor_CheckBox);后续添加的所有wxBoolProperty都会默认使用复选框样式。
注意:确保wxPropertyGrid的创建未使用wxPG_NO_INTERNAL_EDITORS这类会禁用内置编辑器的特殊风格选项。
内容的提问来源于stack exchange,提问作者Harold Finch
相关产品推荐
相关产品推荐

