GtkWindow
GtkWindow
— базовый элемент всех приложений GTK+. До сих пор вы использовали его для хранения своих виджетов.
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkContainer
╰── GtkBin
╰── GtkWindow
Существуют десятки вызовов API GtkWindow
, но далее приведены функции, заслуживающие особого внимания.
GtkWidget *gtk_window_new (GtkWindowType type);
void gtk_window_set_title (GtkWindow *window, const gchar *title);
void gtk_window_set_position (GtkWindow *window, GtkWindowPosition position);
void gtk_window_set_default_size (GtkWindow *window, gint width, gint height);
void gtk_window_resize (GtkWindow *window, gint width, gint height);
void gtk_window_set_resizable (GtkWindow *window, gboolean resizable);
void gtk_window_present (GtkWindow *window);
void gtk_window_maximize (GtkWindow *window);
void gtk_window_unmaximize (GtkWindow *window);
Как вы видели, функция gtk_window_new
создаёт в памяти новое пустое окно. Заголовок окна не задан и местоположение окна не определены. Обычно вы будете заполнять окно виджетами и задавать меню и панель инструментов перед выводом окна на экран с помощью вызова функции gtk_widget_show
.
Функция gtk_window_set_title
изменяет текст полосы заголовка, информируя оконный менеджер запроса.
Примечание
Поскольку за отображение оформления окна отвечает оконный менеджер, а не библиотека GTK+, шрифт, цвет и размер текста зависят от вашего выбора оконного менеджера.
Функция gtk_window_set_position
управляет начальным местоположением на экране. Параметр position
может принимать пять значений, перечисленных в табл. 1.
Параметр position |
Описание |
---|---|
GTK_WIN_POS_NONE |
Окно располагается по усмотрению оконного менеджера |
GTK_WIN_POS_CENTER |
Окно центрируется на экране |
GTK_WIN_POS_MOUSE |
Расположение окна задается указателем мыши |
GTK_WIN_POS_CENTER_ALWAYS |
Окно остаётся отцентрированным независимо от его размера |
GTK_WIN_POS_CENTER_ON_PARENT |
Окно центрируется относительно родительского окна (удобно для диалоговых окон) |
Функция gtk_window_set_default_size
задаёт окно на экране в единицах отображения GTK+. Явное задание размера окна гарантирует, что содержимое окна не будет закрыто чем-либо или скрыто. Для того чтобы изменить размеры окна после его вывода на экран, можно воспользоваться функцией gtk_window_resize
. По умолчанию пользователь может изменить размер окна, перемещая обычным способом его границу мышью. Если вы хотите помешать этому, можно вызвать функцию gtk_window_set_resizable
, приравненную FALSE
.
Для того чтобы убедиться в том, что ваше окно присутствует на экране и видно пользователю, т.е. не свернуто или скрыто, подойдет функция gtk_window_present
. Она полезна для диалоговых окон, т.е. позволяет убедиться в том, что она не свернуты, когда вам нужен какой-либо пользовательский ввод. В противном случае, для раскрытия окна на весь экран и его сворачивания у вас есть функции gtk_window_maximize
и gtk_window_unmaximize
.
Назад: Виджеты GTK+
Вернуться на главную страницу
Далее: Виджет GtkEntry