GTK プログラミング!!at LINUX
GTK プログラミング!! - 暇つぶし2ch900:login:Penguin
07/03/20 16:13:54 SW3xr29J
>>898
エラーがで出てたのは、このウィジェットだけを配置する
プログラムなんですが、
#include <gtk/gtk.h>

int main(int argc,
char *argv[])
{
GtkWidget *window;
GtkWidget *button1;
GtkWidget *button2;
GtkWidget *button3;
GtkWidget *button4;
GtkWidget *button5;
GtkWidget *table;

gtk_init (&argc, &argv);

window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
table = gtk_table_new(10,10,FALSE);

gtk_container_add(GTK_CONTAINER(window),table);

button1 = gtk_button_new_with_label("BTN1");
button2 = gtk_button_new_with_label("BTN2");
button3 = gtk_button_new_with_label("BTN3");
button4 = gtk_button_new_with_label("BTN4");
button5 = gtk_button_new_with_label("BTN5");
//前半



901:login:Penguin
07/03/20 16:15:20 SW3xr29J
//後半
button1 = gtk_button_new_with_label("BTN1");
button2 = gtk_button_new_with_label("BTN2");
button3 = gtk_button_new_with_label("BTN3");
button4 = gtk_button_new_with_label("BTN4");
button5 = gtk_button_new_with_label("BTN5");

gtk_table_attach_defaults(GTK_TABLE(table),button1,0,2,0,10);
gtk_table_attach_defaults(GTK_TABLE(table),button2,2,4,0,10);
gtk_table_attach_defaults(GTK_TABLE(table),button3,4,6,0,1 );
gtk_table_attach_defaults(GTK_TABLE(table),button4,6,8,1,2 );
gtk_table_attach_defaults(GTK_TABLE(table),button3,8,10,2,3);

gtk_widget_show_all (window);

      gtk_main ();

return 0;
}




902:login:Penguin
07/03/20 16:16:54 SW3xr29J
>>899
不安になってやってみたら「hello, world」も同じエラーがでてきてできませんでした..orz。

#include<stdio.h>

int main() {
printf("hello, world");
return 0;
}

gtk+ チュートリアルのへろーわーるどは実行できるんですけど、
プログラムが終わると同じエラーがでてきます。
ぐぐったら、文字コードが関係してるらしいんですが、どれでやってもダメでした。
LINUXでやれっていうことなんですかね............。

903:login:Penguin
07/03/20 16:56:26 u2b4TE2D
mingwをインストールしなおせ

904:login:Penguin
07/03/21 03:54:17 Ay+CzKM3
>>872
今更だけど、URLリンク(gtklab.sourceforge.jp) の方法だけど
Win ではうまくいかなかった。
なので普通に Win API を使うしかなかった。

>>902
俺は URLリンク(gladewin32.sourceforge.net) の GTK ライブラリ使ってるけど、
問題なかったよ。

905:login:Penguin
07/03/21 15:08:14 mdl7DVyg
>>897
syntax error near unexpected token `main('

これは実行時ではなくてコンパイル時のエラーメッセージではないのか。

906:login:Penguin
07/03/21 15:33:43 h4G4UgJx
あのね、ここはLinux板でしてね
win32-portのことならム板にスレがあるからそっちに行ってほしいんだ

907:login:Penguin
07/03/21 15:44:01 OzGdWDRq
>>904
WindowsではWindowsのAPIを使うのが正解かもね。
その文書を書いた人が公開しているプログラムでもそうしてるみたい。
URLリンク(cvs.sourceforge.jp)

908:login:Penguin
07/03/22 06:20:18 nC3vS/QI
>>906
ム板には無いような気がするなぁ。
マイナーGUITKを「紹介するだけ」のスレはあるようだけど。
見落としてる?

909:login:Penguin
07/03/22 08:16:50 P6YXu+FN
>>908
GTKやめて、FOX Toolkitで作るといいよ

910:login:Penguin
07/03/22 11:05:43 nC3vS/QI
>>909
突然、何?
なにかが気に障ったなら謝るよ。ゴメンナ。

911:login:Penguin
07/03/22 17:19:08 NVYlVu8k
>>904
>>906が言ってるのはここの事では。

Gtkプログラミング on Windows!!!
スレリンク(tech板)

912:login:Penguin
07/03/22 18:01:50 oCFS6K5y
>>900

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

gint main(gint argc,gchar *argv[])に変えてみろ


913:login:Penguin
07/03/29 16:50:34 dC+/1rKX
GTKのwidgetにMozillaをのっけてアプリケーションを作った人いますか?
不具合とかあったら教えてください!

914:login:Penguin
07/04/01 02:44:59 RjtNty3y
すいません、質問させてください。文字を90度回転させるにはどうしたらいいですか?

915:login:Penguin
07/04/03 01:42:21 99UCu54W
ついに、自前の C++ マーシャラーを作成して、シグナルにコネクトできるようになったぜ!
こんな感じ。

class Test
{
public:
Test() : dummy(123) { }

void hello (GtkWidget *widget, gpointer data);

private:
int dummy;
};

void
Test::hello (GtkWidget *widget, gpointer data)
{
g_print ("Hello World C++ %d\n", dummy);
}

g_signal_connect_cc (button1, "clicked", &test, &Test::hello, 0);

これで、button1をクリックすると、

Hello World C++ 123

と出力される。v(^O^)v
素の GTK+ を使いつつ C++ でプログラム出来るのはかなりおいしい。


916:login:Penguin
07/04/03 05:09:44 EaZCa4Le
>>914
GTKをインストールした時についてくる gtk-demo で、
Rotated Text というのがあるので、それを見たらいいと思う。
gtk-demoでソースも見れるよ。

917:login:Penguin
07/04/03 19:04:41 YnFjw9iH
>>915
あ、それよさげ。
全体としてはC++でコーディングしたいけど、GTK+周りは初心者なので
素のCでやりたいと思ってた。gtkmmとか使うのも考えたけど、本家(?)の
GTK+の方が情報揃ってそうだったし。

918:915
07/04/04 03:16:21 4cUWSG/i
こんな時間になったけど、めげずにカキコ。

GTK+ が他のツールキットと違うのは、コールバック関数を呼び出す際に、
引数をスタックに積まないで、ヒープに型情報と共に保存して、
シグナルに登録されたマーシャラーを呼び出す。

呼び出されたマーシャラーは、データを取り出して、コールバック関数に
合った方法で引数に変換して、コールバック関数を呼び出す。

というところまで分かったんで、だったら、C++ のメソッドを呼び出せる
ように出来るんじゃないかと思ったのがきっかけ。
gtkmm を使いたくないのが一番の理由だけどw

とりあえず、これからブログを開設するんでwwwそっちに載せるつもり。

919:914
07/04/04 20:46:07 fydXVgVP
>>916
情報ありがとうございますm(_;_)m
gdkのpangoインターフェースというのがあるんですね。
(でも2.6からみたいなので拙の2.4ではだめかも…)

920:login:Penguin
07/04/12 18:45:31 AmiOQVwy
textviewについて質問です
表示行数を増やしたときに、その新しい行が見えるように、一番下までスクロールすることにしました。
text_buffer_insertして
end_iterにscroll_to_iterしています。
しかし、これを実行しても、最後の行までスクロールされません
最後のカーソルがひとつあるだけの行と、その上の行が見えません(つまり、こちらの意図より2行うえにずれてる)
もちろん、スクロールバーも、下がちょびっと残っていて、一番したまでぴったり動きません

テキストビューを一番下までスクロールする方法を教えてください


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch