X



Gtkプログラミング on Windows!!!
0001デフォルトの名無しさん
垢版 |
2006/05/08(月) 02:50:03
マルチプラットフォームな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
0210208
垢版 |
2009/01/11(日) 18:36:58
どなたかメモリ節約しつつRuby/GTKアプリケーション動かす方法知りませんか?

やっぱ無理なのかなあ。
0212デフォルトの名無しさん
垢版 |
2009/02/11(水) 20:12:54
アプリをGUIで終了させるには正常に終わるのですが、
コンソールからCtrl-Cで終了させると、エラーメッセージが出ます。
どうすれば直りますか。
0215デフォルトの名無しさん
垢版 |
2009/02/18(水) 19:53:32
サンプル程度で10Mも喰うなんて
馬鹿なの?
タヒぬの?
0216デフォルトの名無しさん
垢版 |
2009/02/18(水) 19:55:16
>>212
Ctrl-Cシグナルをフックするハンドラを書いて
abortしないようにすれば桶
0217デフォルトの名無しさん
垢版 |
2009/03/12(木) 14:57:27
+window
 −+vbox
  −+scrolledwindow
    −+viewport
     −+aligment
       −drawingarea
という構成でscrolledwindowの中心がdrawingareaに表示した画像のどの座標
に該当するか分かる方法又は関数ってありますか?

0219デフォルトの名無しさん
垢版 |
2009/04/06(月) 05:05:28
GdkのregionってWin32のGDIのregionみたいに色んな図形のとか、
PathToRegionみたいなことできるんですか?
0221デフォルトの名無しさん
垢版 |
2009/05/14(木) 17:29:32
すみません、さっぱり分からないので教えてもらえないでしょうか・・・。

gtk_pixbufの関数(gdk_pixbuf_new_from_file)を使いたいのですが、やっぱりgdk_initは呼んでないと駄目ですよね?

gdk_initって、DISPLAY環境変数がないと動かないようなのですけど、X Windowを立ち上げない状態ではやっぱり無理ですかね・・・。

http://jp.rubyist.net/magazine/?0019-cairo

の真ん中あたりには、Xサーバーがなくても動くみたいなことが書いてあります。
この記述はあってるんですか?

どうぞよろしくお願いいたします。
0222デフォルトの名無しさん
垢版 |
2009/05/14(木) 20:55:58
>221
CentOSだけど、DISPLAYなくても動くみたい
---
.....
    g_type_init();

    pGError    = NULL;
    pGdkPixbuf = NULL;
    pGdkPixbuf = gdk_pixbuf_new_from_file(pFile, &pGError);
    if (NULL == pGdkPixbuf) {
        fprintf(stderr, "%s:%d:%s\n", pFile, pGError->code, pGError->message);
        g_error_free(pGError);
    }
    else {
        printf("Open success %s\n", pFile);
    }
.....
---
$ g++ -g 'gdk_pixbuf_new_from_file.c' `pkg-config gtk+-2.0 --libs --cflags`
$ export DISPLAY=
$ ./a.out tmp.jpg
gdk_pixbuf_new_from_file(tmp.jpg)
Open success tmp.jpg
$ ./a.out tmp.txt
gdk_pixbuf_new_from_file(tmp.txt)
tmp.txt:3:Couldn't recognize the image file format for file 'tmp.txt'
0223デフォルトの名無しさん
垢版 |
2009/05/15(金) 11:03:31
>222
返信ありがとうございます!
なるほど、g_type_initを呼ばないといけなかったのですね。
勉強不足でした。

今回初めてlinux上で開発をやらなければならなくてやってるのですけど
難しいですね・・・。英語しかないものが多くて泣きそうです。

本当に助かりました。222さん。
0225デフォルトの名無しさん
垢版 |
2009/07/13(月) 23:50:43
Win32 用で Gtk+ と Gimp-dev の環境ってどこかにないですか?
環境作るのに疲れました。

MinGW + msys でコンパイルしたいと思ってます。
0229デフォルトの名無しさん
垢版 |
2009/07/25(土) 22:23:46
age
0232foi.americanprogress.org
垢版 |
2009/08/17(月) 17:49:49
自動焼人 ★ = 自動保守 ◆KAWORUKOFI = 自動保守#K9K?_D[L

名言集 その4
『俺、100人規模の集団サイバーテロの主犯だったこともあるんだぜ』

http://yutori7.2ch.net/test/read.cgi/news4vip/1249830540/ のID:PVAf+dux0 = 自動焼人 ★

