2016-08-06 4 views
0

У меня очень простой код, который создает GtkWindow и размещает в нем GtkButton.GTK3 Set GtkButton size

window = gtk_window_new(GTK_WINDOW_TOPLEVEL); 

gtk_widget_set_size_request(_window, 800, 450); 
gtk_window_set_decorated(GTK_WINDOW (_window), FALSE); 
gtk_window_set_position(GTK_WINDOW (_window),GTK_WIN_POS_CENTER_ALWAYS); 
gtk_window_set_resizable(GTK_WINDOW (_window), FALSE); 

_startbutton = gtk_button_new_with_label("myLabel"); 
gtk_container_add(GTK_CONTAINER(_window), _startbutton); 

gtk_widget_show_all(_window); 

Однако, это не работает должным образом, потому что кнопка заполняет все окно. Я попытался найти способ изменить размер кнопки, но все методы, которые я нашел, используют некоторые методы, которые устарели ... Может кто-нибудь объяснить мне способ сделать это?

ответ

2

Поскольку GtkButton является единственным элементом управления в GtkWindow, ему будет задана вся область GtkWindow. Если вы хотите сделать что-то более сложное, вам нужно будет использовать макеты компоновки, такие как GtkBox и GtkGrid, для явной выкладки кнопки, как правило, в отношении других элементов управления, которые вы также будете иметь в окне.

Как только вы разместите свои элементы управления, вы можете использовать expansion and alignment, чтобы управлять тем, как кнопка использует свое выделенное пространство.

+0

Большое спасибо за ваш ответ! –