[Tutor] mamelauncher

Max Russell max_russell2000 at yahoo.co.uk
Fri Sep 9 23:04:56 CEST 2005


Hi:

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.

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


More information about the Tutor mailing list