Skip to content
Advertisement

TypeError occurs when trying to close Tkinter window in Python

I am currently working on a coursework project for school and it is a database system with a user interface using Tkinter, Python and SQLite3.I made this function to close the window, however the following error is being displayed. I have attached a snippet of the code and a photo of the form.

Exception in Tkinter callback Traceback (most recent call last): File “C:UsersRyanAppDataLocalProgramsPythonPython38-32libtkinter_init_.py”, line 1883, in call return self.func(*args) TypeError: quit() takes 0 positional arguments but 1 was given

import sys

try:
    import Tkinter as tk
except ImportError:
    import tkinter as tk

try:
    import ttk
    py3 = False
except ImportError:
    import tkinter.ttk as ttk
    py3 = True

from PIL import Image, ImageTk

import CustomerForm_support
import os.path
import sqlite3
import tkinter.messagebox

def vp_start_gui():
    '''Starting point when module is the main routine.'''
    global val, w, root
    global prog_location
    prog_call = sys.argv[0]
    prog_location = os.path.split(prog_call)[0]
    root = tk.Tk()
    top = CustomerForm (root)
    CustomerForm_support.init(root, top)
    root.mainloop()

w = None
def create_CustomerForm(rt, *args, **kwargs):
    '''Starting point when module is imported by another module.
       Correct form of call: 'create_CustomerForm(root, *args, **kwargs)' .'''
    global w, w_win, root
    global prog_location
    prog_call = sys.argv[0]
    prog_location = os.path.split(prog_call)[0]
    #rt = root
    root = rt
    w = tk.Toplevel (root)
    top = CustomerForm (w)
    CustomerForm_support.init(w, top, *args, **kwargs)
    return (w, top)


class CustomerForm:
    def quit():
        root.quit()

enter image description here

Advertisement

Answer

Basic class mistake. All methods must have ‘self’ as the first argument.

class CustomerForm:
    def quit(self):
        root.quit()
User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement