2016-10-22 6 views
1

gtkで簡単な "メッセージボックス"ダイアログを作成しようとしています。それは動作しますが、ボタンをクリックするとダイアログが閉じることはありません。 (gtkを使用しているのはダイアログのみです。メインウィンドウ - gtkWindowではなく、X11 Glxウィンドウ)。ここに私のコードは次のとおりです。GTKウィジェットのダイアログが閉じない

gtk_init(&argc, &argv); 

    GtkWidget *dialog = gtk_message_dialog_new (NULL, 
            GTK_DIALOG_DESTROY_WITH_PARENT, 
            GTK_MESSAGE_ERROR, 
            GTK_BUTTONS_CLOSE, 
            "Some text", 
            g_strerror (errno)); 

    gtk_dialog_run(GTK_DIALOG (dialog)); 
    gtk_widget_destroy(dialog); 

私は「閉じる」ボタンをクリックした場合 - ウィジェットダイアログがフォーカスを失ったが、\隠蔽を閉じていない、プログラムの実行が継続します。どうして? gtk_widget_destroy(ダイアログ)が呼び出されていないようです。

p.s.私はLinux 64、Eclipse、C++を使用しています

+0

gtk_message_dialog_new()の引数は少し間違っていますが、この場合、必要なヘッダーを追加し、これを完全な機能にすることで、多すぎるものがあります。 [mcve]を投稿できる場合は、問題を見つけるためにチェックすることができます。 –

答えて

0

メッセージボックスをモーダルダイアログにしてみてください。

GtkWidget *dialog = gtk_message_dialog_new (NULL, 
            GTK_DIALOG_MODAL, 
            GTK_MESSAGE_ERROR, 
            GTK_BUTTONS_CLOSE, 
            "Some text", 
            g_strerror (errno)); 
関連する問題