2017-05-02 21 views
1

gtk 응용 프로그램을 시작하려고 할 때 실행하려고 할 때 전체 화면으로 이동하려고합니다. UI는 glade로 만들어지며 MainWindow, 프레임 및 레이블을 포함합니다. 전체 화면이어야하므로 레이블에 일부 정보를 표시해야합니다. 크기가 1366x768 인 모니터가 있습니다. MainWindow의 너비 인 &의 높이를 프레임으로 설정했습니다. 당신이 창을 전체 화면되지 볼 수 있듯이gtk 응용 프로그램을 전체 화면으로 만드는 방법

enter image description here

측면 왼쪽 도구 모음 상단 제목 표시 줄이 여전히 있기 때문에 : 그것은 아래처럼 보였다 출시했을 때

int main(int argc, char *argv[]) 
{ 

GtkBuilder  *builder; 
GtkWidget  *window; 
GError  *error = NULL; 
gtk_init(&argc, &argv); 
builder = gtk_builder_new(); 
if(! gtk_builder_add_from_file(builder, "UI.glade", &error)) 
{ 
     g_warning("%s", error->message); 
     g_free(error); 
     return(1); 
} 
window = GTK_WIDGET(gtk_builder_get_object(builder, "MainWindow")); 
frame1 = GTK_WIDGET(gtk_builder_get_object(builder, "frame1")); 
gtk_builder_connect_signals(builder, NULL); 
g_signal_connect (window, "delete_event", G_CALLBACK (on_MainWindow_destroy_event), NULL); 
label1 = GTK_WIDGET(gtk_builder_get_object(builder, "label1")); 
g_object_unref(builder); 
GdkColor black = {0, 0x0000, 0x0000, 0x0000}; 
GdkColor white = {0, 0xFFFF, 0xFFFF, 0xFFFF}; 
gtk_widget_modify_bg(frame1, GTK_STATE_NORMAL, &black); 
gtk_widget_modify_fg(frame1, GTK_STATE_NORMAL, &white); 

gtk_widget_show(window); 
gtk_main(); 
return 0; 

} 

: 아래 코드는 전시. 그런 다음 설명서를 읽고 gtk_window_fullscreen을 포함해야한다는 것을 알았습니다. 하지만 여전히 전체 화면 모드로 나오지 않습니다. 누구든지이 창을 전체 화면으로 만들 수있는 방법을 말해 줄 수 있습니까? 도와주세요. 감사.

+0

응용 프로그램 (브라우저 등 ...)을 전체 화면에 표시하면 이러한 현상이 발생합니다. 맞습니까? 창 관리자가 창에 추가 공간을 허용하지 않습니다. 막대를 자동 숨기기로 설정할 수 있습니까? –

+0

@ JoséFonte 아니요. 나는 이것을 시도했습니다. 그것은 작동하지 않았다. 자동 숨기기로 설정했지만 그 막대 공간은 여전히있었습니다. –

+0

gtk가 아닌 창 관리자 문제입니다. 우분투 도킹 바를 잠시 해제 해보십시오. –

답변

1

사용 :

gtk_widget_set_size_request (GTK_WIDGET(window), 1366, 768); 

단점

이 창보다 낮은 크기로 줄어들었다 할 수 없습니다. api reference :

위젯의 최소 크기를 설정합니다. 즉 위젯의 크기 요청 은 적어도 너비에 따라 다릅니다. 이 기능을 사용하면 위젯을 평소보다 크게 강제 설정할 수 있습니다. 대부분의 경우 gtk_window_set_default_size()가이 함수보다 최상위 창 에 더 적합합니다. 기본 크기를 설정하면 사용자가 여전히 창을 축소 할 수 있습니다. 크기 요청을 설정하면 크기 요청과 같은 크기로 창을 나갈 수 있습니다.