Got this project and started with some guide, you guys think im heading in the right direction? also how would I bring up the 10 channels when the guide function is called?

The program always display the current mode of the Tivo: A. viewing live channel B. channel recording C. playing recordings D. manage recordings E. Showing TV guide and F. off. Specific information appriopriate in each mode must be displayed, along with current volume. The information can be displayed in simple text or in a GUI.
The Tivo is set to off mode when the program starts. For simulation purpose, a list of ten channels shall be initialized when the program starts. For each channel, you shall also create a current program and a scheduled program immediately after it. You can create fake program names for the simulation.
Call function power() to turn the Tivo on/off. Call function guide() to switch to TV guide mode(E).
When the Tivo is on, the TV guide shall be displayed. UP/DOWN keys shall control the current selected program and channel. LEFT/RIGHT keys shall control which program is selected. The selected channel and programs are displayed when keys are pressed. A return key shall cause Tivo to either go to the mode of recording the program or the mode of showing live channels.
In viewing live channel mode, call function record() to record the current program. Call function stop() to return to TV guide mode.
In recording mode, Tivo stays at TV guide. But it will accept a stop() function to stop the recording. If not stopped, Tivo shall simulate the end of recording in 5 min. A function call recordings() causes Tivo to switch to display of recorded programs in manage recording mode (D).
In mode D, Tivo accepts a function play() to play the current selected recording. Delete() cause Tivo to delete the current selected recording. UP/DOWN keys control the current selected recording, if there’s multiple recordings created.

Write the program. Supply necessary data to test all functionalities. Submit the source code, testing data, and outputs as screen shots.

from Tkinter import *
from tkMessageBox   import showinfo

root = Tk()

def info():
    showinfo(None, "The current channel is - ")

def chan1():
    showinfo(None, "You are watching Channel 1")

def chan2():
    showinfo(None, "You are watching Channel 2")

def chan3():
    showinfo(None, "You are watching Channel 3")

def chan4():
    showinfo(None, "You are watching Channel 4")

def chan5():
    showinfo(None, "You are watching Channel 5")

def chan6():
    showinfo(None, "You are watching Channel 6")

def chan7():
    showinfo(None, "You are watching Channel 7")

def chan8():
    showinfo(None, "You are watching Channel 8")

def chan9():
    showinfo(None, "You are watching Channel 9")

def chan10():
    showinfo(None, "You are watching Channel 10")

def c_rec():
    showinfo(None, "You are now recording channel ")

def p_rec():
    showinfo(None, "You are now playing recording ")

def m_rec():
    showinfo(None, "Here is where you will manage your recordings")

def guide():
    showinfo(None, "Here is a list of channels")
    
def power():
    global root
    root.destroy()
 
menubar = Menu(root)
filemenu = Menu(menubar,  tearoff=0)
filemenu.add_command(label="A: Viewing Live Channel", command=info)
filemenu.add_command(label="B: Channel Recording", command=c_rec)
filemenu.add_command(label="C: Playing Recordings", command=p_rec)
filemenu.add_command(label="D: Manage Recordings", command=m_rec)
filemenu.add_command(label="E: Show TV Guide", command=guide)
filemenu.add_command(label="F: Turn Off", command=power)
filemenu.add_separator()
menubar.add_cascade(label="TiVo Guide", menu=filemenu)
menubar2 = Menu(root)
filemenu2 = Menu(menubar,  tearoff=1)
menubar.add_cascade(label="Channels", menu=filemenu2)
filemenu2.add_command(label="Channel 1", command=chan1)
filemenu2.add_command(label="Channel 2", command=chan2)
filemenu2.add_command(label="Channel 3", command=chan3)
filemenu2.add_command(label="Channel 4", command=chan4)
filemenu2.add_command(label="Channel 5", command=chan5)
filemenu2.add_command(label="Channel 6", command=chan6)
filemenu2.add_command(label="Channel 7", command=chan7)
filemenu2.add_command(label="Channel 8", command=chan8)
filemenu2.add_command(label="Channel 9", command=chan9)
filemenu2.add_command(label="Channel 10", command=chan10)
filemenu2.add_separator()

root.config(menu=menubar)
root.mainloop()

Recommended Answers

All 2 Replies

don't use menu. Your assignment talks allways visible menu screen.

Think of looking thsi in TV from sofa.

Show the menu described and register keys mentioned for functions not mouse operated menu.

^^yea but Im not to sure how to visually show those as buttons or anything

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.