vom Unterprogramm auf Hauptprogramm zu greifen
Verfasst: Sonntag 11. Dezember 2022, 13:17
ich habe ein Hauptprogramm "v1_gui.py" und greife damit auf mein Unterprogramm "v1_order_schleife.py" , dadurch dass ich das unterprogramm ins hauptprogramm importiere.
Wie kann ich nun auch vom Unterprogramm grundsätzlich eine Funktion im Hauptprogramm aufrufen? wenn ich das Hauptprogramm im Unterpgromm importiere, kommt die Fehlermeldung
"AttributeError: partially initialized module 'v1_order_schleife' has no attribute 'verbinden' (most likely due to a circular import)". Als der Button soll grün werden, sobald connected...
Leider bin ich auch nach 2 Stunden recherche auf keine Lösung gekommen... wäre super wenn mir jemand helfen könnte. Danke.
hier der code:
"v2_gui.py:"
from tkinter import *
from ib_insync import *
import v1_order_schleife
window = Tk()
window.title("Bot")
window.geometry("500x500") #Fenstergröße
def ausloesenundordern():
strike = int(eingabefeld_strike.get())
kurs = float(eingabefeld_kurs.get())
anzahl = int(eingabefeld_anzahl.get())
v1_order_schleife.orderschleifeplatzieren(strike, kurs, anzahl)
k_knopf = Button(text='not connected', bg='red', command=v1_order_schleife.verbinden)
ok_knopf.grid(row=0, column=0)
"v1_oder_schliefe.py":
from ib_insync import *
import numpy as np
import v1_gui
def verbinden():
global ib
ib = IB()
ib.connect('127.0.0.1', 7497, clientId=1)
if ib.client.isReady():
print("connected")
ok_knopf.configure(text='connected', bg='green')
Wie kann ich nun auch vom Unterprogramm grundsätzlich eine Funktion im Hauptprogramm aufrufen? wenn ich das Hauptprogramm im Unterpgromm importiere, kommt die Fehlermeldung
"AttributeError: partially initialized module 'v1_order_schleife' has no attribute 'verbinden' (most likely due to a circular import)". Als der Button soll grün werden, sobald connected...
Leider bin ich auch nach 2 Stunden recherche auf keine Lösung gekommen... wäre super wenn mir jemand helfen könnte. Danke.
hier der code:
"v2_gui.py:"
from tkinter import *
from ib_insync import *
import v1_order_schleife
window = Tk()
window.title("Bot")
window.geometry("500x500") #Fenstergröße
def ausloesenundordern():
strike = int(eingabefeld_strike.get())
kurs = float(eingabefeld_kurs.get())
anzahl = int(eingabefeld_anzahl.get())
v1_order_schleife.orderschleifeplatzieren(strike, kurs, anzahl)
k_knopf = Button(text='not connected', bg='red', command=v1_order_schleife.verbinden)
ok_knopf.grid(row=0, column=0)
"v1_oder_schliefe.py":
from ib_insync import *
import numpy as np
import v1_gui
def verbinden():
global ib
ib = IB()
ib.connect('127.0.0.1', 7497, clientId=1)
if ib.client.isReady():
print("connected")
ok_knopf.configure(text='connected', bg='green')