在Linux上创建应用程序可以使用不同的方法,但是有一些有限的方法,所以使用最简单和最功能的编程语言和库,这就是为什么我们要快速查看在Linux下创建应用程序使用桌面上的GTK +库被称为“PyGObject”Python编程语言。
PyGObject使用GObject的反省创造像Python编程语言的结合,PyGObject是PyGTK的下一代,你可以说PyGObject = Python的+ GTK3。
在Linux中创建GUI应用程序 - 第1部分
今天,我们要开始了一系列关于创建GUI(图形用户界面)使用GTK +库和PyGobject语言Linux桌面应用下,该系列将包括以下内容:
第1部分 :如何创建GUI应用程序在Linux桌面使用PyGObject
第2部分 : 在Linux上创建更高级的应用PyGobject
第3部分 : 创建您自己的“网络浏览器”和“桌面刻录机”应用程序使用PyGobject
第4部分 : 包装PyGobject程序用于Linux桌面
第5部分 : 翻译PyGobject应用成不同的语言
首先,你必须在Python中的一些基本知识; Python是一种非常现代和易于使用的编程语言。 它是世界上最着名的编程语言之一,使用Python,您将能够创建许多伟大的应用程序和工具。 你可能需要像一些免费的课程,在codeacademy.com或者你可以在阅读Python的一些书:
GTK +是一个开源的跨平台工具包来创建桌面应用程序,它在1998年首次开始作为一个GUI工具包GIMP的图形用户界面,后来,它在许多其他应用中使用,并很快成为最有名的库来创建GUI。 GTK +是根据LGPL许可证发布的。
使用GTK +和Python创建应用程序有2种方法:
我们将简要解释两种方法。
使用代码编写GUI可能对noob程序员来说有点困难,并且浪费时间,但是使用它,我们可以为我们的程序创建非常实用的GUI,比使用Glade等工具创建的GUI更多。
让我们来看下面的例子。
#!/usr/bin/python
# -*- coding: utf-8 -*-
from gi.repository import Gtk
class ourwindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title="My Hello World Program")
Gtk.Window.set_default_size(self, 400,325)
Gtk.Window.set_position(self, Gtk.WindowPosition.CENTER)
button1 = Gtk.Button("Hello, World!")
button1.connect("clicked", self.whenbutton1_clicked)
self.add(button1)
def whenbutton1_clicked(self, button):
print "Hello, World!"
window = ourwindow()
window.connect("delete-event", Gtk.main_quit)
window.show_all()
Gtk.main()
复制上面的代码,将其粘贴在“test.py”文件,并设置在test.py文件755许可,然后再使用“./test.py”运行该文件,这就是你会得到什么。
# nano test.py
# chmod 755 test.py
# ./test.py
Hello World脚本
通过点击按钮,你看到的“Hello,World!”的句子在终端打印出来:
测试Python脚本
让我解释一下代码的详细解释。
就是这样,容易不是? 如果我们想创建一些大型应用程序非常实用。 有关使用纯代码方式创建GTK +接口的更多信息,您可以访问官方文档网站:
就像我在文章开头所说的,Glade是一个非常容易的工具来创建我们的程序需要的接口,它在开发人员和许多伟大的应用程序界面之间是非常有名的。 这种方式称为“快速应用程序开发”。
你必须安装Glade为了开始使用它,在Debian / Ubuntu / Mint运行:
$ sudo apt-get install glade
在RedHat / Fedora / CentOS上,运行:
# yum install glade
在您下载并安装该程序,并运行后,你会看到在左边的可用GTK构件,以创建一个新的窗口,单击“ 窗口 ”,窗口小部件。
创建新的窗口小部件
你会注意到一个新的空窗口被创建。
新窗口小部件
现在,您可以将某些小部件添加到它,左边的工具栏上,单击“ 按钮 ”控件,并以该按钮添加到窗口中单击空的窗口上。
添加小部件
你会发现,按键ID为“Button1的 ”,现在指的是信号标签右侧工具栏中,并搜索“ 点击 ”信号,并在其下输入“button1_clicked”。
按钮属性
信号选项卡
现在我们已经创建了GUI,让我们导出它。 点击“ 文件 ”菜单,选择“ 保存 ”,将文件保存在名为“myprogram.glade”,退出你的home目录。
导出窗口小部件文件
现在,创建一个新的“test.py”的文件,并进入里面的下面的代码。
#!/usr/bin/python
# -*- coding: utf-8 -*-
from gi.repository import Gtk
class Handler:
def button_1clicked(self, button):
print "Hello, World!"
builder = Gtk.Builder()
builder.add_from_file("myprogram.glade")
builder.connect_signals(Handler())
ournewbutton = builder.get_object("button1")
ournewbutton.set_label("Hello, World!")
window = builder.get_object("window1")
window.connect("delete-event", Gtk.main_quit)
window.show_all()
Gtk.main()
保存文件,给它像以前一样755的权限,并使用“./test.py”运行它,这就是你会得到什么。
# nano test.py
# chmod 755 test.py
# ./test.py
Hello世界窗口
点击按钮,你会发现,“ 你好,世界 !”这句话就是终端打印。
现在让我们来解释一下新的东西:
就是这样! 您已经在Linux下成功创建了第一个程序!
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有