Gtkプログラミング on Windows!!!
マルチプラットフォームなGUIライブラリでプログラミング!
利点
・C、C++、Python、Ruby, etc...いろんな言語にも対応してるぞ!
・Linuxに移植するのも簡単だぞ!
・Gladeで楽々GUIデザイン!
・自由!RMSマンセー!
・でも、ライセンスはLGPLだから動的リンクにすればアプリのソースコードを公開する必要は無いぞ!
GtkライブラリのバイナリはGlade込みのやつがオススメだぞ。
公式:http://www.gtk.org/
Windowsバイナリ:http://gladewin32.sourceforge.net/modules/news/
gtkmm: C++インターフェイスだ!
公式:http://www.gtkmm.org/
Windowsバイナリ:http://www.pcpm.ucl.ac.be/~gustin/win32_ports/gtkmm.html 「親切な人、教えてください」も似たようなもんかな。
反語的に教えない人は不親切だ、と自分の態度を
棚上げにして言っているような印象を周りに与えている
ということに、言ってる本人は気が行ってない。
# 気付いててなお言ってるとしたら、さらに悪質だがww 専門的な学問・技芸を教授ってのは、武道で言うと
免許皆伝とかそういうレベルでの習得を意味するんで、
「ご教授ください」なんていった日にゃ、そいつはその日に
家を出て師匠の所に内弟子に入るくらいのことを
やらにゃいけんくなるぉ。 >>121
俺はそんな印象は受けないな。
そもそも即座に答えられるのに答えなかったなら不親切なのは確かだし。 「初心者にもわかるように教えて下さい」って言うことのなにが悪いのかわからん。
実際に初心者なのかも知れないし、普通に丁寧な表現のように見えるが。
自分が答えるわけでなし、嫌なら黙ってればいいんじゃね。
それに>>111の(1)(イ)のように普通に専門的なことを教えるってだけの意味だし
「国文学を教授する」って例から、別に弟子入りみたいなニュアンスは読み取れない。
どちらかというと、ひな壇から生徒に対して教えるみたいなイメージがあって、「教示」よりも
解答者を持ち上げてる丁寧な表現だと思う。すばらしいじゃないか、コンピュータの質問
に答えるだけで教授になれるんだから。教員免許もいらない。
>>117の「本来の使いかたじゃないけど定着しちゃった」ってという考え方でも問題ないんじゃないの。
俺も昔は他人の言葉の間違いを指摘してたけど、結局、数学じゃないんだから多い方が正しいん
だよね。既に30万件以上グーグルにある表現を訂正するのはあまりにも遅すぎる。 >>124
君、グーグル信者なの?
「ビバ!教えてクン!」あたりで検索してごらんよ 事故ったので報告します
./autogen.sh
./configure
共にオプションなしで実行していませんでした
(出力の一部)
checking build system type... i686-pc-cygwin
checking host system type... i686-pc-cygwin
checking target system type... i686-pc-cygwin
オプションを付けて再度実行してうまくいきました
$ ./configure --host=i386-mingw32 --target=i386-mingw32 --disable-shared CC='gcc -mno-cygwin' CXX='g++ -mno-cygwin'
(出力の一部)
checking build system type... i686-pc-cygwin
checking host system type... i386-pc-mingw32
checking target system type... i386-pc-mingw32
ヒントになりそうなリンクをご教示頂いたかた
適当に茶化してるだけのひと
愛の鞭を揮って戴いたかた
いろいろ勉強になりました
本当にありがとうございました
>>120
そんな7年も前の記事で云々されても困る。
今や、bccを設定するよりもgcc@cygwinをインストールする方が手間が掛からん。 ttp://www.hakodate-ct.ac.jp/~tokai/tokai/gtkmm/ なんでGHashTableがGlibに含まれてないの? >>138
間違いた。なんでGlibにGHashTableがあるのに、GlibmmにはHashTableが含まれて
ないんだろう?
といいたかったの。 なんでTreeViewのColumnにwidgetを貼れないのはなぜ? CellRendererConainerを自作すれ
GtkWindow がデスクトップの上で移動させられたことを知りたいのですが、
どういうシグナルを使うのがいいですか? WxWidgets使った人居てる? CDT+WxWidgetsがうまく導入できません。 スレ違いかもしれないけどGTK+ってどこの設定でどの言語を使うかを把握してるの?
試しにinkscapeとかPidginを使ってみたんだけど、いつも英語が表示されてしまうのだが。 LANGじゃねーの。あと、アプリの配布方法によっては各国語のカタログないやつもあるよ。 Coqという自動証明ソフトを入れようとしているのですが、
やたらとdllファイルが見つかりません、というエラーが出た挙句、
プロシージャエントリポイント g_get_application_name が
ダイナミックリンクライブラリlibglib-2.0-0.dllから見つかりませんでした。
というエラーが出てきました(´・ω・`)
これは勘なのですが、gtkを入れる必要があるという事なのでしょうか?
今のところ、C:\Program Files\Common Filesにgtkは入っていません。 >>153
一応ググってはみたんです。
そうするとどうもgtk関係のが多くひっかかったように思えたので
ちょっと質問しに来てみたのです。
まあ入れてみれば分かりますよね。
インストールしてみます。 DでGtkをラップしたフレームワークで
GTKmmみたいなのないですか
gtk_combo_boxのアイテム数を取得するにはどうすればいいですか。。。
理想としてはgtk_combo_box_lengthみたいなのがあればいいんですが・・・ >>159
gtk_tree_model_iter_n_children (gtk_combo_box_get_model (combo), NULL)
こんな感じでどうかな? gtkmm 2.10.11です。
Gdk::Color red;
red.set_rgb(65535, 0, 0);
m_button1.modify_bg(Gtk::STATE_NORMAL, red);
これでボタンの色が変わると思ったら変化無し。
俺何か勘違いしている? >>162
バグだね。2.12.0では見事に赤くなりました。
なにー。gnomeのサイトにあった2.10.11のお手軽パックで済ませようと思ってたのに。
とにかくthx。アップデートしてみる。 デスクトップのマウスクリックイベントを取得したいのですが、どうすれば良いでしょうか?
グローバルホットキーを登録したいのですが、どのようにするのでしょうか? HTMLをレンダリングするにはどうしたらいいんだぜ?
gtkhtmlもgtkmozembedも駄目くね? Vista 64ビットでGTKを動かしてみたのですが、
ウィンドウのタイトル以外(ボタンのキャプション)とか
全部 □□□□□ で表示されてしまいます。
coolwave.exe を動かしてみましたが、ボタンで Quit と表示されるところが
□□□□になってしまいました。
フォントとかの問題かもしれませんが、心当たりのある方に対策を
教えていただければと思います。
ちなみにVista32ビットだと、フォントの メイリオ がどうのこうの
と警告が表示されますが、とりあえずは表示は大丈夫です。
Bugzillaで検索してみたら?
無ければ登録してあげれば多くの人が喜ぶんじゃない Gtk::Windowのタイトルバーを除いた領域の縦横サイズを取得するにはどうしたらいいんでしょうかね? 有名かもしれないし、Linux向けのページだけど貼っとく。
GTK/GNOMEによるGUIプログラミング
http://www.iim.ics.tut.ac.jp/~sugaya/wiki/wiki/index.php?GTK%2FGNOME%A4%CB%A4%E8%A4%EBGUI%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0 >>175
スレ違いだけど
sugayaってもしかしてと思ったら、うちの大学で助手やってた人だ 必要は無いけど
Linux板にもGTK+スレがあって、しかも向こうの方が歴史が長い。
環境の切り分けも出来てるしいいんでない? Glade for Win32がとりあえず復活している様子。
ttp://gladewin32.sourceforge.net/ linux板にはあるからそっちを使いな
・・・Qtスレはunix板にあるんだな gtk-dev-2.12.9-win32-2.exeってのさっきインストールしてみたら、
元のシステム環境変数PATHを思いっきり消して、自分のPATHだけ登録しやがった。
何これ、ふざけてる。インストーラのバグか?
幸い気づいたときには、消される前に起動したシェルを立ち上げたままだったんで、
シェルが握ってる環境変数から復元したけど。 GtkWindowを最前面で表示する方法ってどうするん? コンテナなどはcan-focusをセットすればフォーカスが移るようになると思うのですが、
フォーカス枠は表示されません。この場合にフォーカス枠を表示させる方法はあるのでしょうか? MinGWで開発してます。
コンパイルして、実行ファイルを実行するとGUIの画面も出ますが、
コンソール画面も出ます。
このコンソール画面が表示されないようにするにはどうしたらいいでしょうか? >>190
ありがとうございます。
出なくなりました。 >> 190
それって、Cygwin用じゃないの?
そんなことを書いているサイトを見たことがある・・・ >192
PE ヘッダ中のフラグをどうするかだけだろうから Win32 の EXE なら一緒でしょ。
っていうか、EXE を直接書き換えても同じ効果が得られるはず。 GTKってLGPLだよね?商用とかいけんのかね?
ライブラリがないとかでユーザサイドで動かない場合が多くなりそうだけど。。
シャエウェアもダメなんかね? >>194
商用ソフトが実際にあり、うちの会社で使ってる。 >>194
LGPLならライブラリをパッケージに含めることは問題無いだろう
もちろんライブラリ自体に手を入れたなら、その部分のソースは入手可能にしておかないといけないが LGPLのライブラリを再配布していいんだったらスタティックリンクしたのとあんまかわんないし、
だめなんだと思ってたんですが。
うーん、ぐぐってもなんか意見が割れてるなあ・・よくわからん 何をどうググったのか知らんが
割れてるなら厳しい意見の方を採用しておけばまぁ間違いは少ないだろう Windowsの終了時(電源を切る)に
ソフトを起動する事は出来ないでしょうか?
時間記録等のバッチやアプリを起動したいと思っています。
(現状は、この最後のためだけに常駐させている状況です) WM_QUERYENDSESSIONでfalse返しておいてアプリを起動し、バッチ終了後に改めてExitWindowsを投げるアプリを作ればもちろん出来ますよ .あるいは単に「アプリAを起動、終了を確認してからExitWindowsする」
アプリBを作り、必ずアプリBを起動してWindowsを終了するようにする。
これなら常駐の必要ないべ。
てかGtkと関係あるのか?w >>201-202
有難う御座います。 これを参考に早速試してみたいと思います。 LGPLはライブラリをそのまま含めれば
ソースコードの公開やらフリー化が義務らしいがDLLはその限りではないらしい
パッケージにDLLを含めればいいのでは?
GtkTextIterの仕様って意味不明だわ。
テキストの範囲の終わりを示すのに使われるときには手前の文字までしか
含まないのに、GtkTextIter自体から文字を取得するときには後ろの文字が
返される。
なんで「文字と文字の間の位置を表す」なんてわかりにくい概念で定義
するかね。
理解するのに無駄に時間がかかったよ。 イテレータはC++におけるSTLの概念だね...
まあテンプレート自体C++特有の考え方だから
C++使わない人にはなじみがないかも...
ソートやらリストやらの手間が省けるから便利ではあるんだけどね... 今気づいたが、WindowsでGTK+やQtのアプリ起動すると、サンプル程度の物でも
メモリ使用量が20〜30MBは当たり前って感じで萎えた。タスクマネージャでざっと
確認しただけだが、同じ物を複数起動しても、すべてそんな感じ。
この事といい、起動速度といい、.NETといい勝負。ただGTK+はクロスプラットフォ
ームだし、LinuxのGNOME上なら起動速度も普通(当たり前だけど)なのが違う。 Gnomeはそれ自体がもっさりだから目立たないだけって肝ス。 どなたかメモリ節約しつつRuby/GTKアプリケーション動かす方法知りませんか?
やっぱ無理なのかなあ。 Ruby+GTKという組み合わせな時点で
ある程度メモリ食ってしまうのは仕方ないだろ アプリをGUIで終了させるには正常に終わるのですが、
コンソールからCtrl-Cで終了させると、エラーメッセージが出ます。
どうすれば直りますか。 そりゃそうでしょ。正規の終了方法じゃなくて強制終了なんだから。 >>208
でたらめ吐くな
GTKのサンプルくらいなら10M以下で十分動作するだろうが サンプル程度で10Mも喰うなんて
馬鹿なの?
タヒぬの? >>212
Ctrl-Cシグナルをフックするハンドラを書いて
abortしないようにすれば桶
+window
−+vbox
−+scrolledwindow
−+viewport
−+aligment
−drawingarea
という構成でscrolledwindowの中心がdrawingareaに表示した画像のどの座標
に該当するか分かる方法又は関数ってありますか?
GdkのregionってWin32のGDIのregionみたいに色んな図形のとか、
PathToRegionみたいなことできるんですか? こんど新しいQtの本が出るみたいだよ。入門書っぽいけど。GTK+もがんばってほしいなあ。
http://www.amazon.co.jp/dp/4877832211