Python 3 MySql abfrage in eine Listbox oder in ein dgv

Fragen zu Tkinter.
Antworten
schnibli
User
Beiträge: 27
Registriert: Mittwoch 19. November 2014, 18:52

Hallo zusammen,

Ich habe folgendes tkinter Fenster und folgende abfrage:

Code: Alles auswählen

from tkinter import *
import pymysql



root = Tk()
root.title("Datenbank")
root.geometry("170x200+30+30") 
myContainer = Frame(root)
myContainer.pack(side=TOP, expand=YES, fill=BOTH)

conn = pymysql.connect(host='192.168.1.5', unix_socket='/tmp/mysql.sock', user='test', passwd='123456', db='projekt_stundenerfassung')
cur = conn.cursor()
cur.execute("SELECT id,projekt_nr,projekt_bezeichnung, erledigt FROM projekte")
for r in cur:
    print(r)


root.mainloop()
cur.close()
conn.close()
Nun würde ich gerne die Ausgabe nicht im "cmd" anschauen sondern in ein "Grid" oder in eine "listbox" packen.

Kann mir jemand helfen?
sommerschnee
User
Beiträge: 7
Registriert: Dienstag 19. August 2014, 20:02

Moin,

ohne unhöflich wirken zu wollen, ein bisschen googlen hätte dich vermutlich auch auf die Lösung gebracht... das nächste mal vielleicht zuerst selbst die Mühe machen und dann Fragen!
Dennoch hier ein Beispiel wie es machbar wäre:

Code: Alles auswählen

def listIt(result):
    list = Listbox(root)
    list.pack()
    for item in result:
        list.insert(END, item)

# Datenbank Abfrage....

result = []
for row in cur:
    result.extend(row)

listIt(result)
...und noch als dezente Hinweis: OOP!!!

Gruß Markus
Gelber Schnee ist kein Zitroneneis!
Antworten