2017-06-16 1 views
-1

Je rencontre des problèmes en essayant wxListCtrl :: EnableCheckBoxes.wxWidgets problème en essayant d'utiliser EnableCheckBoxes() peut-être erreur CMake

Lors de la compilation je reçois: class wxListCtrl has no member named 'EnableCheck Boxes

Il devrait fonctionner, parce que, comme dit sur le official wiki des wxwidgets, il devrait être disponible depuis 3.1.0.

Quelques sources possibles de problèmes:

  1. Il semble y avoir une faute de frappe sur le wiki, et il semble Activer les cases à cocher ans pas EnableCheckboxes (je teste à la fois à chaque fois)

  2. Je ne suis pas tout à fait sûr que mon Cmake utiliser la bonne version de wxWidget (mais je ne sais pas comment détecter que (wx-config --version retours 3.1.0)

  3. En CMakeFile, j'ai un FIND_PACKAGE(wxWidgets REQUIRED) (je suis je ne suis pas sûr de trouver la bonne version)

  4. J'ai dû construire la bibliothèque moi-même, et le résultat * .so est dans/usr/local/lib (emplacement par défaut après make install) mais je ne suis pas sûr qu'ils sont au bon endroit

Avant d'avoir la nécessité d'utiliser EnableCheckB/boîtes, j'avais déjà wxWidget, c'est la raison pour laquelle je ne suis pas certain de quelle version est utilisée par cMake

Et enfin, est ici comment je l'utilise:

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

Est-ce que quelqu'un a une idée? Merci!

+0

['wxListCtrl'] (http://docs.wxwidgets.org/3.1/classwx_list_ctrl.html) n'a pas cette fonction. Vouliez-vous utiliser ['wxCheckListBox'] (http://docs.wxwidgets.org/trunk/classwx_check_list_box.html)? –

+0

S'il vous plaît, jetez un oeil ici http://docs.wxwidgets.org/3.1.0/classwx_list_ctrl.html#ac38e3cc09eb86dc6b54560aaa032b73d Il semble y avoir une fonction comme ça – Tristan

+0

pouvons-nous avec wxCheckListBox avoir plusieurs colonnes? – Tristan

Répondre

1

La méthode a été appelée EnableCheckboxes() dans 3.1.0, mais elle a été renommée par la suite EnableCheckBoxes(), par souci de cohérence avec d'autres parties de wx API. Donc, si vous utilisez vraiment 3.1.0, vous devriez avoir le premier.

Si vous n'êtes pas sûr de la version que vous utilisez, vous pouvez vérifier cela pendant la compilation avec la macro wxCHECK_VERSION(x,y,z). Ou vous pouvez aussi simplement regarder wx/version.h.

+0

Merci! Maintenant, je sais que Cmake utilise wxwidgt 2.8.12 donc je dois trouver comment faire cmake chercher 3.1.0 – Tristan