IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

wxWidgets Discussion :

Problème affichage application wxWidgets


Sujet :

wxWidgets

  1. #21
    Membre éclairé Avatar de AuraHxC
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 652
    Points : 662
    Points
    662
    Par défaut
    Cela vient il du fait qu'à la fac, c'est la version 2.6.3 de wxWidgets qui est intallé alors que sur mon mac j'utilise la version 2.8.0 ?
    Ils ont peut être modifié la méthode d'utilisation des images.

  2. #22
    Membre éclairé Avatar de AuraHxC
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 652
    Points : 662
    Points
    662
    Par défaut
    Y a des trucs que je comprend pas des fois --> Sans modifier mon code, ca compile plus donc je décide de reprendre mon ancien code et de le modifier pour revenir au code que j'avais et la ca recompile et en plus j'ai même plus besoin de mettre la macro _()

    Sinon toujours le soucis de bitmap handlers je comprend pas comment faire.

  3. #23
    Membre éclairé Avatar de AuraHxC
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 652
    Points : 662
    Points
    662
    Par défaut
    J'ai rajouté a mon code juste une ligne --> la fonction que tu m'avais dite mais apparement ca ne résoud rien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    void CMainFrame::CreateMyToolbar() {
    	m_toolbar = CreateToolBar(wxNO_BORDER | wxTB_HORIZONTAL,TOOLBAR_TOOLS);
     
    	wxInitAllImageHandlers();
        wxBitmap toolBarBitmaps[4];
        toolBarBitmaps[0] = wxBitmap("new.bmp",wxBITMAP_TYPE_BMP);
        toolBarBitmaps[1] = wxBitmap("open.bmp",wxBITMAP_TYPE_BMP);
        toolBarBitmaps[2] = wxBitmap("save.bmp",wxBITMAP_TYPE_BMP);
        toolBarBitmaps[3] = wxBitmap("draw.bmp",wxBITMAP_TYPE_BMP);
        m_toolbar->SetToolBitmapSize(wxSize(toolBarBitmaps[0].GetWidth(),toolBarBitmaps[0].GetHeight()));
     
        m_toolbar->AddTool(MENU_NEW, "Nouveau", toolBarBitmaps[0]);
        m_toolbar->AddTool(MENU_OPEN, "Open", toolBarBitmaps[1]);
        m_toolbar->AddTool(MENU_SAVE, "Save", toolBarBitmaps[2]);
        m_toolbar->AddSeparator();
        m_toolbar->AddCheckTool(MENU_TRIANGLE,"Draw",toolBarBitmaps[3]);
     
        m_toolbar->Realize();
        SetToolBar(m_toolbar);
    }

  4. #24
    Membre éclairé Avatar de AuraHxC
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 652
    Points : 662
    Points
    662
    Par défaut
    Je viens de lire le fichier log que me genere l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    23:33:16: Can't load image from file 'new.bmp': file does not exist.
    23:33:16: no bitmap handler for type 1 defined.
    23:33:16: Can't load image from file 'open.bmp': file does not exist.
    23:33:16: no bitmap handler for type 1 defined.
    23:33:16: Can't load image from file 'save.bmp': file does not exist.
    23:33:16: no bitmap handler for type 1 defined.
    23:33:16: Can't load image from file 'draw.bmp': file does not exist.
    23:33:16: no bitmap handler for type 1 defined.
    Il me dit que les fichiers n'existe pas pourtant ils sont bien dans le dossier drawtri.app/Contents/MacOS/ avec mes codes sources et mon executable.

    Il y a peut être un dossier a créer ou il faut mettre les fichiers images...

  5. #25
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Cela vient il du fait qu'à la fac, c'est la version 2.6.3 de wxWidgets qui est intallé alors que sur mon mac j'utilise la version 2.8.0 ?
    Oui, ça peut arriver, en général, les versions suivantes sont plus strictes au niveau du code.

    Y a des trucs que je comprend pas des fois --> Sans modifier mon code, ca compile plus
    Ca, ça m'étonnerai, tu as modifié quelque chose, c'est sûr ! le système mac est suffisament stable pour éviter ce genre de trucs.

    Il me dit que les fichiers n'existe pas pourtant ils sont bien dans le dossier drawtri.app/Contents/MacOS/ avec mes codes sources et mon executable.

    Il y a peut être un dossier a créer ou il faut mettre les fichiers images...
    En fait, tout dépend comment tu l'as lancé, mais sous mac, les images ne sont pas au même endroit.

    J'ai ce code dans une de mes applications, ça permet de chercher correctement les images :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        wxImage * img = new wxImage();
        img->AddHandler( new wxPNGHandler );
     
        std::string path ;
        std::string res_dir = m_currentScene->GetRessourceDirectory();
        path = res_dir;
        path += "x_off.png";
        img->LoadFile( _(path.c_str())  , wxBITMAP_TYPE_PNG );
        x_off = new wxBitmap( *img );
    m_currentScene est une de mes classes, elle possède notament deux méthodes : GetRessourceDirectory() et SetRessourceDirectory(), tu comprendras facilement leur comportement.

    Et voici le code de la fonction SetRessourceDirectory() qui est dans le OnInit de mon application :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      std::string appDir = argv[0]; 
      ...
      m_defaultScene->SetRessourceDirectory( appDir.substr( 0 , appDir.length() - 6 ) + "bitmaps/" );
    Le dossier bitmaps est toujours dans le dossier de l'application. et mon application a un nom qui est de longueur 6 (ce qui explique les paramètres du substr() ... ).

    La méthode à l'avantage de fonctionner sous Mac et Linux, par contre, pour ce qui est de Windows, je ne sais pas.

  6. #26
    Membre éclairé Avatar de AuraHxC
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 652
    Points : 662
    Points
    662
    Par défaut
    Oki je vais regarder ca mais sinon j'ai chercher dans les sources de wxwidgets pour savoir dans quel dossier il va chercher les images de base mais j'ai pas trouvé... Tu saurais pas ou il faut mettre les images pour qu'il aille les cherché sans utiliser ton code --> sous linux il va chercher dans le fichier courant ou il y a l'executable du programme mais macosx je sais pas du tout ---> J'ai pensé au dossier /Contents/Resources/ mais non ca va pas lol.

  7. #27
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    En fait tout est relatif au dossier dans lequel tu lance l'application.

    Pour linux, si tu es dans . ça cherche dans le dossier courrant. Si tu es dans le dossier du dessous, ça cherche dans le dossier du dessous.

    L'avantage de ma solution est de chercher directement le dossier dans lequel est l'application puis de charger à partir de ce dossier, tu n'as donc qu'à mettre le dossier bitmap dans le même dossier que l'éxécutable et le tour est joué, ça fonctionne sous linux et sous mac.

    Je te propose une solution, si tu veux en faire une autre libre à toi

    Si tu ne comprends pas ce que j'ai fais, je peux t'expliquer, mais ça n'est pas du tout compliqué : je récupère la ligne de commande pour lancer ton programme (argv[0]) , ça te donne le chemin, relatif ou absolu vers ton programme ensuite, tu n'as qu'à récupérer le dossier dans lequel est ton application (via le substr).

  8. #28
    Membre éclairé Avatar de AuraHxC
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 652
    Points : 662
    Points
    662
    Par défaut
    Ben je vais tenter avec ta solution mais c'etait juste que je voulais comprendre pourquoi il me charge pas mes images directement
    Sachant que mes .bmp sont dans le même dossier que l'executable...

    En gros mon executable est dans /Volumes/Documents/Programmation/WxWidget/drawtri.app/Contents/MacOS et mes .bmp sont dans ce même dossier donc je comprend pas pourquoi il me les trouves pas...

    Enfin bref, je vais essayer de voir ta technique

  9. #29
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Ben je vais tenter avec ta solution mais c'etait juste que je voulais comprendre pourquoi il me charge pas mes images directement
    Parce qu'il charge tes images à partir du dossier dans lequel tu es et pas dans celui où est localisé le programme. (tu fait du .app)

    Or sous linux, le dossier d'application et le dossier courrant sont les mêmes (sauf si tu as fait autrement).

  10. #30
    Membre éclairé Avatar de AuraHxC
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 652
    Points : 662
    Points
    662
    Par défaut
    Oki oki. Je viens de cabler le truc

    Bon je vais implementer ton systeme pour être tranquile. Bon là je suis sur autre chose donc je le ferais ce week end

    Merci encore.

  11. #31
    Membre éclairé Avatar de AuraHxC
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 652
    Points : 662
    Points
    662
    Par défaut
    Bon ben maintenant j'avance plutôt bien --> mon interface est plutôt cool et j'arrive enfin a faire des evenements (du genre je clic sur options, hop ca ouvre un popup avec les options, ou alors pomme+B me cache ou fait apparaitre ma barre a outil) mais voila dans ma barre outil j'ai un petit soucis -->

    J'ai mes icones dont une qui lorsque je clique dessus disparait et pourtant si je clique au même endroit ben ca me declenche quand même l'evenement comme si l'icone etait la mais invisible --> Précision je voulais faire un bouton qui s'enfonce et qui reste dans cette position AddCheckTool.

    Donc je comprend pas trop sous linux ca fonctionne très bien comme ca mais la ca va pas lol

  12. #32
    Membre éclairé Avatar de AuraHxC
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 652
    Points : 662
    Points
    662
    Par défaut
    Personne n'a de solution sur mon problème de disparition d'icone ?
    Parce que je vois pas trop ce que je dois faire...

  13. #33
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Personne n'a de solution sur mon problème de disparition d'icone ?
    Parce que je vois pas trop ce que je dois faire...
    Patience !

    J'ai mes icones dont une qui lorsque je clique dessus disparait et pourtant si je clique au même endroit ben ca me declenche quand même l'evenement comme si l'icone etait la mais invisible --> Précision je voulais faire un bouton qui s'enfonce et qui reste dans cette position AddCheckTool.
    Montres-nous ton code. Peut-être qu'il faut spécifier le bitmap pour le bouton non enfoncé, un pour l'enfoncé. Sous linux, lorsque tu en donnes un peut-être le prend il pour les deux états.

    PS: si ta question est différente de celle du début, poste un nouveau sujet.

  14. #34
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Pour ceux que le sujet intéresse, la suite c'est par ici : http://www.developpez.net/forums/sho....php?p=1796254

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/11/2012, 10h03
  2. Problème affichage Excel Application.Height/Application.Width
    Par Paloma dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 08/01/2007, 09h15
  3. [C] Problèmes affichage application console
    Par Arnaud Giuliani dans le forum MFC
    Réponses: 3
    Dernier message: 19/10/2005, 10h28
  4. [DOS] Problème affichage de DOS dans un Memo
    Par Pedro dans le forum API, COM et SDKs
    Réponses: 9
    Dernier message: 25/06/2004, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo