質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
GTK+

GTK+とはGUIを作るために作られた、とても使いやすく機能に富んだツールキットです。クロスプラットフォームによる互換性と、使いやすいAPIを備えています。

Q&A

解決済

1回答

496閲覧

gtkでダイアログにバーを出したい

kokawa2003

総合スコア217

GTK+

GTK+とはGUIを作るために作られた、とても使いやすく機能に富んだツールキットです。クロスプラットフォームによる互換性と、使いやすいAPIを備えています。

0グッド

0クリップ

投稿2019/01/03 01:01

GTKでプログラムしていてDLALOGは出せるようになりました。
こんな感じです

C

1/*Callback function in which reacts to the "response" signal. Be sure to place 2it before the function it is called in*/ 3static void 4on_response (GtkDialog *dialog, 5 gint response_id, 6 gpointer user_data) 7{ 8 /*For demonstration purposes, this will show the int value 9 of the response type*/ 10 g_print ("response is %d\n", response_id); 11 12 /*This will cause the dialog to be destroyed*/ 13 gtk_widget_destroy (GTK_WIDGET (dialog)); 14} 15 16 17 18/*Callback function in which reacts to the "clicked" signal*/ 19static void 20show_dialog (GtkWindow * user_data) 21{ 22 GtkWindow *window = user_data; 23 GtkWidget *dialog; 24 GtkWidget *content_area; 25 GtkWidget *label; 26 27 gint response_id; 28 29 /*Create the dialog window. Modal windows prevent interaction with other 30 windows in the same application*/ 31 dialog = gtk_dialog_new_with_buttons ("A Gtk+ Dialog", 32 window, 33 GTK_DIALOG_MODAL, 34 GTK_STOCK_OK, 35 GTK_RESPONSE_OK, 36 NULL); 37 38 /*Create a label and attach it to the content area of the dialog*/ 39 content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); 40 label = gtk_label_new ("This demonstrates a dialog with a label"); 41 gtk_container_add (GTK_CONTAINER (content_area), label); 42 43 /*The main purpose of this is to show dialog's child widget, label*/ 44 gtk_widget_show_all (dialog); 45 46 /*Connecting the "response" signal from the user to the associated 47 callback function*/ 48 g_signal_connect (GTK_DIALOG (dialog), 49 "response", 50 G_CALLBACK (on_response), 51 NULL); 52 53}

このDIALOGにスクロールバーつきのエリアを作って画像を貼りたいです
イメージ説明
こんな感じ
どうすればいいかわかる人はいませんか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

GtkScrolledWindowGtkImageを使ってください。

c

1#include <gtk/gtk.h> 2 3int main(int argc, char *argv[]) 4{ 5 GtkWidget *window; 6 GtkWidget *scr_wnd; 7 GtkWidget *image; 8 9 gtk_init(&argc, &argv); 10 11 if (argc < 2) { 12 g_printerr("%s <input>\n", argv[0]); 13 return 1; 14 } 15 16 window = gtk_window_new(GTK_WINDOW_TOPLEVEL); 17 18 scr_wnd = gtk_scrolled_window_new(NULL, NULL); 19 gtk_widget_set_size_request(scr_wnd, 300, 200); 20 gtk_container_add(GTK_CONTAINER(window), scr_wnd); 21 22 image = gtk_image_new_from_file(argv[1]); 23 gtk_container_add(GTK_CONTAINER(scr_wnd), image); 24 25 g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL); 26 gtk_widget_show_all(window); 27 28 gtk_main(); 29 return 0; 30} 31

投稿2019/01/03 14:26

katsuko

総合スコア3462

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問