10/01/28 18:34:10 YXchBGq5
>>408
ありがとうございます。すみません、説明不足でした。
ちょっとソースは長いので文書のみで失礼します。
プログラムは、rc.localで起動した時点ではgtk_init()をコールしない作りにしてます。
その後、ログイン後にコンソールから別プログラムを通してプロセス間通信によりコマンドを送信、
そしてコマンドを受信した時点で gtk_init()をコールさせる形にしてました。
ログは、
printf("call gtk_init\n");
gtk_init();
printf("call end\n"); ★
のようにして、★が出力されない感じです。
その後の調査で、どうやら rc.local起動させた場合、環境変数 DISPLAYなどが
全く設定されていないようです。
そこら辺に問題有りかと思っているのですが、なにぶん、勉強不足でして。
時間も無いので質問させて貰った次第です。
410:login:Penguin
10/01/28 18:40:22 A3FmJC2O
DISPLAYも何も、Xの起動はrc.localより後なんだぜ?
プログラム分けるんじゃ駄目なんかい
411:login:Penguin
10/01/28 18:44:27 0EFvnz24
時間も無いので
時間も無いので
時間も無いので
時間も無いので
時間も無いので
412:login:Penguin
10/01/28 19:24:50 bFXQct0B
>>409
「GTK初心者」と言うよりLinux&プログラミング初心者のようですね。
貴方にGTKはまだ早いです。環境変数やXの基本が理解できていないと
説明されても分からないと思いますので出直してきて下さい。
413:login:Penguin
10/01/28 19:30:37 uG/wS28i
お金も無いよ
お金も無いよ
お金も無いよ
414:login:Penguin
10/01/28 19:32:04 YXchBGq5
>>410
ありがとうございます。
inittabで初期化レベルを分けていることもあり、
てっきりrc.local前に起動処理が走っているかと勘違いしていました。
お恥ずかしい。
>>412
おっしゃるとおりです。
出直してきます。
415:login:Penguin
10/01/28 21:55:00 WU2RMXov
>>414
DISPLAYが設定されてなくて、Widget使わないなら、
GObject関係を使うためだけなら、g_type_init ()すれば良いよ。
有名なエラーが出るからgtk_init()使ったってエスパーしてみた。
416:login:Penguin
10/02/07 16:35:02 jjKybwb6
書籍「入門GTK+」のP31のプログラムを打ち込み、何度も確認したのですが、どうしても下記のエラーが出てしまいます。
何が間違っているのか、ご教示願います。
gtk-sample.c: In function ‘create_menu’:
gtk-sample.c:64: error: ‘acitons’ undeclared (first use in this function)
gtk-sample.c:64: error: (Each undeclared identifier is reported only once
gtk-sample.c:64: error: for each function it appears in.)
gtk_action_group_add_actionsの値でエラーが出るようです。関係する記述を確認しましたが問題ありません…
417:login:Penguin
10/02/07 17:08:07 KhA+E7Mu
エラーメッセージを読んでみましょう
acitonsが宣言されていませんよ
actionsと間違えていませんか?
418:login:Penguin
10/02/07 17:18:05 jjKybwb6
>417さん
ごめんなさい、本当に気づきませんでした。エラー文を読んでいたのに…ありがとうございました
419:login:Penguin
10/02/09 01:35:25 gRID6Pu9
ググれ秀才
420:login:Penguin
10/02/10 20:29:31 y7MwWf/g
gtkmmをこれからやってみようと思ってるけど、
入門GTK+を読みながらC言語で練習するより
最初からgtkmmでC++使ったほうがいい?
gtkmmの入門書がないみたいなので、
取っかかりとして入門GTK+を候補にしてるんだけど…。
421:login:Penguin
10/02/11 13:48:24 AIMyey0J
>>420
最終的にC++で書くのが目的なら、↓みたいなところがあるからC++で書けばいいんじゃない。
gtkまわりの日本語の情報が少ないから、言語は違うけどたまに参考にさせてもらってるよ。
URLリンク(book.geocities.jp)
422:login:Penguin
10/02/12 15:44:26 DJstgHYM
>>421
そのサイト見てみます。
ありがとう。
423:login:Penguin
10/02/17 19:33:47 Ozbv3EUx
GTK+ 1.2 で作った古いツールを 2.0 で動くように手直ししてるんですが、とりあえず Makefile の中で
# GTK+ 1.2
CFLAGS = `gtk-config --cflags`
LIBS = `gtk-config --libs`
# GTK+ 2.0
CFLAGS = `pkg-config --cflags gtk+-2.0` -DGTK_ENABLE_BROKEN -DGTK_WINDOW_DIALOG=GTK_WINDOW_TOPLEVEL
LIBS = `pkg-config --libs gtk+-2.0`
てな感じでお茶を濁して動かしているんですが、ソースを全面的に 2.0 対応するコストって
どれほどでしょうか?
150本ほどのちまちましたツールがあって、2.0 で起こしたツールが2割程度、後の8割は、
前記のとりあえずリビルドです。
424:login:Penguin
10/02/17 19:42:41 TkV44uU+
1.2のランタイムぐらい入っててもいんでない?
425:login:Penguin
10/02/21 14:06:19 pTXZtDIq
ちょっと自前で描画しようとすると、gdkとcairoが混在していて
煩雑としてるなぁ。
少なくともGDKの描画関連のAPIはもういらないだろう。
3.0辺りでばっさり消すとかしてもいいんじゃないか。
426:login:Penguin
10/03/11 00:46:30 Vm2wsjJM
GTK(+glade)を使ったあるプログラムを
・HP-UXサーバ
・RedHat Linuxサーバ
でそれぞれコンパイルおよび動作させ、
別のLinux端末に表示させたところ、
表示や動作自体は問題無いんだけども、
エディットボックスへの入力で
RedHat Linuxの方は日本語入力を受け付けてくれません。
ちなみに、それぞれに入っているGTKはともに1.2です。
SCIMとかの環境は、一見同じっぽいですが・・・・
どこか見るべき箇所はあるでしょうか?
ちなみに、glade自体も
HP-UXは日本語入力を受け付けてLinuxサーバの方は
日本語入力を受け付けてくれません。
gladeの問題なんですかねぇ・・・?
427:login:Penguin
10/03/12 16:52:20 sdgtdQtC
Gtk::Dialogの派生クラスを作成してある条件の時表示させています。
表示後一定期間経過したら自動的にそのダイアログを閉じたいのですが、
どうすればいいのでしょうか。
特にダイアログにこだわっているわけではありません。
何かメッセージを表示 -> 一定時間後に自動的に消去
が実現できればいいです。
よろしくお願いします。
428:login:Penguin
10/03/12 19:39:46 37m6gC+E
>>427
g_timeout_add関数ではだめでしょうか?
429:login:Penguin
10/03/12 19:41:48 WSSuZVVD
>>428
そこはらめぇーーーー
430:login:Penguin
10/03/16 23:40:15 u16nCOLZ
gtk_widget_drawを呼ぶとたまにアプリが落ちる
調べたらgtk2では非推奨になってた
かわりにgdk_window_invalidate_rect使えって書いてあったから
それ使うようにしたら、exposeイベントハンドラに入ったり入らなかったりするようになった
431:login:Penguin
10/03/19 03:10:05 pTXFbkuH
Xawで作られたソフトのWidgetをGnomeテーマのスキンっぽく
変える方法ってありますか?Xaw3dみたいな
432:login:Penguin
10/03/22 18:34:33 gITq0f63
>>427
作ってみた。たぶん、427はここを見てないだろうけど
#include <gtk/gtk.h>
gboolean timeout(gpointer data){
gtk_dialog_response( GTK_DIALOG(data), GTK_RESPONSE_ACCEPT );
return FALSE;
};
int main (int argc, char **argv){
guint tag;
GtkWidget *dialog;
gtk_init (&argc, &argv);
dialog = gtk_dialog_new_with_buttons ("My dialog", NULL,
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL);
g_signal_connect_swapped (dialog, "response", G_CALLBACK (gtk_widget_destroy), dialog);
tag = g_timeout_add_seconds( 2, timeout, dialog );
gtk_widget_show_all (dialog);
gtk_dialog_run(GTK_DIALOG(dialog));
g_source_remove(tag);
return 0;
}
433:login:Penguin
10/05/01 02:23:02 ZoBub0ZC
あるデータファイルをどんどん読んで処理しながら、1秒に1回その途中経過を
Windowに表示する、みたいなプログラムを書こうとしています。
Windowに表示する部分は、gtk_main()を呼ぶ前に、g_timeout_add(1000, draw, NULL)
のようにしてタイムアウト関数を使えばいいとして、データファイルを読み込んで
処理する部分は、どこに書けばいいのでしょうか?
スレッドとかを使わずにやりたいのですが。
434:login:Penguin
10/05/01 18:51:28 lTmE6Ym2
g_io_add_watchとか?
435:login:Penguin
10/05/01 21:52:51 5eA3cNHe
LinuxでGTK+やってる人はWindowsでも主にGTK+で書いてる?
WindowsのAPIは使いませんって人いるのかな。
436:login:Penguin
10/05/02 00:32:37 Bdebw0Wa
そもそもWindows使いません。
437:login:Penguin
10/05/02 06:00:37 J+HCMgwe
>>433
スレッドを使わない方がめんどくさいと思うんだけどね。
ずーっと処理し続けて一秒に一回描画するって事だと
その処理の間は入力受け付け無くてもOK?
その為のスレッドなんだけどなぁ。
シングルCPUでもそう言うことが出来るのがスレッドの良いところ。
それでもスレッドを使いたくないというなら、こまめにシグナル飛ばしっこ
するしかないと思う。
438:login:Penguin
10/05/02 21:48:38 uNQYZGNa
簡単なシミュレーション用のGUIラッパ作りたんですが、
Qt4とgtkmmどっちが作るの楽ですか?
どっちもバグてんこ盛りそうで、javaやM$畑に生まれたかった
439:login:Penguin
10/05/02 22:14:42 WSA7U0rv
>>438
マジでバグテンコ盛りだからいまからでも上にJava+Swingあたりでやらせてくれって掛け合ったほうがいい。
ちゃんと上にQtもGTK+もバグテンコ盛り過ぎてプロダクションレベルに使えないって直訴するんだぞ。
440:login:Penguin
10/05/04 08:25:25 i62yYai1
>>438
vala とかどうか。バグが多いかどうかはプラットフォームに
よる部分も多いと感じるが…win ならC#で組むのが楽だとは思う。
441:login:Penguin
10/05/04 09:52:32 gZYcN+Ue
>> 439
使いこなせていないだけじゃないの。
442:login:Penguin
10/05/04 21:20:07 C0XJN+7X
なんでこのスレ、ム板じゃないの?
SDLとかはちゃんとム板でやってるのに
なんでGTKはのけ者なの?
いじめに合うの?
443:login:Penguin
10/05/04 21:28:25 9ORU/lJS
Gtkプログラミング on Windows!!!
ってスレがム板にあるけど?
スレリンク(tech板)
444:login:Penguin
10/05/04 21:36:12 C0XJN+7X
窓専用じゃん。
445:login:Penguin
10/05/04 21:47:13 9ORU/lJS
自分で立てればいいぢやん
446:login:Penguin
10/05/05 17:49:24 NLGDqQjm
まぁええやんここにも有っても
どうせ両方見てるし