Ziemlich neu zum Erstellen von Anwendungen in Python und ich kann nicht herausfinden, wie man Argumente von anderen Klassenfunktionen an andere Klassen übergeben. Basierend auf was ich lese, ich denke, ich sollte def init in CustomPopup-Klasse verwenden, aber nicht in der Lage, es funktioniert zu bekommen. HierPython bekommt Attribut von einer anderen Klasse in eine andere Klasse
ist eine gestrippt Version von dem, was ich zu tun versuche, dies funktioniert aber ich versuche txt_input von Popuper zu CustomPopup zu bekommen, aber nicht bekommen kann es funktioniert:
Python:
from kivy.app import App
from kivy.lang import Builder
from os import listdir
from kivy.uix.screenmanager import Screen, ScreenManager
from kivy.uix.popup import Popup
import teradata
import Global
class CustomPopup(Popup):
txt_input = 'Text'
udaExec = teradata.UdaExec()
kv_path = './kv/'
for kv in listdir(kv_path):
Builder.load_file(kv_path+kv)
class LoginScreen(Screen):
def buttonClicked(self):
Global.u_name = self.ids.u_name.text
Global.p_word = self.ids.p_word.text
status = None
try:
with udaExec.connect("${dataSourceName}",username=self.ids.u_name.text,password=self.ids.p_word.text) as session:
try:
session
except teradata.DatabaseError as e:
status = e.code
except teradata.DatabaseError as e:
status = e.code
if status == 8017:
self.popuper('Hello')
elif status == None:
self.popuper('All Good')
elif status == 0:
self.popuper('Fill in username')
else:
self.popuper('Something else')
def popuper(self, txt_input):
popuper = CustomPopup()
popuper.open()
class MainScreen(Screen):
pass
class ScreenManagement(ScreenManager):
pass
application = Builder.load_file("main.kv")
class MainApp(App):
def build(self):
self.title = 'Push Notfication Tool'
return application
if __name__ == "__main__":
MainApp().run()
Kivy :
<[email protected]>:
size_hint: (.5,.5)
auto_dismiss: False
title: "af"
BoxLayout:
orientation: 'vertical'
Label:
text: root.txt_input
Button:
text: "Close now"
on_press: root.dismiss()
Vielen Dank!
* EDIT hinzugefügt Kivy-Datei als auch.
Bitte geben Sie eine [Minimal, vollständig und prüfbare Beispiel] (https://stackoverflow.com/help/ mcve) - Dein Code macht ohne die richtige Einrückung und Syntax keinen Sinn - kurz: Es funktioniert nicht atm. - "__init__" ist z. covered hier: https://stackoverflow.com/a/625097/7505395 –
Mögliche Duplikate von [Python \ _ \ _ init \ _ \ _ und selbst was tun sie?] (https://stackoverflow.com/questions/625083/python-init-and-self-was-tun-sie-tun) –
Hallo, hinzugefügtes Beispiel des aktuellen Codes. Alles andere funktioniert so weit anders als ich nicht herausfinden kann, wie man txt_input von popuper zu CustomPopup bekommt. – puputtiap