> 965 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:02:09.35 ID:PVAf+dux0
> まぁ何だ。
> 俺の過去の経歴に比べたら、割れ厨なんて鼻くそレベルなんだけどなw
> 100人規模の集団サイバーテロの主犯とか、いろいろとな。


----------------------------------------------
この自動焼人 ★メールマガジンの配信停止をご希望される方は
http://qb5.2ch.net/test/read.cgi/sec2chd/1250169591/
にて自動焼人 ★までご連絡ください
0233デフォルトの名無しさん
垢版 |
2009/08/24(月) 06:50:47
このスレ、何でWindows限定?
0235デフォルトの名無しさん
垢版 |
2009/09/18(金) 10:08:09
ボタンwidgetの背景色を動的に変えるにはどうすればいいの?
0237デフォルトの名無しさん
垢版 |
2009/10/30(金) 00:49:26
これからGTK+を学んでみようと思ってる者っす。

GTK+を使ったWindowsアプリを作ったら、そのアプリの使用するマシンでGTK+が動くように
ライブラリか何かを一緒に配布する必要がある?
どれを配布すればいいかな。
Sylpheedはインストーラで自動でインストールできるようになってるみたい。

>>1の動的リンク云々はこの関連の話?
動的リンクってつまりDLLのことかな。

誰かかっこいい人、教えてください。
0238デフォルトの名無しさん
垢版 |
2009/10/30(金) 07:58:47
ライブラリはインストールパッケージにdllを一緒に入れるか
staticlinkでなんとかなるんじゃないかな
フォントとかも一緒にいるし
それ以外にもいろいろいるから
自己解凍インストールにしないかぎり
exeひとつだけって訳にはいかないよ
0239デフォルトの名無しさん
垢版 |
2009/10/30(金) 15:06:01
男前な>>258さん、ありがとう。
スタティックだとソース公開しなきゃいけなくなるんじゃなかった?
ダイナミックはOK、スタティックはダメって変な話だから、間違ってるかも。

で、dllはどれを入れるんでしょ?
あと、「それ以外にもいろいろ」っていうのは、iniとかreadmeみたいな
自分で作ったファイルってこと?
そういうのならわかるからいいけど、システム上要求されるファイルのことがわかんない… ><
0242デフォルトの名無しさん
垢版 |
2009/11/01(日) 22:16:56
GTK+ってWindowsではあまり使われてないの?
何で〜?
0244デフォルトの名無しさん
垢版 |
2009/11/02(月) 20:18:35
JavaのJREみたいに、「これさえインストールすればGTK+を使ったソフトが動きます」っていうような
インストーラがあればいいのにね。
ソフトごとにライブラリをパックして配布するなんて面倒い。
0246デフォルトの名無しさん
垢版 |
2009/11/02(月) 20:50:49
あー、全部詰め込むと巨大になるのか。
使ってるDLLだけ実行ファイルと一緒に入れておくのがいいのね。
0247デフォルトの名無しさん
垢版 |
2009/11/03(火) 18:27:24
GTK+って商用で使われてる?
職業プログラマの人たちは、仕事で使ってるんだろうか・・・。
0248デフォルトの名無しさん
垢版 |
2009/11/03(火) 18:56:27
>>247
VMwareとかに使われてるのはよく聞く。
AndroidのUIもGTK+じゃなかったっけ?あと携帯のシミュレータの外側UIにGtk+の1.x系が使われてたってのも聞いたことがある。
0254デフォルトの名無しさん
垢版 |
2009/11/03(火) 22:40:35
商用アプリは残念ながらほぼないに等しいと思うけど、
ttp://www.sharp.co.jp/netwalker/
みたいに、Linuxをまんま載せてるものはメインで動いているのは
GTK+アプリだよ。
0255デフォルトの名無しさん
垢版 |
2009/11/03(火) 22:49:01
GTK+はライセンスの問題があるからな
0256デフォルトの名無しさん
垢版 |
2009/11/03(火) 22:54:35
俺のNECの携帯BusyBoxでGTK+1.xだわ
公式ページ探したらソースコード落とせるようになってた
組み込みならGTKけっこうあるんじゃないか?
0263デフォルトの名無しさん
垢版 |
2009/11/06(金) 09:37:39
Windows上でgtkmm使ったポトペタ開発を試してみようと思うんだけど,何を用意してどうすればいい
のかよくわからない(コンパイラはMinGW希望)。

最初Glade 3をインストールしてみたけど,XMLファイルしか吐かないので,ググって知った情報から
Glade 2に代えたら確かにソースコードを吐く機能があったので,C++コードを吐く設定にして実行したら
エラーが出た。Cコードなら吐けるみたい。

