快速按钮点击无法识别

快速按钮点击无法识别

我正在快速运行 12.80.1-0ubuntu2,出于某种原因,我生成的应用程序不再识别按钮点击。几周前,我使用 ubuntu-application 模板创建了一个应用程序,该模板有多个按钮,引用了子进程函数。今天我尝试创建一个相同的应用程序,但它不起作用。没有调试输出或任何东西,源代码完全相同。

在 glade 中有一个名为 button1 的按钮,这是我的 Window.py 源代码

# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
### BEGIN LICENSE
# This file is in the public domain
### END LICENSE

from locale import gettext as _

from gi.repository import Gtk # pylint: disable=E0611
import logging
import subprocess
logger = logging.getLogger('apppool')

from apppool_lib import Window
from apppool.AboutApppoolDialog import AboutApppoolDialog
from apppool.PreferencesApppoolDialog import PreferencesApppoolDialog

# See apppool_lib.Window.py for more details about how this class works
class ApppoolWindow(Window):
    __gtype_name__ = "ApppoolWindow"

    def finish_initializing(self, builder): # pylint: disable=E1002
        """Set up the main window"""
        super(ApppoolWindow, self).finish_initializing(builder)

        self.AboutDialog = AboutApppoolDialog
        self.PreferencesDialog = PreferencesApppoolDialog
        self.button1 = self.builder.get_object("button1")

        # Code for other initialization actions should be added here.
        def on_button1_clicked(self, widget):
            print "No Selected"
            subprocess.call('no-tour', shell=True)

终端中也没有显示“未选择”消息,这让我认为它根本无法识别按钮。我很确定这是一个错误,因为我已经在多台计算机上尝试过,创建了一个新项目,所有结果都相同。这个源代码上周还可以用,但现在不行了,所以我很确定这没什么问题。

答案1

def on_button1_clicked(self, widget):
        print "No Selected"
        subprocess.call('no-tour', shell=True)

此代码的缩进存在问题。def 行必须与 def finish_initializing 位于同一行。

相关内容