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 :
Firefox - Réduire la taille des onglets VoirRéduire la taille des onglets : Voici un module complémentaire pour réduire vos onglets sous Mozilla Firefox Tout d'abord, rendez-vous sur la page de téléchargement des modules complémentaires pour Firefox. (Cette page est disponible...
[Windows 7] Une barre des tâches plus 'XP' VoirLa nouvelle barre des tâches de Windows 7 ne vous convainc pas ? Cette dernière est paramétrable et il est possible de la faire ressembler à celle d'XP ou de Vista, si vous n'arrivez pas à vous y faire. Empêcher le regroupement des...
Votre première application graphique avec Python et Glade VoirCe guide vous aidera à créer pas à pas votre première application graphique. Nous allons utiliser le langage de programme Python et l'API graphique GTK, en utilisant le logiciel Glade pour créer facilement les interfaces graphiques. C'est de la...

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
Collection CommentÇaMarche.net