教えてください。
0264263
垢版 |
2009/11/06(金) 10:14:57
ちなみに>>183の情報見といて助かった。アリガト。確かにGlade 3インストールしたら,PATHを見事に「オレ専用」
に書き換えてくれやがったよ。

環境変数をファイルに保存したり読み込んだりするeveというツールを使って復元成功。
0265デフォルトの名無しさん
垢版 |
2009/11/07(土) 04:07:31
>>263
ttp://pc11.2ch.net/test/read.cgi/linux/1188968326/
の227 229に、とりあえず俺が書いた gtkmm + GtkBuilder の
サンプルがあるからみてみ。
0266263
垢版 |
2009/11/07(土) 18:00:32
>>265
GtkBuilderですね。ググっていろいろ見ているうちにわかってきました。
ありがとうございました。
0268263
垢版 |
2009/11/08(日) 01:12:14
>>267
まだちょっと調べただけなんだけど...
例えば、

http://www.nslabs.jp/glade.rhtml

GtkBuilderってのは、Glade 3の吐いたXMLファイル(.glade)をリソースファイルとして
読込んで、GUIを構築して例えばボタンを押したときにGlade側で定義したイベントハンドラ
を呼び出してくれるような機能をもったライブラリということのようです。

コード自体は結局手で書かないといけないので、Qt Creatorとか、wxDev-C++のような
IDE/RADを使うのより手間が掛かるっつーことになります。

って解釈で合ってます?> GTK+使いの人

せっかくXML載りソースファイルがあるんだから、そこからCなりC/++なりのソースコードの
スケルトンを生成してくれるツールがあっても良さそうだと思うんですが...無いのかな?

C++の場合、仮想関数を利用して、最小は基底クラスのソース(イベントハンドラがvirtual)と、
継承クラスのソースの両方を吐いてくれたりすると便利そう。
以後、GUIを変更した時は基底クラスの方だけ上書きされるようになってれば、継承クラスの方
に自分で書いたコードを壊さずに、変更部分だけ基底クラスの方からコピペすることができます。
...ってこれ、wxFormBuilderのパクリですが。
0269デフォルトの名無しさん
垢版 |
2009/11/08(日) 01:30:51
>>268
.gladeはGlade独自のUI定義ファイルで、LibGladeってライブラリで使うもの。
GtkBuilderはGtk側でglade相当の仕組みを提供したってところだね。で、Glade3はそのGtkBuilderのためのUI定義を吐ける。
その昔GladeはCソースを生成する機能があったそうだが、バグが多かったりUI定義のXMLを吐くよりメリットが少ないということで削除されたそうだ。
Linux板のGtkスレをみるとruby-glade-create-templateってツールに触れられてるから、テンプレート生成ツールとかないわけではないんじゃないか?
0271268
垢版 |
2009/11/08(日) 15:17:02
>>269
> Linux板のGtkスレをみるとruby-glade-create-templateってツールに触れられてるから、

それってrubyでC/C++のテンプレートを生成してくれるスクリプトなのかと思ったら、ruby/GTK用だったw
0274デフォルトの名無しさん
垢版 |
2010/05/25(火) 17:14:19
>>183
やられた…俺も消されたッス…>path

