Como faço para chamar uma função rapidamente?

2

Como chamar a função rapidamente?

Aqui está o meu código:

def finish_initializing(self, builder): # pylint: disable=E1002
    super(projectWindow, self).finish_initializing(builder)
    self.AboutDialog = AboutprojectDialog
    self.PreferencesDialog = PreferencesprojectDialog
def test(self,widget):
    print "clicked"
def on_myButton_clicked(self,widget):
    test()

O seguinte erro eu recebo: NameError: nome global 'test' não está definido

    
por user26030 02.07.2012 / 18:54

2 respostas

3

De acordo com o vídeo tutorial no link ,

Se o seu widget é chamado "myButton",

def test(self,widget):
    print "clicked"
def on_myButton_clicked(self,widget):
    test()

Esta parte do seu código deve ser reescrita abaixo:

self.myButton = self.builder.get_object("myButton") 
def test(widget):
    print "clicked"
def on_myButton_clicked(self, widget):
    self.test()

Antecipadamente, é necessário iniciar o comando Glade by quickly design e criar o widget de botões.

    
por vine_user 02.07.2012 / 20:32
2

test é um método da classe que você está escrevendo, então você tem que usar

$self.test(some_widget)

em que some_widget é o valor que você deseja usar para o parâmetro widget de test .

A propósito, quickly não é uma linguagem de programação, mas uma ferramenta. A linguagem de programação que você está usando é Python .

    
por Florian Diesch 02.07.2012 / 19:38