Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/07/2007, à 23:31

david breizh

[résolu]wxpython problème sur mon prog

bonjour j'aimerai une petite aide.

voilà je voudrai quand gnome-terminal le prog se ferme aussi.

je poste le prog qui est un début d'autre chose , je m'essai au wxpython.

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# generated by wxGlade 0.4.1 on Sun Jul 15 23:26:06 2007
import os
import signal
import wx

pidActuel = 0

class MyFrame(wx.Frame):
    def __init__(self, *args, **kwds):
        # begin wxGlade: MyFrame.__init__
        kwds["style"] = wx.DEFAULT_FRAME_STYLE
        wx.Frame.__init__(self, *args, **kwds)
        self.panel_1 = wx.Panel(self, -1)
        self.button_1 = wx.Button(self.panel_1, -1, "ecran crt")
        self.button_2 = wx.Button(self.panel_1, -1, "écran crt + tv")

        self.__set_properties()
        self.__do_layout()
        # end wxGlade
        
        wx.EVT_BUTTON(self, self.button_1.GetId(), self.boutton1)
	wx.EVT_BUTTON(self, self.button_2.GetId(), self.Exit)

    def boutton1(self, widget):  //* ici en faite je voudrai qu'après le lancement du term le prog se ferme *//
    	global pidActuel
        pidActuel = os.spawnl(os.P_NOWAIT, "/usr/bin/gnome-terminal", "")

    def Exit(self, Event):
       	self.Close()

    def __set_properties(self):
        # begin wxGlade: MyFrame.__set_properties
        self.SetTitle("nvidia")
        _icon = wx.EmptyIcon()
        _icon.CopyFromBitmap(wx.Bitmap("/home/bb/ecran.png", wx.BITMAP_TYPE_ANY))
        self.SetIcon(_icon)
        self.SetSize((170, 104))
        # end wxGlade

    def __do_layout(self):
        # begin wxGlade: MyFrame.__do_layout
        sizer_1 = wx.BoxSizer(wx.VERTICAL)
        grid_sizer_1 = wx.GridSizer(2, 1, 0, 0)
        grid_sizer_1.Add(self.button_1, 0, wx.EXPAND, 0)
        grid_sizer_1.Add(self.button_2, 0, wx.EXPAND, 0)
        self.panel_1.SetAutoLayout(True)
        self.panel_1.SetSizer(grid_sizer_1)
        grid_sizer_1.Fit(self.panel_1)
        grid_sizer_1.SetSizeHints(self.panel_1)
        sizer_1.Add(self.panel_1, 1, wx.EXPAND, 0)
        self.SetAutoLayout(True)
        self.SetSizer(sizer_1)
        self.Layout()
        # end wxGlade
        
class MyApp(wx.App):
    def OnInit(self):
        wx.InitAllImageHandlers()
        frame_1 = MyFrame(None, -1, "")
        self.SetTopWindow(frame_1)
        frame_1.Show()
        return 1
        
# end of class MyFrame
if __name__ == "__main__":
    app = MyApp(0)
    app.MainLoop()

voili voilà.
merci de votre soutient.

edit: c'est bon j'ai trouvé.
il fallait juste rajouter self.close() avant le pid.

Dernière modification par david breizh (Le 15/07/2007, à 23:41)


ah ! du fin fond de la bretagne grâce au libre on se sent moins seul!
Vive le libre et toutes les distributions qui m'ont fait découvrir le monde de linux!

Hors ligne