Как вызвать функцию в python в разное время? - PullRequest
1 голос
/ 02 мая 2020

Мне нужно вызывать определенную функцию, когда нажимается кнопка, и написанный мной код отлично работает только при первом нажатии кнопки. Если я нажму кнопку еще раз, она не вызовет функцию, но напечатает строку, которую я закодировал для печати при нажатии кнопки. Что я могу использовать, чтобы функция могла вызывать несколько раз? Спасибо. Вот код Пожалуйста, помогите мне

sg.theme('DarkAmber')
layout = [  [sg.Text('URL'), sg.InputText()],
            [sg.Button('Ok'), sg.Button('Cancel')]]
window = sg.Window('Window Title', layout)
while True:
    event, values = window.read()
    if event in (None, 'Cancel'):   # if user closes window or clicks cancel
        break
    url = values[0]
    Mainfunction()
    print('Button pressed here is the value ', values[0])

1 Ответ

0 голосов
/ 04 мая 2020

Я на самом деле допустил простую ошибку, которая заставила бы функцию работать правильно во второй раз, когда она вызывается. Итак, Myfunction похожа на

var1 = 0
def Function:
    if(var1 == 0):
        //do some shit
        var1 = var1 + 1
    if(var1 == 1):
        //do some shit
        var1 = var1 + 1   

Итак, я обнаружил, что функция вызывается и выполняется, но аргументы не соответствуют их требованиям (или какое-то странное дерьмо. Я NOOB), определяя переменную внутри сделанной функции сделал бы работу. Likeways, код будет,

def Function:
    global var1 // If you wanna make it global
    var1 = 0
    if(var1 == 0):
        //do some shit
        var1 = var1 + 1
    if(var1 == 1):
        //do some shit
        var1 = var1 + 1  
``` Hope it Helped You
...