This MWE (test_combobox.py) produces a syntax error and I'm not seeing why:
-----
import tkinter as tk
from tkinter import ttk

import psycopg2

class ContactDataForm(tk.Frame):
    # set up postgres
    # the connection
    con = psycopg2.connect(database='bustrac')
    # the cursor
    cur = con.cursor()

    def __init__(self, parent, *args, **kwargs):
        super().__init__(parent, *args, **kwargs)
        # A dict to keep track of input widgets
        self.inputs = {}

        self.inputs['Contact Type'] = LabelInput(
            ContactDataForm, 'contact_type',
            # query to fetch data from contacttypes table
            fetch_all = "SELECT * from contacttypes"
            cur.execute(fetch_all)
            # fetching all rows
            rows = cur.fetchall()
            input_class=ttk.Combobox([values = rows])
            input_var=tk.StringVar()
            # get selected value and bind it to a method
            cont_type = self.get() # selected value by mouse click
            con.close()
            )
        self.inputs['Contact Type'].grid(row0, column1)
        ContactDataForm.grid(row=0, column=0, sticky='we')
-----

When run from the shell:
$ python test_combobox.py
  File "test_combobox.py", line 24
    cur.execute(fetch_all)
      ^
SyntaxError: invalid syntax

Here python is python3 by default.

What am I not seeing?

Rich


Reply via email to