📅  最后修改于: 2023-12-03 14:45:44.766000             🧑  作者: Mango
PyGTK 是一个基于 Gtk+ 的 Python 编程库,可以用来开发 Linux 和 Unix 系统的 GUI 应用程序。它是一个开放源代码项目,使用 LGPL 授权协议。
要使用 PyGTK,必须先安装它。PyGTK 可以通过以下命令在 Ubuntu 系统上安装:
sudo apt-get install python-gtk2
下面是一个简单的 PyGTK 程序,它将创建一个窗口并显示文本标签。
import gtk
class HelloWorld:
def __init__(self):
# 创建一个窗口
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_title("Hello World")
self.window.connect("destroy", gtk.main_quit)
# 创建一个文本标签
self.label = gtk.Label("Hello, World!")
# 将文本标签添加到窗口中
self.window.add(self.label)
# 显示窗口和文本标签
self.label.show()
self.window.show()
def main(self):
# 主循环
gtk.main()
if __name__ == "__main__":
hello = HelloWorld()
hello.main()
PyGTK 提供了多种控件,如文本标签、按钮、输入框、下拉框等等。使用这些控件可以创建复杂的 GUI 界面。
import gtk
class HelloWorld:
def __init__(self):
# 创建一个窗口
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_title("Hello World")
self.window.connect("destroy", gtk.main_quit)
# 创建一个文本标签
self.label = gtk.Label("Hello, World!")
# 将文本标签添加到窗口中
self.window.add(self.label)
# 显示窗口和文本标签
self.label.show()
self.window.show()
def main(self):
# 主循环
gtk.main()
if __name__ == "__main__":
hello = HelloWorld()
hello.main()
import gtk
class HelloWorld:
def __init__(self):
# 创建一个窗口
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_title("Hello World")
self.window.connect("destroy", gtk.main_quit)
# 创建一个按钮
self.button = gtk.Button("Click me!")
self.button.connect("clicked", self.on_button_clicked)
# 将按钮添加到窗口中
self.window.add(self.button)
# 显示窗口和按钮
self.button.show()
self.window.show()
def on_button_clicked(self, widget):
print "Hello, World!"
def main(self):
# 主循环
gtk.main()
if __name__ == "__main__":
hello = HelloWorld()
hello.main()
import gtk
class HelloWorld:
def __init__(self):
# 创建一个窗口
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_title("Hello World")
self.window.connect("destroy", gtk.main_quit)
# 创建一个输入框
self.entry = gtk.Entry()
self.entry.connect("activate", self.on_entry_activated)
# 将输入框添加到窗口中
self.window.add(self.entry)
# 显示窗口和输入框
self.entry.show()
self.window.show()
def on_entry_activated(self, widget):
text = widget.get_text()
print "You typed:", text
def main(self):
# 主循环
gtk.main()
if __name__ == "__main__":
hello = HelloWorld()
hello.main()
import gtk
class HelloWorld:
def __init__(self):
# 创建一个窗口
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_title("Hello World")
self.window.connect("destroy", gtk.main_quit)
# 创建一个下拉框
self.combo = gtk.combo_box_new_text()
self.combo.connect("changed", self.on_combo_changed)
self.combo.append_text("Item 1")
self.combo.append_text("Item 2")
self.combo.append_text("Item 3")
# 将下拉框添加到窗口中
self.window.add(self.combo)
# 显示窗口和下拉框
self.combo.show()
self.window.show()
def on_combo_changed(self, widget):
index = widget.get_active()
model = widget.get_model()
item = model[index][0]
print "Selected item:", item
def main(self):
# 主循环
gtk.main()
if __name__ == "__main__":
hello = HelloWorld()
hello.main()
通过 PyGTK,可以轻松地创建 Linux 和 Unix 系统的 GUI 应用程序。PyGTK 提供了多种控件,可以用来创建复杂的 GUI 界面。为了使用 PyGTK,必须先安装它。