|
|||||||||||||
таблицы компоновки
Время создания: 07.05.2017 11:47
Раздел: Python - PyGTK - Теория - таблицы компоновки
Запись: xintrea/mytetra_db_mcold/master/base/1494146877etiiqixqiv/text.html на raw.githubusercontent.com
|
|||||||||||||
|
|||||||||||||
Давайте рассмотрим ещё один способ компоновки – Таблицы. Они могут быть чрезвычайно полезными в определённых ситуациях. Используя таблицы, мы создаём сетку в которую сможем помещать виджеты. Виджеты могут занимать столько места, сколько мы укажем. Сначала, конечно, мы рассмотрим функцию gtk.Table():
Первый аргумент означает число строк создаваемой таблицы, а второй число столбцов. Аргумент homogeneous определяет размер ячеек таблицы. Если homogeneous содержит True, ячейки будут иметь размер самого большого виджета в таблице. Если homogeneous содержит False, размер ячеек определяется самым высоким элементом в строке и самым широким в столбце. Строки и столбцы номеруются от 0 до n, где n является числом указанным в gtk.Table(). Так, если вы указали rows = 2 и columns = 2, то размещение будет чем-то вроде этого:
Заметим, что точкой отсчёта является верхний левый угол. Для того чтобы поместить виджет в коробку необходимо использовать следующий метод:
table это экземпляр таблицы созданной с помощью gtk.Table(). Первый параметр child это виджет, который вы хотите поместить в таблицу. Аргументы left_attach, right_attach, top_attach и bottom_attach определяют место для помещения виджета, и количество занимаемых ячеек. Если вы хотите разместить кнопку в нижней правой ячейке нашей таблицы 2х2, и вы хотите чтобы кнопка занимала ТОЛЬКО её, правильные аргументы: left_attach = 1, right_attach = 2, top_attach = 1, bottom_attach = 2. Теперь, если вы хотите чтобы виджет занял всю верхнюю строку нашей таблицы, нужно использовать left_attach = 0, right_attach = 2, top_attach = 0, bottom_attach = 1. Аргументы xoptions и yoptions используются для указания настроек размещения и могут быть двоично сложены (OR, ИЛИ), для получения нескольких опций. Вот эти опции:
Padding работает также как и в коробках, создавая пустое место вокруг виджета указанное в пикселях. Также имеются методы set_row_spacing() и set_col_spacing(). Они добавляют расстояние между строками в указанной строке или столбце.
и
Заметим, что для столбцов увеличивается расстояние справа от столбца, а для строк ниже строки. Ещё вы можете изменить spacing для всех строк/столбцов таблицы с помощью:
и
Также заметим, что с этими вызовами, последний столбец и строка не задают пустого пространства. |
|||||||||||||
Так же в этом разделе:
|
|||||||||||||
|
|||||||||||||
|