使用 Glade Designer 通过按钮调用 Python 脚本

使用 Glade Designer 通过按钮调用 Python 脚本

如何使用 Glade 从按钮调用 Ubuntu One 身份验证 python 脚本?

我需要做的是调用一个 python 脚本,例如:$ python u1file.py login

向您的应用添加 Ubuntu One Files 支持

答案1

Gtk 是一个 UI 工具包,旨在成为事件驱动的框架。因此,最好的方法是等待某个事件发生后再执行您的 Python 代码。

在 Glade 上,你可以将小部件添加到 GtkWindow(也是小部件),小部件会发出所谓的信号。信号是指示某事已发生的事件。此操作可以是用户单击按钮、输入一些文本、调整窗口大小等。

这里有一个简单的例子[1]

这是我提取的一部分

林间空地中的面板

在属性部分,前往信号选项卡,先前选择编辑器上的某些小部件,例如按钮。

林间空地信号

如上图所示,每个信号都有一个名称,可以绑定到“处理程序”。在代码中,您必须创建一个与您选择的处理程序名称相同的函数,在本例中为“on_window_destroy”

那么你的代码应该看起来类似于此:

class TutorialApp(object):       
def __init__(self):
    builder = gtk.Builder()
    builder.add_from_file("tutorial.xml")
        # Here we do the binding
    builder.connect_signals({ "on_window_destroy" : my_custom_handler })
    self.window = builder.get_object("window")
    self.window.show()

def my_custom_handler(self, widget):
    # Excecute whatever python code you want here :D

if __name__ == "__main__":
    app = TutorialApp()
    gtk.main()

来源

http://www.micahcarrick.com/gtk-glade-tutorial-part-1.html[1]

答案2

像导入 Python 中的任何其他模块/包一样导入该脚本。

import u1file
ui1file.login()

如果您不知道如何连接按钮,请参阅 Hernantz 的回答。

答案3

这会满足您的要求吗?这基本上相当于python scriptname.py在终端中打字。

 import os
 os.system("python sriptname.py")

相关内容