[débutant] Afficher une petite fenêtre sans barre de titre

Le
Damien
Bonjour,
Je suis en train de passer sous Python depuis Delphi et PHP. En
complément d'une appli web PHP+MySQL je suis en train de développer un
outil qui affiche des rappels sous forme de petites fenêtres à cliquer
dans un coin de l'écran.

A priori, un simple dialog ne suffirait pas : la fenêtre doit être assez
petite, je veux pouvoir avoir plusieurs fenêtres et obliger
l'utilisateur à donner un motif pour fermer l'une d'elles.

Je pensais à quelquechose comme l'alerte nouveau message de Thunderbird.

Ca se programme comment en Python ? S'agit-il de bricoler un dialog
existant ? Existe-t-il des classes toutes faites ?

Merci d'avance pour vos pistes !

--
Damien

"All parts should go together without forcing. You must remember that
the parts you are reassembling were disassembled by you. Therefore, if
you can't get them together again, there must be a reason. By all means,
do not use hammer." -- IBM maintenance manual, 1975
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
regis
Le #428727
Le Fri, 13 May 2005 15:20:18 +0200, Damien a écrit :

Bonjour,
Je suis en train de passer sous Python depuis Delphi et PHP. En
complément d'une appli web PHP+MySQL je suis en train de développer un
outil qui affiche des rappels sous forme de petites fenêtres à cliquer
dans un coin de l'écran.

A priori, un simple dialog ne suffirait pas : la fenêtre doit être assez
petite, je veux pouvoir avoir plusieurs fenêtres et obliger
l'utilisateur à donner un motif pour fermer l'une d'elles.

Je pensais à quelquechose comme l'alerte nouveau message de Thunderbird.

Ca se programme comment en Python ? S'agit-il de bricoler un dialog
existant ? Existe-t-il des classes toutes faites ?

Merci d'avance pour vos pistes !


Tu peux utiliser comme base ShapedWindow.py inclue dans la démo de
wxPython.

Sinon, si c'est un simple rectangle gris, tu peux utiliser ça :
import wx

class MaPopup(wx.PopupWindow):
def __init__(self,parent):
wx.PopupWindow.__init__(self,parent,wx.SIMPLE_BORDER)
txt = wx.StaticText(self,
-1,
"Bonjour le mondenAvec une popup wxPython",
pos=(10,10))
s = txt.GetBestSize()
self.SetSize((s.width+20,s.height+20))
self.CentreOnScreen()

class App(wx.App):
def OnInit(self):
f = wx.Frame(None,-1,"")
MaPopup(f).Show()
return True
App().MainLoop()


Tu peux aussi utiliser un wx.MiniFrame pour faire genre vieille version
ICQ sur mac.

Bon courage

Regis

--
Beuvez beuvez, mais bourré jamais

Damien
Le #428446
(snip)
Tu peux utiliser comme base ShapedWindow.py inclue dans la démo de
wxPython.

Sinon, si c'est un simple rectangle gris, tu peux utiliser ça :
(snip)

Tu peux aussi utiliser un wx.MiniFrame pour faire genre vieille version
ICQ sur mac.
(snip)


Merci pour toutes ces suggestions ! Ca va me donner du grain à moudre...
Je me lance !

Le MaPopup.show() va-t-il _créer_ une instance de fenêtre ou juste
montrer celle qui a été construite à l'init ? Je pense avoir besoin de
les créer/détruire à la volée ?

@+

--
Damien

Publicité
Poster une réponse
Anonyme