2016-03-20 13 views
0

Ich würde gerne wissen, wie ich meine Funktion mit einem Fenster verbinden kann, das ich mit tkinter erstellt habe. Ich habe viele Möglichkeiten versucht, sie zu verbinden, aber es wird nicht funktionieren. Ich versuche, meine Datenbank in einem neuen Fenster anzuzeigen.Problem beim Öffnen eines neuen Fensters in Python mit tkinter

import sys # Import the sys 
from Tkinter import * # Makign a Window from the library 
import Tkinter as tk 
import sqlite3 as sql # Connection 
con = sql.connect('ALL') # Connection to database and name 
cur = con.cursor() # Connection to database 

def onclick(obj): 

    data = obj.data_customer() 
    for row in data: 
    print(row) 

    root = tk.Tk() 
    root.title("Customer Data") 
    root.geometry("200x100+30+30") 
    root.configure(bg="white") 
    button = tk.Button(onclick, text="Lift", command=onclick(obj)) 
    button.pack 

    #root = Tk() #create the root window 
    #root.data 
    #root.title("Data") #modify the window 
    #root.geometry("800x800") 
    #root.mainloop() #Start the window's event-loop 

    #root = Tk() 
    #text.insert(INSERT, "") 
    #text.insert(END, self.data_customer) 
    #text.pack() 
    #root.title("CustomerData") #changes title name 
    #onclick(data) 
    #root.mainloop() 

Antwort

0

Wenn ich Ihre Frage richtig verstanden habe, haben Sie bereits ein Fenster und Sie möchten Ihre Daten in einem neuen anzeigen. In diesem Fall sollten Sie Tkinter's toplevel widget versuchen. Fügen Sie einfach Ihre Daten auf der obersten Ebene hinzu und es wird in einem neuen Fenster angezeigt.

+0

Was bedeutet das? Verwendet das top = Toplevel() und übergibt meine Funktion als Argument? – fumar97

+0

Sie können Widgets zu einem Toplevel hinzufügen, genauso wie Sie sie zu einem anderen Widget hinzufügen würden. Wenn Sie zum Beispiel ein Label haben, das Sie zum Toplevel hinzufügen möchten, würden Sie 'mylabel = Label (top, text =" my text ")' machen. Natürlich müssen Sie auch einen Geometrie-Manager verwenden, um sie korrekt im Fenster zu platzieren. Ich hoffe, das hilft. – VlassisFo

Verwandte Themen