PyGobject(四十)布局容器之Viewport
2016-07-30 10:10
295 查看
GtkViewport
继承关系
Methods
Virtual Methods
Properties
Signals
例子
不过如果一个没有实现Gtk.Scrollable的部件通过Gtk.Container.add()方法添加到Gtk.ScrolledWindow中,会自动先将其添加到Gtk.Viewport中。所以你可以忽略Gtk.Viewport的存在
代码:
代码解析:
将100个Button放到VBox当中,然后将box添加到Viewport当中,在将Viewport添加到ScrolledWindow当中,实现滚动。
代码下载地址:http://download.csdn.net/detail/a87b01c14/9594728
继承关系
Methods
Virtual Methods
Properties
Signals
例子
Gtk.Viewport
Gtk.Viewport滚动适配器。如果一个部件自带有滚动能力,如Gtk.TextView, Gtk.TreeView, Gtk.IconView, 他们可以通过Gtk.Container.add()方法添加到Gtk.ScrolledWindow中;如果部件没有自带的滚动能力,如Gtk.Grid, Gtk.Box等,如果他们需要滚动,则必须先添加到Gtk.Viewport中,然后再添加到Gtk.ScrolledWindow中。不过如果一个没有实现Gtk.Scrollable的部件通过Gtk.Container.add()方法添加到Gtk.ScrolledWindow中,会自动先将其添加到Gtk.Viewport中。所以你可以忽略Gtk.Viewport的存在
继承关系
Gtk.Viewport是Gtk.Bin和Gtk.Scrollable的直接子类Methods
方法修饰词 | 方法名及参数 |
---|---|
static | new (hadjustment, vadjustment) |
get_bin_window () | |
get_hadjustment () | |
get_shadow_type () | |
get_vadjustment () | |
get_view_window () | |
set_hadjustment (adjustment) | |
set_shadow_type (type) | |
set_vadjustment (adjustment) |
Virtual Methods
Properties
Name | Type | Flags | Short Description |
---|---|---|---|
shadow-type | Gtk.ShadowType | r/w/en | Determines how the shadowed box around the viewport is drawn |
Signals
Name | Short Description |
---|
例子
代码:
#!/usr/bin/env python3 # Created by xiaosanyu at 16/7/7 # section 057 TITLE = "Viewport" DESCRIPTION = """ The Gtk.Viewport widget acts as an adaptor class, implementing scrollability for child widgets that lack their own scrolling capabilities. Use Gtk.Viewport to scroll child widgets such as Gtk.Grid, Gtk.Box, and so on """ import gi gi.require_version("Gtk", "3.0") from gi.repository import Gtk, Gio, GLib class ViewportWindow(Gtk.Window): def __init__(self, *args, **kwargs): Gtk.Window.__init__(self, title="Viewport Demo") self.set_default_size(100, 200) sw = Gtk.ScrolledWindow() sw.set_shadow_type(Gtk.ShadowType.ETCHED_IN) sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) viewport = Gtk.Viewport() box = Gtk.VBox() viewport.add(box) sw.add(viewport) for i in range(100): box.add(Gtk.Button("Button" + str(i))) self.add(sw) def main(): win = ViewportWindow() win.connect("delete-event", Gtk.main_quit) win.show_all() Gtk.main() if __name__ == "__main__": main()
代码解析:
将100个Button放到VBox当中,然后将box添加到Viewport当中,在将Viewport添加到ScrolledWindow当中,实现滚动。
代码下载地址:http://download.csdn.net/detail/a87b01c14/9594728
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法