Gtk.StackSidebar
Gtk.StackSidebar侧边栏工具条,有点类似Stack&StackSwitcher中的例子,不同的是一个是水平布局,一个是垂直布局
继承关系
Gtk.StackSidebar是Gtk.Bin的直接子类
Methods
方法修饰词 | 方法名及参数 |
---|---|
static | new () |
get_stack () | |
set_stack (stack) |
Virtual Methods
Properties
Name | Type | Flags | Short Description |
---|---|---|---|
stack | Gtk.Stack | r/w/en | Associated stack for this Gtk.StackSidebar |
Signals
Name | Short Description |
---|
例子
代码:
#!/usr/bin/env python3
# Created by xiaosanyu at 16/7/14
# section 036
#
# author: xiaosanyu
# website: yuxiaosan.tk \
# http://blog.youkuaiyun.com/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.youkuaiyun.com/detail/a87b01c14/9594728