如何使用 Glade 从按钮调用 Ubuntu One 身份验证 python 脚本?
我需要做的是调用一个 python 脚本,例如:$ python u1file.py login
答案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")