Seite 1 von 1

Funktion nach Programmstart aufrufen

Verfasst: Dienstag 28. Januar 2020, 11:13
von pippsen
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

Re: Funktion nach Programmstart aufrufen

Verfasst: Dienstag 28. Januar 2020, 13:14
von __deets__
Bitte den Code zeigen. In den dafür vorgesehenen Code Tags - das ist der </>-Knopf im vollständigen Editor.

Re: Funktion nach Programmstart aufrufen

Verfasst: Dienstag 28. Januar 2020, 14:48
von pippsen

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()

Re: Funktion nach Programmstart aufrufen

Verfasst: Dienstag 28. Januar 2020, 15:00
von Sirius3
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.

Re: Funktion nach Programmstart aufrufen

Verfasst: Dienstag 28. Januar 2020, 15:19
von pippsen
Danke, das wäre ja einfach gewesen.