Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Ruby]Question avec wxRuby

à propos des BoxSizers

    19 février 2007 à 18:22:16

    Bonjour, amis zér0s ! ^^

    Tout d'abord, j'éspère que certains d'entre vous connaissent wxRuby (adaptation de wxWidgets pour Ruby), mais ceux qui ne connaissent que wxWidgets pourront m'aider quand même, car les deux fonctionnent à peu près pareils. :D

    Donc, voilà :
    J'essaye de coder un Plus Ou Moins, (j'ai trouvé comment proposer à l'utilisateur d'entré du texte et comment mettre des boutons grâce à la documentation), mais j'ai beaucoup de mal à organiser mon texte. :euh:

    Et là, je suis bien bloqué : Je tente d'afficher un texte de bienvenue au dessus de l'endroit où l'utilisateur peut entrer un nombre. J'ai donc créer deux BoxSizer :
    • Le premier contient le texte de bienvenue et est HORIZONTAL.
    • Le second contient "Entrez un nombre : ", un TextCtrl, et un Button. Il est également HORIZONTAL.

    Mon problème, c'est que le second vient se "setter" par dessus le premier, et cache donc le message de bienvenue. En gros, tous ce que j'affiche se mets sur la même ligne dans la fenêtre... :-°

    Est-ce que quelqu'un pourrait m'aider ? Voici mon code au cas où :

    require 'wxruby' #doit toujours etre appelle
    include Wx #evite d'avoir a ecrire le prefixe Wx::

    EXIT_MENU = 12

    class MinimalApp < App #La classe principale doit herite de App (Wx::App)
            def afficher
                    @bouton.set_label(@champ.get_value)
            end
           
            def on_init #on_init est la methode appellee lors du lancement du programme
                    @frame = Frame.new(nil, -1, "The Bare Minimum", Point.new(100,100), Size.new(                                                    400,100), DEFAULT_FRAME_STYLE)
                   
                    #MENUS
                    menu_bar = MenuBar.new      
                    prog_menu = Menu.new
                    menu_bar.append(prog_menu, '&Quit')
                    prog_menu.append(EXIT_MENU, 'E&xit  Alt-x', '', ITEM_NORMAL)
                    @frame.evt_menu(EXIT_MENU) { exit }
                    @frame.set_menu_bar(menu_bar)
                    #/MENUS
                   
                    #WIDGETS
                    bienvenue = StaticText.new(@frame, -1, "Bienvenue dans le Plus ou Moins !",                                      DEFAULT_POSITION, DEFAULT_SIZE, ALIGN_CENTER)
                    prop = StaticText.new(@frame, -1,"Entrez un nombre : ", Point.new(-1,1),                                                        DEFAULT_SIZE, ALIGN_LEFT)
                    @champ = TextCtrl.new(@frame, -1, "")
                    @bouton = Button.new(@frame, -1, 'OK', DEFAULT_POSITION, DEFAULT_SIZE,                                                                    NO_BORDER)
                    @frame.evt_button(@bouton.get_id) { afficher }
                    #/WIDGETS
                   
                    #SIZER
                    sizer1 = BoxSizer.new(HORIZONTAL)
                    sizer1.add(bienvenue, 0, ALIGN_CENTER)
                    @frame.set_sizer(sizer1)
                   
                    @sizer2 = BoxSizer.new(HORIZONTAL)
                    @sizer2.add(prop, 0, ALIGN_LEFT)
                    @sizer2.add(@champ, 1)
                    @sizer2.add(@bouton, 0, nil, 2)
                    @frame.set_sizer(@sizer2)
                    #/SIZER
                   
                    @frame.show(true)
            end
    end

    fen = MinimalApp.new
    fen.main_loop


    Merci d'avance, <Zer0>.
    • Partager sur Facebook
    • Partager sur Twitter
      21 février 2007 à 10:52:17

      UP ! :D

      Je sais qu'il n' a pas de communauté Ruby très active sur le SdZ, mais je répète :
      Si vous connaissez wxWidgets, vous devriez pouvoir m'aider car il paraît que wxRuby fonctionne pareil. ^^

      Merci.
      • Partager sur Facebook
      • Partager sur Twitter
        22 février 2007 à 19:44:27

        Je n'y connais rien en ruby mais...

        Tu as créer 2 BoxSizer? Et ben il faudrait créer un autre sizer qui regrouperait les deux autres.

        Bilan il ne seraient plus coller.
        • Partager sur Facebook
        • Partager sur Twitter
          23 février 2007 à 10:03:31

          Héé ! Pas bête ! Je vais tenter le coup ! Je vous tiens au courant ;) Merci !
          • Partager sur Facebook
          • Partager sur Twitter

          [Ruby]Question avec wxRuby

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown