Python Forum
[Tkinter] Listbox and Button not showing
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Tkinter] Listbox and Button not showing
#1
I am following a tutorial on YouTube. That person is using Python 3.7.2 and I am using 3.7.4. I am not getting the list box correctly portrayed and the buttons at the bottom of the GUI is not showing at all. I have went over the tutorial several times and cannot find where the problem lies. Here is the coding I have so far. I am getting a Listbox error but I don't see where in the tutorial this was defined. Thank you.

Error:
Traceback (most recent call last): File "C:\Users\pe\Documents\Python 3 Film Database\Python 3 Film Database\film.py", line 121, in <module> application = Film(root) File "C:\Users\pe\Documents\Python 3 Film Database\Python 3 Film Database\film.py", line 94, in __init__ filmlist = ListBox(DataFrameRIGHT, width=41, height=16, font=('arial', 12, 'bold'), yscrollcommand=scrollbar.set) NameError: name 'ListBox' is not defined
#Frontend

from tkinter import* 
import tkinter.messagebox
import filmDatabase_BackEnd

class Film:

    def __init__(self,root):
        self.root =root
        self.root.title("Classic Film Collection")
        self.root.geometry("1350x750+0+0")
        self.root.config(bg="cadet blue")

        Title = StringVar()
        Year  = StringVar()
        Genre = StringVar()
        Actors = StringVar()
        Directors = StringVar()
        Summary = StringVar()
        Rating = StringVar()
        Length = StringVar()

        #=====================================Functions=================================

        def iExit():
            iExit = tkinter.messagebox.askyesno("Classic Film Collection", "Confirm if you want to exit")
            if iExit > 0:
                root.destroy()
                return

        def clearData():
            self.textFilm_Num.delete(0,END)
            self.textactors.delete(0,END)
            self.textdirectors.delete(0,END)
            self.textgenre.delete(0,END)
            self.textlength.delete(0,END)
            self.textsummary.delete(0,END)
            self.textrating.delete(0,END)
            self.texttitle.delete(0,END)
            self.textyear.delete(0,END)

        #=====================================Frames=====================================
        MainFrame = Frame(self.root, bg="cadet blue")
        MainFrame.grid()

        TitFrame = Frame(MainFrame, bd=2, padx=54,pady=8, bg="Ghost White", relief=RIDGE)
        TitFrame.pack(side=TOP)

        self.lblTit = Label(TitFrame, font=('arial', 47,'bold'), text="Classic Film Collection",bg="Ghost White")
        self.lblTit.grid()

        ButtonFrame =Frame(MainFrame, bd=2, width=1350, height=70, padx=18,pady=10, bg="Ghost White", relief=RIDGE)
        ButtonFrame.pack(side=BOTTOM)

        DataFrame =Frame(MainFrame, bd=1, width=1300, height=400, padx=20, pady=20, relief=RIDGE, bg="Cadet Blue")
        DataFrame.pack(side=BOTTOM)

        DataFrameLEFT =LabelFrame(DataFrame, bd=1, width=1000, height=600, padx=20, relief=RIDGE ,bg="Ghost White", font=('arial', 20, 'bold'), text="Film Information\n")
        DataFrameLEFT.pack(side=LEFT)

        DataFrameRIGHT =LabelFrame(DataFrame, bd=1, width=450, height=300, padx=31, pady=3, relief=RIDGE, bg="Ghost White", font=('arial', 20, 'bold'), text="Film Details\n")
        DataFrameRIGHT.pack(side=RIGHT)
                                 
        #========================================Labels and Entry Widget===============================
        self.lblTitle = Label(DataFrameLEFT, font=('arial', 20,'bold'),text="Title:", padx=2, pady=2, bg="Ghost White")
        self.lblTitle.grid(row=0, column=0, sticky=W)
        self.txtTitle = Entry(DataFrameLEFT, font=('arial', 20,'bold'),textvariable=Title, width=39)
        self.txtTitle.grid(row=0, column=1)

        self.lblyr = Label(DataFrameLEFT, font=('arial', 20, 'bold'),text="Year:", padx=2, pady=2, bg="Ghost White")
        self.lblyr.grid(row=1, column=0, sticky=W)
        self.txtyr = Entry(DataFrameLEFT, font=('arial', 20, 'bold'),textvariable=Year, width=39)
        self.txtyr.grid(row=1, column=1)

        self.lblact = Label(DataFrameLEFT, font=('arial', 20, 'bold'),text="Actors:", padx=2, pady=2, bg="Ghost White")
        self.lblact.grid(row=2, column=0, sticky=W)
        self.txtact = Entry(DataFrameLEFT, font=('arial', 20, 'bold'),textvariable=Actors, width=39)
        self.txtact.grid(row=2, column=1)

        self.lbldir = Label(DataFrameLEFT, font=('arial', 20, 'bold'),text="Directors:", padx=2, pady=2, bg="Ghost White")
        self.lbldir.grid(row=3, column=0, sticky=W)
        self.txtdir = Entry(DataFrameLEFT, font=('arial', 20, 'bold'),textvariable=Directors, width=39)
        self.txtdir.grid(row=3, column=1)

        self.lblgen = Label(DataFrameLEFT, font=('arial', 20, 'bold'),text="Genre:", padx=2, pady=2, bg="Ghost White")
        self.lblgen.grid(row=4, column=0, sticky=W)
        self.txtgen = Entry(DataFrameLEFT, font=('arial', 20, 'bold'),textvariable=Genre, width=39)
        self.txtgen.grid(row=4, column=1)

        self.lblsum = Label(DataFrameLEFT, font=('arial', 20, 'bold'),text="Summary:", padx=2, pady=2, bg="Ghost White")
        self.lblsum.grid(row=5, column=0, sticky=W)
        self.txtsum = Entry(DataFrameLEFT, font=('arial', 20, 'bold'),textvariable=Summary, width=39)
        self.txtsum.grid(row=5, column=1)

        self.lblrat = Label(DataFrameLEFT, font=('arial', 20, 'bold'),text="Rating:", padx=2, pady=2, bg="Ghost White")
        self.lblrat.grid(row=6, column=0, sticky=W)
        self.txtrat = Entry(DataFrameLEFT, font=('arial', 20, 'bold'),textvariable=Rating, width=39)
        self.txtrat.grid(row=6, column=1)
        #=================================================ListBox & ScrollBar Widget=======================================================
               
        scrollbar = Scrollbar(DataFrameRIGHT)
        scrollbar.grid(row=0, column=1, sticky='ns')

        filmlist = ListBox(DataFrameRIGHT, width=41, height=16, font=('arial', 12, 'bold'), yscrollcommand=scrollbar.set)
        filmlist.grid(row=0, column=0, padx=8)
        scrollbar.config(command = filmlist.yview)

        #================================================Button Widget ======================================================================
        self.btnAddData = Button(ButtonFrame, text="Add New", font=('arial', 20, 'bold'),height=1, width=10, bd=4)
        self.btnAddData.grid(row=0, column=0)
        
        self.btnDisplayData = Button(ButtonFrame, text="Display", font=('arial', 20, 'bold'),height=1, width=10, bd=4)
        self.btnDisplayData.grid(row=0, column=1)
        
        self.btnClearData = Button(ButtonFrame, text="Clear", font=('arial', 20, 'bold'),height=1, width=10, bd=4)
        
        self.btnClearData.grid(row=0, column=2)
        
        self.btnDeleteData = Button(ButtonFrame, text="Delete", font=('arial', 20, 'bold'),height=1, width=10, bd=4)
        self.btnDeleteData.grid(row=0, column=3)
        
        self.btnSearchData = Button(ButtonFrame, text="Search", font=('arial', 20, 'bold'),height=1, width=10, bd=4)
        self.btnSearchData.grid(row=0, column=4)
        
        self.btnUpdateData = Button(ButtonFrame, text="Update", font=('arial', 20, 'bold'),height=1, width=10, bd=4)
        self.btnUpdateData.grid(row=0, column=5)
        
        self.btnExit = Button(ButtonFrame, text="Exit", font=('arial', 20, 'bold'),height=1, width=10, bd=4, command=iExit)
        self.btnExit.grid(row=0, column=6)
        
        

            
        

if __name__=='__main__':
        root = Tk()
        application = Film(root)
        root.mainloop()
Reply
#2
error line numbers don't match listing
I don't see where you are ever calling filmlist once defined
Reply
#3
Quote:NameError: name 'ListBox' is not defined
"ListBox doesn't exist, i.e. it's mis-spelled.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  tkinter showing image in button rwahdan 3 5,523 Jun-16-2021, 06:08 AM
Last Post: Yoriz
  Button to add data to database and listbox SalsaBeanDip 1 2,806 Dec-06-2020, 10:13 PM
Last Post: Larz60+
  [Tkinter] showing return from button on main screen blazejwiecha 4 2,595 Nov-22-2020, 04:33 PM
Last Post: blazejwiecha
  [PySimpleGui] How to alter mouse click button of a standard submit button? skyerosebud 3 4,949 Jul-21-2019, 06:02 PM
Last Post: FullOfHelp

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020