Rechercher : dans
Par :

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

Dernière réponse le 14 fév 2008 à 11:32:35 lonewolfs, le 9 fév 2008 à 16:58:31 
 Signaler ce message aux modérateurs

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()
Configuration: Windows XP
Firefox 2.0.0.12

Meilleures réponses pour « [python]Problème de taille de fenêtre » dans :
Fenêtre MS-DOS - Comment modifier sa présentation? VoirQuand on ouvre une fenêtre d'invite de commande, il est possible de modifier cette fenêtre en taille et en couleur. On peut aussi modifier la forme du curseur et d'autres options sont disponibles. Tous ces réglages s'effectuent en faisant un...
Modifier la taille du menu démarrer VoirVoici comment changer à volonté la taille de votre menu démarrer. Faites un clic droit sur le menu démarrer, puis, choisissez propriétés. Cliquez sur Personnaliser, dans la nouvelle fenêtre, augmentez ou diminuez le nombre de programmes récents...

1

lonewolfs, le 10 fév 2008 à 15:47:22

Bonjour,

Petit up !

Personne n'a d'idée ?

Amitiés

Lonewolfs

Répondre à lonewolfs

2

sebsauvage, le 10 fév 2008 à 21:25:12

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 http://sebsauvage.net/python/gui/index_fr.html#tkinter_resiz­e

Répondre à sebsauvage

3

lonewolfs, le 11 fév 2008 à 08:23:58

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

Répondre à lonewolfs

4

sebsauvage, le 11 fév 2008 à 09:09:11

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.

Répondre à sebsauvage

5

lonewolfs, le 11 fév 2008 à 09:54:58

Merci encore sebsauvage,

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

Merci encore

Lonewolf

Répondre à lonewolfs

6

lonewolfs, le 14 fév 2008 à 11:27:43

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()

Répondre à lonewolfs

7

 sebsauvage, le 14 fév 2008 à 11:32:35

De rien !

Merci du retour.

Répondre à sebsauvage