PyGobject(三十)布局容器之StackSidebar

Gtk.StackSidebar

Gtk.StackSidebar侧边栏工具条,有点类似Stack&StackSwitcher中的例子,不同的是一个是水平布局,一个是垂直布局

继承关系

Gtk.StackSidebar是Gtk.Bin的直接子类
这里写图片描述

Methods

方法修饰词方法名及参数
staticnew ()
get_stack ()
set_stack (stack)

Virtual Methods

Properties

NameTypeFlagsShort Description
stackGtk.Stackr/w/enAssociated stack for this Gtk.StackSidebar

Signals

NameShort Description

例子

这里写图片描述
代码:

#!/usr/bin/env python3
# Created by xiaosanyu at 16/7/14
# section 036
# 
# author: xiaosanyu
# website: yuxiaosan.tk \
#          http://blog.csdn.net/a87b01c14
# created: 16/7/14

TITLE = "StackSidebar"
DESCRIPTION = """
A Gtk.StackSidebar enables you to quickly and easily provide a
consistent “sidebar” object for your user interface
"""
import gi

gi.require_version("Gtk", "3.0")
from gi.repository import Gtk, Gdk, Gio, GLib


class StackSidebarWindow(Gtk.Window):
    def __init__(self, *args, **kwargs):
        Gtk.Window.__init__(self, title="StackSidebar Example")
        self.set_size_request(250, 200)
        hbox = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=6)
        self.add(hbox)
        stack = Gtk.Stack()
        stack.set_transition_type(Gtk.StackTransitionType.SLIDE_UP_DOWN)
        stack.set_transition_duration(1000)

        checkbutton = Gtk.CheckButton("Click me!")
        stack.add_titled(checkbutton, "check", "Check Button")

        label = Gtk.Label()
        label.set_markup("<big>A fancy label</big>")
        stack.add_titled(label, "label", "A label")

        image = Gtk.Image.new_from_icon_name("help-about", Gtk.IconSize.MENU)
        image.set_pixel_size(256)
        stack.add_titled(image, "image", "Image")

        stacksidebar = Gtk.StackSidebar()
        stacksidebar.set_stack(stack)
        hbox.add(stacksidebar)
        hbox.add(stack)


def main():
    win = StackSidebarWindow()
    win.connect("delete-event", Gtk.main_quit)
    win.show_all()
    Gtk.main()


if __name__ == "__main__":
    main()

代码解析

stack = Gtk.Stack()
        stack.set_transition_type(Gtk.StackTransitionType.SLIDE_UP_DOWN)
stack.set_transition_duration(1000)

创建一个Gtk.Stack,设置动画时间1S,动画类型,上下切换

checkbutton = Gtk.CheckButton("Click me!")
stack.add_titled(checkbutton, "check", "Check Button")

label = Gtk.Label()
label.set_markup("<big>A fancy label</big>")
stack.add_titled(label, "label", "A label")

image = Gtk.Image.new_from_icon_name("help-about", Gtk.IconSize.MENU)
image.set_pixel_size(256)
stack.add_titled(image, "image", "Image")

向stack中添加三个子部件。

stacksidebar = Gtk.StackSidebar()

创建StackSidebar

stacksidebar.set_stack(stack)

设置StackSidebar内容为stack





代码下载地址:http://download.csdn.net/detail/a87b01c14/9594728

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sanxiaochengyu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值