Funktion nach Programmstart aufrufen

Fragen zu Tkinter.
Antworten
pippsen
User
Beiträge: 7
Registriert: Dienstag 28. Januar 2020, 11:07

Hallo zusammen,

ich beschäftige mich seit neuesten mit Python und TKinter. Im Moment versuche ich mich an einer kleinen GUI. Hier soll eine Textdatei ausgelesen und in Label geschrieben werden. Das funktioniert schon wenn ich einen Button verwende und die entsprechende Funktion aufrufe. Gerne würde ich aber auch die Funktion einmal beim Start der GUI automatisch aufrufen lassen, finde aber keinen Lösungsansatz. Aus diesem Grund wäre ich über Hilfe dankbar.

Beste Grüße
__deets__
User
Beiträge: 14522
Registriert: Mittwoch 14. Oktober 2015, 14:29

Bitte den Code zeigen. In den dafür vorgesehenen Code Tags - das ist der </>-Knopf im vollständigen Editor.
pippsen
User
Beiträge: 7
Registriert: Dienstag 28. Januar 2020, 11:07

Code: Alles auswählen

from tkinter import *
from tkinter import messagebox


def loadConfig():
    dateihandler = open('C:\config.txt',"r")
    inhalt = dateihandler.read()
    tabelle = []
    zeilen = inhalt.split('\n')
    for i in range(len(zeilen)):
        spalten = zeilen[i].split(';')
        tabelle.append(spalten)
    dateihandler.close()

def on_closing():
    if messagebox.askokcancel("Beenden", "Wollen Sie wirklich das Programm beenden?"):
        root.destroy()


root = Tk()
root.geometry("500x500+300+300")
root.wm_resizable(width=False, height=False)
root.title("SPM")

menu = Menu(root)
root.config(menu=menu)


# Toolbar
toolbar =Frame(root, bg="blue")

LoadButt = Button(toolbar, text="Laden", command=loadConfig)
LoadButt.pack(side=LEFT, padx=2, pady=2)
toolbar.pack(side=TOP, fill=X)


root.protocol("WM_DELETE_WINDOW", on_closing)
root.mainloop()
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

Konvention ist es Variablen- und Funktionsnamen klein_mit_unterstrich zu schreiben.
Zum Lesen von csv-Dateien gibt es das csv-Modul. `loadConfig` tut im Moment nichts.

Code: Alles auswählen

import csv

CONFIG_FILENAME = "C:/config.txt"
def load_config():
    with open(CONFIG_FILENAME) as lines:
        reader = csv.reader(lines, delimiter=";")
        table = list(reader)
    #TODO: do something with table
Du kannst vor mainloop einfach `load_config` aufrufen.
pippsen
User
Beiträge: 7
Registriert: Dienstag 28. Januar 2020, 11:07

Danke, das wäre ja einfach gewesen.
Antworten