[python]Problème de taille de fenêtre

Résolu/Fermé
lonewolfs Messages postés 51 Date d'inscription samedi 2 juin 2007 Statut Membre Dernière intervention 17 octobre 2009 - 9 févr. 2008 à 16:58
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 14 févr. 2008 à 11:32
Bonjour,

Je mets en place un petit programme destiné à faire un instantanée graphique des connections en cours sur le pc ainsi que les executables en cause.

Pour cela,j'utilise python et le programme fonctionne sauf que la fenetre est très grande selon les connections et que mes connaissances limités ne m'ont pas permis de trouver une solution de défilement pour l'affichage ce qui me permettrait de fixer la taille de ma fenêtre.

j'en appelle donc a votre aide et vous en remercie par avance

Lonewolf

from Tkinter import *
import os

#Création de la fenêtre
fen1=Tk()
#Mise en place de la commande dos
a=os.popen("netstat -bn")
#Récupération des données
b=a.read()
a.close()
#Affichage des variables dans un label
ent1=Label(fen1,text=b)
ent1.pack()
#Mise en place d'une sortie propre
bou=Button(fen1,text='Quitter',command=fen1.destroy)
bou.pack()
fen1.mainloop()

7 réponses

lonewolfs Messages postés 51 Date d'inscription samedi 2 juin 2007 Statut Membre Dernière intervention 17 octobre 2009 5
10 févr. 2008 à 15:47
Bonjour,

Petit up !

Personne n'a d'idée ?

Amitiés

Lonewolfs
1
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
10 févr. 2008 à 21:25
Le problème est dû au fait the TKinter essaie à tout prix d'adapter la taille de la fenêtre au contenu, ce qui devien rapidement pénible.

On peut le calmer: Voir https://sebsauvage.net/python/gui/index_fr.html#tkinter_resize
1
lonewolfs Messages postés 51 Date d'inscription samedi 2 juin 2007 Statut Membre Dernière intervention 17 octobre 2009 5
11 févr. 2008 à 08:23
Bonjour et merci sebsauvage,

Bien vu, bien lu... mais comme ceci je perd la moitié de mes infos ou bien alors je dois agrandir ma fenetre pour voir le reste.

Je cherchais a avoir une barre de défilement sur la fenetre principale, ce qui me permettrait de fixer ma taille de fenetre et d'avoir accès a toutes les infos en déroulant ma barre.

Problème, je ne maitrise pas bien du tout scrollbar et j'ai beau chercher je n'ai trouvé le moyen de l'utiliser qu'avec une listbox, ce qui n'est pas intéressant dans mon cas.

Merci quand meme de t'interesser a mon cas sebsauvage et de l'aide que tu veux bien m'apporter.

Ps : au fait ton site est très bien, j'etais déjà allé le visiter.

Lonewolfs
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
11 févr. 2008 à 09:09
J'utilise les Pwm (Python Megawidgets) qui s'ajoutent à Tkinter.
Ils contiennent un objet Pmw.ScrolledFrame qui s'occupera d'ajouter des barres pour scroller si nécessaire.
http://pmw.sourceforge.net/


Exemple:
        sf = Pmw.ScrolledFrame(self._parent)
        sf.grid(column=0,row=1,stick='news',columnspan=2)
        self.imageLabel = Tkinter.Label(sf.interior())
        self.imageLabel.pack(fill='both', expand=1)



Ne pas oublier d'utiliser sf.interior() comme parent pour tout ce que tu veux ajouter dedans.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lonewolfs Messages postés 51 Date d'inscription samedi 2 juin 2007 Statut Membre Dernière intervention 17 octobre 2009 5
11 févr. 2008 à 09:54
Merci encore sebsauvage,

Je vais regarder ceci de plus près pour voir ce que je peux en faire.

Merci encore

Lonewolf
0
lonewolfs Messages postés 51 Date d'inscription samedi 2 juin 2007 Statut Membre Dernière intervention 17 octobre 2009 5
14 févr. 2008 à 11:27
C'est bon, j'ai resolu ceci en utilisant une scrollbarText

voici le code final. Merci encore

# -*- coding: cp1252 -*-
from Tkinter import *
from ScrolledText import *
import os

#Création de la fenêtre
fen1=Tk()
fen1.title('Connexions Actives')
#Mise en place de la commande dos
a=os.popen("netstat -bn")

#Récupération des données
b=a.read()
a.close()
print b
#Affichage des variables dans un label
ent1=Label(fen1,text="Soft de Stéphane Pillot et de Lespinx")
ent1.pack()

#-Création de la zone Texte
texte = ScrolledText(fen1, width = 75, height = 35, font = "Arial 10",
relief = "groove")
texte.pack()
#Ecriture des données
texte.config(state = NORMAL)    #Permettre l'écriture
texte.insert("1.0", b)          #Gestion de l'insertin des lignes
                                        #1 = 1ere ligne  0 = 1er caractere de la ligne
texte.config(state = DISABLED)  #Interdire les modifications


#Mise en place d'une sortie propre
bou=Button(fen1,text='Quitter',command=fen1.destroy)
bou.pack()
fen1.mainloop()
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
14 févr. 2008 à 11:32
De rien !

Merci du retour.
0