環境変数を全然バックアップしてなかった…
システムの復元をしてみたら、今度はXPのタスクバーが出ない状態に…
タスクマネージャからexplorer再起動してタスクバー出して、
eveを起動してpathのバックアップとって、
システムの復元を取りやめてから消されたpathを再設定して… (´д`)

皆も気をつけろ!と書き込もうとこのスレ開いたら既に報告が上がってて orz
くそう…先にその話を知ってれば…
Windows版のGtk、ちょーヤベエ。まるでprogram filesを全消去するどこかのエロゲーみたいだ
0275デフォルトの名無しさん
垢版 |
2010/05/25(火) 17:28:20
ついでに調べた範囲で書いとくけど、

gtk-2.8.20-win32-1.exe
↑インストール時に環境変数を弄らない設定でも、アンインストール時に問答無用でpathを全削除する

gtk-2.12.9-win32-2.exe
↑インストール時に環境変数を弄らない設定なら、アンインストール時にpathは消さない

どうも環境変数 GTK_BASEPATH が存在していて、path 中に、%GTK_BASEPATH%\bin が記述されてると、アンインストール時に path を全削除する予感。
インストーラに環境変数を弄らせないで、手作業でpathを追加したほうが安全かもしれない。

巷の Gtk+導入記事の中には、上記2つについて「安定していてオススメ!」と書いてる記事があるので、
俺のような初心者がそれを信じて導入すると、泣きを見る可能性が高い。

とにかくGtk+関連は導入前に環境変数のバックアップを必ず取ること下手すると削除されるぞ!
って言っといたほうがいいような気がしたので書いてみるテスト
0278デフォルトの名無しさん
垢版 |
2010/05/27(木) 10:28:10
環境変数に関わる問題は昔からあるね。

GTKを扱うアプリはいくつかあるけど(GIMP/Dia/ImageMagik/RubyGTK...etc)、
それぞれによってインストーラにGTKのランタイム(DLL)が付属していたり、
していなかったり、付属している場合にはバージョンは(当然の事ながら)統一されず、
インストーラがインストール/アンインストール処理で環境変数とレジストリを
変更する方法にも一貫性が無い。

Win32版のGTKアプリの配布について、どこかの組織で(gnome.org?)
取り纏めてくれれば解決するんだろうけど、まあ無理だろうね。
自分は問題解決を諦めた。
0280デフォルトの名無しさん
垢版 |
2010/06/06(日) 20:34:26
アンインストールで環境変数消される問題
自分もはまった

なんでこんなひどいことするの?
0282デフォルトの名無しさん
垢版 |
2010/08/30(月) 12:58:58
PATH環境変数問題、つい最近2台のマシンではまったので、調べてみた。

ttp://nsis.sourceforge.net/Talk:Path_Manipulation
の一番下
>String size limitation
>Please note that NSIS default build has a string limit of 1024 characters.
>If the PATH is bigger, this function will replace the whole PATH
>instead of just appending to it.
>Temporarily you can use the large strings build of NSIS to avoid this problem.
>--Shmektse 13:25, 20 June 2010 (UTC)

どうやらインストーラに使っているNSISの文字列のサイズ制限でやられるようだ。(GTKに限らずバグ回避策をとっていないNSISインストーラ利用アプリ全般に可能性はある)
0292デフォルトの名無しさん
垢版 |
2011/03/14(月) 16:50:27.90
話の流れからすると、↓の意味だろう
(C言語では)Qtが使えない以上、一番メジャーなのがGTK+
0296デフォルトの名無しさん
垢版 |
2011/03/14(月) 23:57:42.32
無問題、Windows的にはどちらも駄目だから、何故かと言うとWindowsという存在
そのものが元来クロスプラットフォームとは無縁だったからに過ぎない。

WindowsはなんでもかんでもWindows専用でいい。
0297デフォルトの名無しさん
垢版 |
2011/03/15(火) 08:51:31.24
Windowsで駄目という事はない。GIMPとかちゃんと動いているし。
見た目がネイティブアプリと違うのはどうしようもないけどね。(特にファイルダイアログ)
0299デフォルトの名無しさん
垢版 |
2011/03/15(火) 22:15:42.11
>>298
おまえは一体何を言っているんだ。
Windows7でGIMPを動かしてみたが、至って快適に使えてるぞ。
普通のユーザーだとGTK+で動いている事に気づかないレベルだ。
0301デフォルトの名無しさん
垢版 |
2011/03/16(水) 04:40:15.03
GIMPが快適…


  イ`ヘ
 /: :| ヽ
/ : :/  ヽ ___   _,,,:. .-: :´彡フ
_ノ\_∠: : : : : : : : :`: :-: :,:_:/彡 /
      ( : : : : : : : : : : : : : : `ゝ  /
  変  r::/: /: : | : : : : : : : : ::\ /
      //: /: : : |: : | |: : |: _: : : :ヽ
  態  {/ 7|`\/i: /|:|/|´: : : : :|ヽ
     〉 ,‐-‐、`|7 || |_::|,_|: : :|:::|: |
  だ / r:oヽ`    /.:oヽヽ: :|: | :|
     { {o:::::::}     {:::::0 }/: :|N
  〜  | ヾ:::ソ     ヾ:::ソ /|: : |
 !? ヽ::::ー-.. /ヽ ..ー-::: ヽ::| r--ッ
-tヽ/´|`::::::::::;/   `、 ::::::::::: /: i }  >
::∧: : :|: |J   \   /   /::i: | /_ゝ
. \ヾ: |::|` - ,, ___`-´_ ,, - ´|: : :|:::|
   ヽ: |::|\     ̄/ /|  |: : :|: |
0303デフォルトの名無しさん
垢版 |
2011/04/12(火) 22:11:05.82
Mac OSXで日本語入力できるようになった?
0304デフォルトの名無しさん
垢版 |
2011/04/17(日) 23:33:45.00
このスレがこんなに消費されてることに驚いたわ
LinuxでもGUIアプリを動かしたいって需要そんなにあるもんなんかね
レスを投稿する


ニューススポーツなんでも実況