[Tutor] mamelauncher

Max Russell max_russell2000 at yahoo.co.uk
Sat Sep 10 09:41:52 CEST 2005


I was using 2.3 but upgraded to 2.4 last night because
I had read about the subprocess module (then Danny
also brought tat to my attention.)

The wierd spacing is just Yahoo, sorry!

I'm probably going to try the same project in WX and
then QT, just to get a flavour.

thanks
Max
--- Alan G <alan.gauld at freenet.co.uk> wrote:

> > I've been working on this for ages and am having
> real
> > problems with getting the wiring for a selected
> game
> > to launch when I click OK.
> 
> So what problems are you having? Do you get an error
> trace?
> A superficial glance tells me only that
> 1) You might find using Tix will simplify your
> code(scrollable 
> listboxes etc)
> 2) Your mailer seems to be adding extra lines, ie I
> assume the code 
> isn't
>    really double spaced? :-)
> 
> So whats the specific problem?
> Oh yes - and what version of Python?
> 
> Alan G.
> 
> > I haven't added my error handling yet.
> >
> > Can anyone help?
> >
> > I've tried using spawn, system etc etc to no
> avail.
> >
> > #Mame Launcher
> >
> > #GUI launcher for MAME games
> >
> > #First 'hack' 15th June 2005
> >
> > #Hacking again 19th August
> >
> >
> >
> > import sys, os, subprocess
> >
> >
> >
> > from Tkinter import *
> >
> >
> >
> > class Mamelaunch(Frame):
> >
> >    """ GUI application to display MAME games in
> >
> >    a list, then launch them. """
> >
> >    def __init__(self, master):
> >
> >        """ Initialize the frame. """
> >
> >        Frame.__init__(self, master)
> >
> >        self.grid()
> >
> >        self.create_widgets()
> >
> >        self.listgames()
> >
> >
> >
> >    def create_widgets(self):
> >
> >        """ Create button, text, and entry widgets.
> > """
> >
> >        # create instruction label
> >
> >        self.inst_lbl = Label(self, text = "Please
> > select a game")
> >
> >        self.inst_lbl.grid(row = 0, column = 0,
> > columnspan = 2, sticky = W)
> >
> >
> >
> >        # create label for password
> >
> >        self.pw_lbl = Label(self, text = "Click OK
> > when ready ")
> >
> >        self.pw_lbl.grid(row = 12, column = 0,
> sticky
> > = W)
> >
> >
> >
> >        #create the scrollbar for the listbox
> >
> >        self.yScroll = Scrollbar ( self,
> > orient=VERTICAL )
> >
> >        self.yScroll.grid ( row=1, column=1,
> > sticky=N+S )
> >
> >
> >
> >        # create listbox to list games
> >
> >        self.lstbx =Listbox(self, height = 20,
> > yscrollcommand=self.yScroll.set, borderwidth = 5,
> >
> >                            relief = "sunken",
> > highlightcolor = "blue",
> selectbackground="orange",
> >
> >                            selectmode="single")
> >
> >        self.lstbx.grid(row = 1, column =
> > 0,sticky=N+S+W)
> >
> >        #lock the vertical scroll to the listbox.
> >
> >        self.yScroll["command"] = self.lstbx.yview
> >
> >
> >
> >        # create ok button
> >
> >        self.submit_bttn = Button(self, text =
> "OK")
> >
> >        self.submit_bttn.grid(row = 12, column = 1,
> > sticky = S+W)
> >
> >        self.submit_bttn.bind("<Button-1>",
> > self.launchmame)
> >
> >
> >
> >        # create quit button
> >
> >        self.submit_bttn = Button(self, text =
> "Quit",
> > command = self.quit)
> >
> >        self.submit_bttn.grid(row = 12, column = 2,
> > sticky = S+W)
> >
> >
> >
> >    #Try reading list in prior to creating relevant
> > widgets
> >
> >    def listgames(self):
> >
> >        """reads list and populates listbox"""
> >
> >        try:
> >
> >            mamefile = open('C:\\mamelist.txt',
> > 'r').readlines()
> >
> >        except EnvironmentError:
> >
> >            print "Please check file is in
> directory"
> >
> >        else:
> >
> >            #split list, populate listbox
> >
> >            for game in mamefile:
> >
> >                game = game.rstrip()
> >
> >                self.lstbx.insert(END, game)
> >
> >
> >
> >    def launchmame(self, event):
> >
> >        """Mechanism to launch MAME game"""
> >
> >        selection = self.lstbx.curselection()
> >
> >        print selection
> >
> >        os.system("C:\\mame096b\\mame.exe"+""+
> > selection)
> >
> >
> >
> > #        try:
> >
> > #            os.system(echo "game")
> >
> > #        except:
> >
> > #            SystemError(), "Command not found"
> >
> >
> >
> > # main
> >
> > root = Tk()
> >
> > root.title("MAME Launcher")
> >
> > root.geometry("220x330")
> >
> >
> >
> > app = Mamelaunch(root)
> >
> >
> >
> >
> >
> > root.mainloop()
> >
> >
> >
> >
> >
> >
>
___________________________________________________________
> > To help you stay safe and secure online, we've
> developed the all new 
> > Yahoo! Security Centre.
> http://uk.security.yahoo.com
> >
> > 
> 
> 



		
___________________________________________________________ 
To help you stay safe and secure online, we've developed the all new Yahoo! Security Centre. http://uk.security.yahoo.com


More information about the Tutor mailing list