Уведомления

Группа в Telegram: @pythonsu

#1 Март 15, 2017 17:48:55

Ruslan320
Зарегистрирован: 2017-03-15
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод данных из таблицы

Здравствуйте! Помогите пожалуйста исправить код.
При запуске кода получаю только последнюю строку таблицы.
Надо чтобы при нажатии на кнопку в label выходили все данные из таблицы. Не судите строго только начал изучать python
Заранее огромное спасибо!

 from tkinter import * 
import sqlite3 as lite 
import sys 
def Square():
    con = lite.connect('sport.sqlite')
    with con:
        cur = con.cursor()
        cur.execute("SELECT * FROM HOCKEY")
        while True:
            row = cur.fetchone()
            if row == None:
                break
            label["text"] = row[0], "|", row[1], "|", "Адрес:", row[2], "|", "Главный тренер:", row[3], "|", row[4], "|", "Год создания:", row[5]
root=Tk() 
button = Button(root, text="Go", command = Square) 
button.grid(row=1, column=1) 
label = Label(root, height=40) 
label.grid(row=0, column=0) 
root.mainloop()

Офлайн

#2 Март 15, 2017 19:52:21

MrViktor
Зарегистрирован: 2017-03-09
Сообщения: 83
Репутация: +  8  -
Профиль   Отправить e-mail  

Вывод данных из таблицы

Ruslan320
при нажатии на кнопку в label выходили все данные из таблицы.
Для начала, label помоему для этих целей не очень. А так Вам надо в строку добавления записи в лайбл в конце добавить перевод каретки и к текущему значению добавлять новое, примерно так
 label["text"] += row[0], "|", row[1], "|", "Адрес:", row[2], "|", "Главный тренер:", row[3], "|", row[4], "|", "Год создания:", row[5]

Отредактировано MrViktor (Март 15, 2017 20:06:54)

Офлайн

#3 Март 16, 2017 13:03:14

Ruslan320
Зарегистрирован: 2017-03-15
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод данных из таблицы

MrViktor
Выходит ошибка.
TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’

Офлайн

#4 Март 16, 2017 13:11:17

4kpt_V
От: Харьков
Зарегистрирован: 2017-02-19
Сообщения: 299
Репутация: +  12  -
Профиль   Отправить e-mail  

Вывод данных из таблицы

Ruslan320
Все, же, в общем-то понятно. Одни из переменных является числом, а другая строкой. И Вы пытаетесь их сложить. В python, слава богу, нет такого приведения типов, поэтому ругается на ошибку, что не может сложить число и строку…

Офлайн

#5 Март 16, 2017 13:59:22

MrViktor
Зарегистрирован: 2017-03-09
Сообщения: 83
Репутация: +  8  -
Профиль   Отправить e-mail  

Вывод данных из таблицы

Ruslan320
Выходит ошибка.
Я же написал, что примерно так, с Tk не сталкивался.
У меня данный код работает
 import tkinter
root = tkinter.Tk()
lab = tkinter.Label(root, height=40, text="привет \n")
lab.grid(row=1, column=1)
str1 = 'Лунатики \n'
str2 = 'Я пришел \n'
str3 = 'с миром \n'
lab['text'] += str1
lab['text'] += str2
lab['text'] += str3
root.mainloop()
Накидал для проверки, какой тип данных у Вас там получается я не знаю т.к. Ваш пример завязан на базу данных которой у меня нет.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version