• GtkAlignment

    • 继承关系
    • Methods
    • Virtual Methods
    • Properties
    • Signals
    • 例子

Gtk.Alignment

继承关系

Gtk.Alignment控制子部件的对齐方式和大小。

Gtk.Alignment是Gtk.Bin的直接子类

Methods

方法修饰词 方法名及参数
static new (xalign, yalign, xscale, yscale)
get_padding ()
set (xalign, yalign, xscale, yscale)
set_padding (padding_top, padding_bottom, padding_left, padding_right)

Virtual Methods

Properties

Name Type Flags Short Description
bottom-padding int d/r/w The padding to insert at the bottom of the widget. deprecated
left-padding int d/r/w The padding to insert at the left of the widget. deprecated
right-padding int d/r/w The padding to insert at the right of the widget. deprecated
top-padding int d/r/w The padding to insert at the top of the widget. deprecated
xalign float d/r/w 水平对齐方式,0.0左对齐,1.0右对齐 deprecated
xscale float d/r/w 水平剩余空间分配给子部件,0.0不分配,1.0分配全部剩余空间 deprecated
yalign float d/r/w 垂直对齐方式,0.0上对齐,1.0下对齐 deprecated
yscale float d/r/w 垂直剩余空间分配给子部件,0.0不分配,1.0分配全部剩余空间 deprecated

Signals

Name Short Description

例子


代码:

#!/usr/bin/env python3
# Created by xiaosanyu at 16/7/7
# section 020
TITLE = "Alignment"
DESCRIPTION = """
The Gtk.Alignment widget controls the alignment and size of its child widget.
It has four settings: xscale, yscale, xalign, and yalign.
"""
import gigi.require_version("Gtk", "3.0")
from gi.repository import Gtkanchor = {"Left": (0, 0, 0, 0), "Right": (1, 0, 0, 0), "Top": (0.5, 0, 0, 0), "Buttom": (0.5, 1, 0, 0),"Center": (0.5, 0.5, 0, 0), "XFull": (0.5, 0.5, 1, 0), "YFull": (0.5, 0.5, 0, 1)}class AlignmentWindow(Gtk.Window):def __init__(self):Gtk.Window.__init__(self, title="Alignment Example")self.set_size_request(500, 200)grid = Gtk.Grid()grid.set_border_width(20)grid.set_column_spacing(20)grid.set_row_spacing(20)for i, (key, value) in enumerate(anchor.items()):frame = Gtk.Frame.new()frame.set_shadow_type(Gtk.ShadowType.ETCHED_OUT)frame.set_size_request(150, 100)align = Gtk.Alignment.new(value[0], value[1], value[2], value[3])button = Gtk.Button(key)align.add(button)frame.add(align)grid.attach(frame, i % 3, i / 3, 1, 1)self.add(grid)def main():win = AlignmentWindow()win.connect("delete-event", Gtk.main_quit)win.show_all()Gtk.main()if __name__ == "__main__":main()

分析主要代码
定义七个Alignment参数

anchor = {"Left": (0, 0, 0, 0), "Right": (1, 0, 0, 0), "Top": (0.5, 0, 0, 0), "Buttom": (0.5, 1, 0, 0),
"Center": (0.5, 0.5, 0, 0), "XFull": (0.5, 0.5, 1, 0), "YFull": (0.5, 0.5, 0, 1)}

根据上述7组信息创建7个Alignment,每个Alignment中添加一个button,将这7个Alignment添加到7个frame中

for i, (key, value) in enumerate(anchor.items()):frame = Gtk.Frame.new()         frame.set_shadow_type(Gtk.ShadowType.ETCHED_OUT)frame.set_size_request(150, 100)align = Gtk.Alignment.new(value[0], value[1], value[2], value[3])button = Gtk.Button(key)align.add(button)frame.add(align)grid.attach(frame, i % 3, i / 3, 1, 1)

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

