Я создаю графический интерфейс с tkinter, который позволяет мне щелкнуть кнопку, которая будет запускать сканирование портов. У меня есть скрипт для сканирования портов, который работает правильно, мне удалось открыть сканер портов с помощью кнопки в графическом интерфейсе, но затем я получаю сообщение об ошибке, которое в противном случае я не получаю при запуске сканера портов.Gui с кнопкой для открытия сканера портов
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\Steve\AppData\Local\Programs\Python\Python35-32\lib\tkinter\__init__.py", line 1550, in __call__
return self.func(*args)
File "<string>", line 51, in Scan
NameError: name 'IP_Input' is not defined
Мой код:
class CallWrapper:
"""Internal class. Stores function to call when some user
defined Tcl function is called e.g. after an event occurred."""
def __init__(self, func, subst, widget):
"""Store FUNC, SUBST and WIDGET as members."""
self.func = func
self.subst = subst
self.widget = widget
def __call__(self, *args):
"""Apply first function SUBST to arguments, than FUNC."""
try:
if self.subst:
args = self.subst(*args)
return self.func(*args) # THIS IS THE ERROR #
except SystemExit:
raise
except:
self.widget._report_exception()
class XView:
"""Mix-in class for querying and changing the horizontal position
of a widget's window."""
def xview(self, *args):
"""Query and change the horizontal position of the view."""
res = self.tk.call(self._w, 'xview', *args)
ЭТО КОД СЛЕДУЮЩИЙ НА ЛИНИИ 51 ОШИБОК
def Scan():
print ('Scan Called.') #Debugging
IP = str(IP_Input.get(0.0, tkinter.END)) #THIS IS ERROR LINE 51#
print ("IP #Debugging")
Start = int(PortS.get(0.0, tkinter.END))
End = int(PortE.get(0.0, tkinter.END))
TestSocket = socket.socket()
CurrentPort = Start
OpenPorts = 0
print ('Starting scan...')
HowFar = int(CurrentPort/End * 100)
ProgText = HowFar, r'%'
Label1.config(text=('Percentage Done:', ProgText))
привет, ура я надеюсь, что это помогает: – lee
IP_Input = tkinter.Text (победа) IP_Input.pack (развернуть = tkinter.YES, заполнить = tkinter.NONE) IP_Input.place_configure (width = 120, height = 20) IP_Input.place_configure (x = 40, y = 10) print («IP_Input Done») – lee
это мой основной графический интерфейс - http://pastebin.com/1qgWQ4EL , Это сканер портов - http://pastebin.com/df2QQr8A, но проблемы, похоже, связаны с этим файлом _init_.py. Http://pastebin.com/j03AxHPN – lee