2017-06-16 41 views
-1

我在尝试wxListCtrl :: EnableCheckBoxes时遇到了一些麻烦。wxWidgets尝试使用EnableCheckBoxes时遇到问题()也许CMake错误

编译时,我得到:class wxListCtrl has no member named 'EnableCheck Boxes

应该的作品,因为像WX部件的official wiki 说,它应该是可用的,因为3.1.0。

麻烦一些可能的来源:

  1. 似乎是在wiki上一个错字,它似乎是启用的CheckBox ANS不EnableCheckboxes

  2. (包括每次我测试)

    我不能完全肯定,我的CMake使用wxwidget的良好版本(但我不知道如何检测(wx-config --version回报3.1.0

  3. 在CMakeFile,我有一个FIND_PACKAGE(wxWidgets REQUIRED)(我不知道它找到了好的版本)

  4. 我不得不自己构建库,结果* .so在/ usr/local/lib(安装后的默认位置),但我不知道他们是否他们是在好地方

有需要使用EnableCheckB /盒之前,我已经有了一个wxwidget,这就是为什么我不能确定的就是使用CMake的

而在去年的版本,这里是我如何使用它:

void f(wxListCtrl* Table) 
{ 
    Table->DeleteAllItems(); 
    Table->EnableCheckBoxes(); //or Checkboxes, same result 
} 

有没有人有想法? 谢谢!

+0

['wxListCtrl'](http://docs.wxwidgets.org/3.1/classwx_list_ctrl.html)没有这样的功能。你的意思是使用['wxCheckListBox'](http://docs.wxwidgets.org/trunk/classwx_check_list_box.html)? –

+0

请看看这里http://docs.wxwidgets.org/3.1.0/classwx_list_ctrl.html#ac38e3cc09eb86dc6b54560aaa032b73d 似乎有这样的功能 – Tristan

+0

我们可以用wxCheckListBox有几列吗? – Tristan

回答

1

该方法在3.1.0中被称为EnableCheckboxes(),但为了与wx API的其他部分保持一致,稍后将其更名为EnableCheckBoxes()。所以如果你真的使用3.1.0,你应该拥有前者。

如果你不确定你使用的是哪个版本,你可以在编译期间用wxCHECK_VERSION(x,y,z)宏查看。或者你也可以看看wx/version.h

+0

谢谢!现在,我知道Cmake正在使用wxwidgt 2.8.12,所以我必须找到如何使cmake搜索3.1.0 – Tristan

相关问题