PyGobject(十九)布局容器之Alignment相关推荐

  1. JavaFx之横向布局左右两侧对齐(十九)

    JavaFx之横向布局左右两侧对齐(十九) 横向布局HBox在子节点A.B中添加<HBox HBox.hgrow="ALWAYS"></HBox> 即可做到 ...

  2. 鸟哥的Linux私房菜(服务器)- 第十九章、主机名控制者: DNS 服务器

    第十九章.主机名控制者: DNS 服务器 最近更新日期:2011/08/05 我们都知道,在『记忆』的角色上,人脑总是不如计算机的,而人们对文字的印象又比数字高.因此,想要使用纯粹的 TCP/IP 来 ...

  3. 第十九章、主機名稱控制者: DNS 伺服器

    转自:http://linux.vbird.org/linux_server/0350dns.php 第十九章.主機名稱控制者: DNS 伺服器 最近更新日期:2011/08/05 我們都知道,在『記 ...

  4. 【C++提高编程笔记】三.(一).STL常用容器之string容器

    文章目录 1.string基本概念 2.string构造函数 3.string赋值操作 4.string字符串拼接 5.string查找和替换 6.string字符串比较 7.string字符存取 8 ...

  5. 以下关于java的GUI菜单描述_第十九讲 菜单和JavaGUI综合设计

    第十九讲菜单和JavaGUI综合设计 主要内容 菜单(JMenuBar.JMenu.JmenuItem) 菜单项的事件侦听处理 颜色选择器JColorChooser 文件选择器JFileChooser ...

  6. ROS探索总结(十六)(十七)(十八)(十九)——HRMRP机器人的设计 构建完整的机器人应用系统 重读tf 如何配置机器人的导航功能

    ROS探索总结(十六)--HRMRP机器人的设计 1. HRMRP简介         HRMRP(Hybrid Real-time Mobile Robot Platform,混合实时移动机器人平台 ...

  7. 应用回归分析何晓群课第五版_海外第三方应用市场分析丨出海学院十九期直播课...

    Enjoy出海一站式出海服务平台 点击关注"Enjoy出海"公众号 时时参与出海答疑问题 出海学院第十九期直播课 出海学院十九期直播课,由Enjoy出海CEO金翔主讲,本期主题为& ...

  8. SAP UI5 应用开发教程之三十九 - SAP UI5 应用出现白屏的一些常见错误和分析方法分享试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  9. 布局管理器android,Android课程---布局管理器之相对布局(一)

    下面示例的是在父容器里如何设置按钮的位置,难度:***,重点是找到一个主按钮,设置它的id,然后根据它来设置其他按钮在父容器的位置. 代码示例: android:layout_width=" ...

最新文章

  1. MongoDB3.6.3 windows安装配置、启动
  2. 【Spring】Spring MVC文件上传--整合bootstrap-fileinput和jQuery-File-Upload
  3. 请简述一下线程的sleep()方法和yield()方法的区别?
  4. SQL : 在SQL Server 2008(Or Express)中如何Open并编辑数据表【转】
  5. 跟我学Java(配光盘)(跟我学)
  6. VC下调用x264进行视频编码,
  7. C#摄像头实现拍照功能的简单代码示例
  8. 【angularJS】简介
  9. 多址接入技术TDMA CDMA FDMA Aloha等
  10. ThreadPoolExecutor – Java线程池示例
  11. UIViewController的生命周期
  12. hadoop安装配置实验报告
  13. 期货开户后需要银期转账绑定
  14. 程序员转公务员之Hello World
  15. Vue-Router给当前url添加参数时报错 Navigation Duplicated Avoided redundant navigation to current location
  16. Latex中将图例(图1:)改为(图1-1)
  17. 关于企业能源管控平台在轧钢行业能源管理中的应用
  18. AI领域:如何做优秀研究并写高水平论文?
  19. 在数学建模中微型计算机,“在数学建模中培养学生思维能力的研究”课题研究情况汇报...
  20. Python-元组字典集合及其内置方法

热门文章

  1. Unity:看不到Flash未来 终止支持Flash
  2. 基于“机器学习”的智能聊天机器人---python实现(1)
  3. Colmap论文——《Structure-from-Motion Revisited》论文阅读笔记
  4. 基于数据指纹的增量式
  5. 【量化笔记】Markowitz均值-方差模型
  6. 批量提取 data/app目录中的apk文件
  7. 出门在外如何保管毕业证原件_出门在外时如何控制HomeKit智能家居
  8. Python 日期模块的 datetime.date 类
  9. vue时间天气插件_vue创建天气webapp
  10. iphone13预计上市时间 苹果13多少钱