2017-11-15 9 views
-2

Mein Code für Login-Seite nicht funktioniert, wenn ich die Funktion nenne ‚HTTP_CONNECTION‘ von Schaltfläche „Öffnen‘ auf der Hauptseite.Login-Seite mit tkinter und Python für API AWS Cloud

Es wird Verbindung zu F5 machen Gerät, Syntax funktioniert gut, wenn ich Eingang für a, b gäbe, direkt c, von Tkinter ich versuche

from tkinter import * 
root=Tk() 
root.title("Automated Configuration Manager") 


def HTTP_Connection(): 
    a=et1.get() 
    b=et2.get() 
    c=et3.get() 
    urllib3.disable_warnings() 
    mgmt = ManagementRoot('a','b','c') 
    ltm = mgmt.tm.ltm 
    virtuals = mgmt.tm.ltm.virtuals 
    virtual = mgmt.tm.ltm.virtuals.virtual 


mainframe = Frame(root) 
mainframe.grid(column=0,row=0, sticky=(N,W,E,S)) 
mainframe.columnconfigure(0, weight = 1) 
mainframe.rowconfigure(0, weight = 1) 
mainframe.pack(pady = 100, padx = 100) 

#choices = { 'F5','A5A','PA' } 
var = StringVar() 
popupMenu = OptionMenu(mainframe, var,'F5','A5A','PA') 
Label(mainframe, text="Choose a Option").grid(row = 1, column = 1) 
popupMenu.grid(row = 2, column =1) 



l1 = Label(root, text = "Enter IP Address:") 
l1.pack() 
global et1 
global et2 
global et3 
et1 = Entry(root, bd = 5) 
et1.pack() 
a=et1.get() 

l2 = Label(root, text = "User Name:") 
l2.pack() 
et2 = Entry(root, bd=5) 
et2.pack() 
b=et2.get() 

g=StringVar() 
g="enter password:" 
l3=Label(root, text = g) 
l3.pack() 
et3 = Entry(root, bd=5, show = "*") 
et3.pack() 

b = Button(root, text = "Open", bd =5,command=HTTP_Connection) 
b.pack() 



root.mainloop() 
+0

Ich verstehe nicht, was es ist, Sie versuchen zu erreichen? Benötigen Sie Ihr Programm, um innerhalb einer Funktionsdeklaration drei Variablen in einem bestimmten Format zurückzugeben? –

+0

Ja, der Wert, den ich auf der Anmeldeseite eintippe. –

+0

Wo sind die im Programm deklarierten Werte und für welche Funktion müssen sie Parameter sein? –

Antwort

1

In dieser Funktion zu erreichen.

def HTTP_Connection(): 
    a=et1.get() 
    b=et2.get() 
    c=et3.get() 
    urllib3.disable_warnings() 
    mgmt = ManagementRoot('a','b','c') 
    ltm = mgmt.tm.ltm 
    virtuals = mgmt.tm.ltm.virtuals 
    virtual = mgmt.tm.ltm.virtuals.virtual 

Sie deklarieren drei Variablen a, b und c, die Sie dann nicht verwenden. Stattdessen führen Sie ManagementRoot('a','b','c') aus, das Zeichenfolgen verwendet, die die Werte "a", "b" und "c" anstelle der Variablen enthalten, die Sie zuvor deklarierten.

Sie sollte Lage sein, dies zu beheben, indem Sie die Linie nach unten zu ändern:

mgmt = ManagementRoot(et1.get(),et2.get(),et3.get()) 
+0

Danke, ich werde es prüfen und so bald wie möglich bestätigen –

+0

Danke, es funktioniert fein. –

Verwandte Themen