Я создаю пользовательский интерфейс, в котором я беру набор данных из файла базы данных SQL и вставляю его в список. Я использую Tkinter Framework. У меня возникла проблема, когда я хочу добавить кортежи в другой пустой массив, чтобы я мог добавить ограниченный объем данных с заданной задержкой. Код, который я показал, это то, что я создал до сих пор, но я получаю сообщение об ошибке ниже, и я не имею ни малейшего понятия, как это исправить. Я также не слишком знаком с работой с кортежами.
from tkinter import *
import sqlite3 as sq
import time
def Record():
conn = sq.connect('brian_UI_test.db')
c = conn.cursor()
c.execute("SELECT*FROM TEST")
rows = c.fetchall() # Gets the data from the table
counter = 0
list1 = []
for row in rows:
counter = counter + 1
Lb.insert(END,row)# Inserts record row by row in list box
list1.append(row)
print(row)
time.sleep(1)
if counter%4==0:
for counter in list1:
print(counter)
Lb.insert(counter)
c.close()
conn.close()
window = Tk()
frame = Frame(window)
Lb = Listbox(frame, height = 8, width = 25,font=("arial", 12))
scroll = Scrollbar(frame, orient = VERTICAL) # set scrollbar to listbox for when entries exceed size of list box
scroll.config(command = Lb.yview)
scroll1 = Scrollbar(frame, orient = HORIZONTAL)
scroll1.config(command = Lb.xview)
Lb.config(yscrollcommand = scroll.set)
Lb.config(xscrollcommand = scroll1.set)
scroll1.pack(side = BOTTOM, fill = X)
Lb.pack(side = LEFT, fill = Y)
scroll.pack(side = RIGHT, fill = Y)
Lb.insert(0, 'Time, Message') #first row in listbox
b13 = Button(window, text = "OPEN DB File", width= 14, command=lambda:Record())
b13.grid(row = 0, column = 7, padx = 10)
Ошибка:
Traceback (most recent call last):
File "C:\Program Files (x86)\Microsoft Visual
Studio\Shared\Python37_64\lib\tkinter\__init__.py",line 1705, in __call__return self.func(*args)
File "Interface.py", line 122, in <lambda>
b13 = Button(window, text = "OPEN DB File", width= 14, command=lambda:Record())
File "Interface.py", line 25, in Record
counter = counter + 1
TypeError: can only concatenate tuple (not "int") to tuple