linux中的pythonGtk GUI 编程

2018-06-17 23:35:49来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

安装:

$sudo apt install libgtk3*

$sudo apt install glade

然后打开glade进行设计。

ui.glade

<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.20.0 -->
<interface>
    <requires lib="gtk+" version="3.0"/>
    <object class="GtkWindow" id="window">
        <property name="can_focus">False</property>
        <signal name="delete-event" handler="onDeleteWindow" swapped="no"/>
        <child>
            <object class="GtkButton" id="button">
                <property name="label" translatable="yes">click me</property>
                <property name="visible">True</property>
                <property name="can_focus">True</property>
                <property name="receives_default">True</property>
            </object>
        </child>
    </object>   
</interface>

app.py

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import gi
import time
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
    class Application(Gtk.Window):
        def onDeleteWindow(self, *args):
            Gtk.main_quit(*args)
        def clicked(self, button):
            print("Hello World!")
            self.window.set_title("clicked")
            self.button.set_label("clicked")
        def __init__(self):
            builder = Gtk.Builder()
            builder.add_from_file("ui.glade")
            self.window = builder.get_object("window")
            self.window.connect("delete-event", self.onDeleteWindow)
            self.button=builder.get_object("button")
            self.button.connect("clicked",self.clicked)
            def show_all(self):
            self.window.show_all()
app = Application()
app.show_all()
Gtk.main()

运行时的效果

点击后的效果

其中红色部分是关键。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:python随机图片验证码的生成

下一篇:使用虚拟环境virtualenv/Virtualenvwrapper隔离多个python