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

wxPython Discussion :

Comment créer des scrollbars ?


Sujet :

wxPython

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 293
    Par défaut Comment créer des scrollbars ?
    Bonjour à tous,

    Je cherche en vain à créer une fenêtre contenant une toolbar et une RichText avec ses barres de défilement. Je ne comprends pas le principe. Dans un premier temps j'ai créer une scrollwindow mais la scroll verticale agissait aussi sur la toolbar. J'essaie donc maintenant de créer indépendamment mes scrollbars. La scroll verticale semble fonctionner mais la scroll horizontale n'apparaît pas.
    Voici donc mon dernier essaie et d'avance merci à qui pourra m'aider...

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    # !/usr/bin/python
    # -*- coding:Latin-1 -*-
     
     
    import wx
    import wx.richtext as rt
    import os
    import images 
     
     
    class WidgetRichText(rt.RichTextCtrl):
    	def __init__(self, parent,size=(300,300)):
    		rt.RichTextCtrl.__init__(self,parent,-1,size=size)
    		rt.RichTextCtrl.WriteText(self,"Mon widget RichText")
    		rt.RichTextCtrl.SetScrollbar(self,wx.VERTICAL, 10, 10, 10)
    		rt.RichTextCtrl.SetScrollbar(self,wx.HORIZONTAL, 100, 160, 30)
     
     
     
    class MyToolBar(wx.Frame):
    	    def __init__(self, parent, id, title):
    		wx.Frame.__init__(self, parent, id, title)
    		### Création d'1 Toolbar :
    		toolbar = wx.ToolBar(parent, -1, style=wx.TB_HORIZONTAL | wx.NO_BORDER)
    		toolbar.AddTool(1, images.get_rt_openBitmap(),shortHelpString="Open")
    		toolbar.AddTool(2, images.get_rt_saveBitmap(),shortHelpString="Save")
    		toolbar.AddTool(3, images.get_rt_cutBitmap(),shortHelpString="Cut")
    		toolbar.AddTool(4, images.get_rt_copyBitmap(),shortHelpString="Copy")
    		toolbar.AddSeparator()
    		toolbar.Realize()
    		### Mise en place de l'ensemble de la toolbar à l'aide d'1 sizer :
    		box = wx.BoxSizer(wx.HORIZONTAL)
    		box.Add(toolbar, 0, wx.ALL, 0)
    		self.SetSizer(box)
     
     
    class Fentre_prin(wx.Frame):
    	def __init__(self, parent, title='Fenetre principale'): 
    		wx.Frame.__init__(self, parent, -1, title,size=(500,500))
     
    		### Conteneur :
    		panel1 = wx.Panel(self, wx.ID_ANY,size=(500,500)) # pour panel1 et panel2
    		panel2 = wx.Panel(panel1, wx.ID_ANY,size=(100,100)) # pour ToolBar
    		panel3 = wx.Panel(panel1, wx.ID_ANY,size=(400,400)) # pour RichText
    		### Barre Outils :
    		barre=MyToolBar(panel2, -1, '')
    		### RichTextCtrl :
    		myrichtext1 = WidgetRichText(panel3,size=(100,100))
    		### Création du 1er sizer et positionnement des 2 panels :
    		sizer_panel1 = wx.BoxSizer(wx.VERTICAL)
    		sizer_panel1.Add(panel2, 0, wx.ALL, 0)
    		sizer_panel1.Add(panel3, 0, wx.ALL, 0)
    		self.SetSizer(sizer_panel1)
    		### 2ème sizer pour positionnement de la richtext :	
    		sizer_panel3 = wx.BoxSizer(wx.VERTICAL)
    		sizer_panel3.Add(myrichtext1, 0, wx.ALL, 0)
    		panel3.SetSizer(sizer_panel3)
     
    	def quitter(self, evt):
    		self.Close()
     
     
    class MyApp(wx.App):
    	    def OnInit(self):
    		frame = Fentre_prin(None)
    		self.SetTopWindow(frame)
    		frame.Show(True)
    		return True
     
    try:
    	app = MyApp()
     
    except:
    	app = MyApp(redirect=True)
     
    app.MainLoop()

  2. #2
    Futur Membre du Club

    Homme Profil pro
    Ingénieur nucléaire retraité
    Inscrit en
    Mai 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur nucléaire retraité

    Informations forums :
    Inscription : Mai 2008
    Messages : 4
    Par défaut Mettre un texte plus long?
    Pas la possibilité de tester ton code, toutefois dans un autre contexte, la scrollbar horizontale n'est apparue que quand le texte a dépassé la largeur de la fenêtre.

    J'espère que cela marchera.

    Ch

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/09/2005, 21h41
  2. Réponses: 2
    Dernier message: 04/08/2005, 19h00
  3. Comment créer des onglets "glissants"
    Par miniil dans le forum Composants VCL
    Réponses: 10
    Dernier message: 03/06/2005, 22h24
  4. [DOM] Comment créer des flux XML en java ?
    Par nean_j dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 27/04/2004, 12h00
  5. Comment créer des barres de Menu ?
    Par MoKo dans le forum IHM
    Réponses: 5
    Dernier message: 30/07/2003, 14h58

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