Fenetre bouton c++

john -  
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   -
Comment fait-on, le plus implement possible en c++ un fenetre avec un bouton et qui marche autant sous windows que sous linux ?

svp

9 réponses

  1. muppet
     
    Avec des liblrairies crossplatform tel que http://www.wxwindows.org/
    A part ça je vois pas, parce que pour construire des fenêtres il faut forcement faire appel aux API windows, et je doute que ce soit les mêmes sous linux.
    1
  2. solution...
     
    Pour faire du graphique en C/C++, ou meme java...la meilleur bibliotheque est le GTK+...c bien o point...bien finalise...très bien documenté, relativement simple...
    Perso moins jsuis en ecole d'ingé d'info....et durant la quasi totalité de notre scolarité on utilise GTK avec C ou C++...et franchement c sympa...
    Le GTK (qui n'est qu'une bibliotheque additionnel) fonctionne très très bien sous linux et il est possible de le faire fonctionner sous windows....c juste un petit peu plus compliquer a l'installation...
    www.gtk.org
    www.gtk-fr.org
    ci dessous un exemple de prog gtk....c que du C:

    #include <stdio.h>
    #include <gtk/gtk.h>

    #include "Traitements.h"

    void SortirProg(GtkWidget *widget, gpointer data)
    {
    gtk_main_quit();
    }

    int main (int argc, char **argv)
    {
    //declaration des boutons et autres
    GtkWidget *Text1;//4 zones de texte
    GtkWidget *Text2;
    GtkWidget *Text3;
    GtkWidget *Text4;
    GtkWidget *Fen;//declariation fenetre
    GtkWidget *ZoneDessin;//declariation de la zone de dessin
    GtkWidget *Tab;
    GtkWidget *Antenne;//les 4 variables ratachées au boutons suivant
    GtkWidget *Pre_Ampli;
    GtkWidget *Demodul;
    GtkWidget *Ampli;
    GtkWidget *Clear;
    GtkWidget *ButAn;//les 4 boutons
    GtkWidget *ButPA;
    GtkWidget *ButM;
    GtkWidget *ButA;
    GtkAdjustment *spinner_An;//les 4 spinners
    GtkAdjustment *spinner_PA;
    GtkAdjustment *spinner_M;
    GtkAdjustment *spinner_A;
    GtkWidget *Comments;

    gtk_init(&argc, &argv);//definition obligatoire en GTK

    //colormap=gdk_window_get_colormap(ZoneDessin -> window);

    Fen = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_title(GTK_WINDOW(Fen), ""); //texte d'en tête
    gtk_signal_connect(GTK_OBJECT(Fen),"destroy_event",
    GTK_SIGNAL_FUNC(SortirProg), NULL);
    gtk_signal_connect(GTK_OBJECT(Fen),"delete_event",
    GTK_SIGNAL_FUNC(SortirProg), NULL);

    Tab = gtk_table_new(8,6,TRUE);//format de la zone de graph
    gtk_container_add(GTK_CONTAINER(Fen),Tab);

    //creation des boutons de saisie de varialble (Nb par default,min, max, pas,?,?)
    spinner_An = (GtkAdjustment *) gtk_adjustment_new(90, 0.0, 1000.0, 1.0, 2.0, 2.0);//spinner antenne
    spinner_PA = (GtkAdjustment *) gtk_adjustment_new(1, 0.0, 1000.0, 1.0, 2.0, 2.0);//spinner pre amplification
    spinner_M = (GtkAdjustment *) gtk_adjustment_new(20, 0.0, 1000.0, 1.0, 2.0, 2.0);//spinner demodulation
    spinner_A = (GtkAdjustment *) gtk_adjustment_new(1, 0.0, 1000.0, 1.0, 2.0, 2.0);//spinner amplification
    1
  3. john
     
    et tu sais pas lequels c'est sous linux ?
    0
  4. muppet
     
    Non désolé, je suis ultra noob en linux x-D
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Pierre
     
    ece qu'il y a moyen de faire du mode graphiques avec des fenetre etc ..
    sans les api windows, sous linux ?
    0
    1. Pierre
       
      ouai moi aussi , ça m'interesse quelqu'un sait ?
      0
  7. Pierre
     
    Merci, solution .
    Je vais commencer tt de suite a apprendre le gtk+!
    0
  8. grollum
     
    Y'a aussi Qt qui est une excellente librairie cross-platform !
    0
    1. Steph
       
      Non.
      Qt est abandonné dans le milieu pro sur le marché français(trop lent, licence trop chère)
      cf. les appels d'offres depuis 2 ans et tu comprendras le malaise....

      Quand on voit les neuneus du sdz qui croient faire du C++ et se font berner en faisant du Qt qui ne leur servira à rien, cela fait de la peine...
      0
  9. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    Contrairement à ce que dit l'autre emmerdeur qui ne site jamais ses sources, QT est loin d'être abandonné (ou peut être juste en France). Qt et GTK sont deux bonnes bibliothèques multiplatformes. Je ne pense pas que l'on puisse dire que l'une est meilleure que l'autre, c'est une question de goût et de but.
    Pour faire une fenêtre, il faut forcément dialogué avec le gestionnaire de fenêtre, ce qui dépend bien évidemment de l'OS, car il n'y a pas de standard universel.
    Il y a d'autre bibliothèques graphiques, considérés comme vielles ou obsolètes, mais si c'est pour faire un truc simple, rien ne sert de sortir la grosse artillerie (tk, motif...)
    0