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
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アプリを動かしたいって需要そんなにあるもんなんかね
0311デフォルトの名無しさん
垢版 |
2011/05/19(木) 00:49:25.27
>>310
gimpインスコしたけど自分で作ったやつ(ウィンドウ表示するだけのプログラム)起動できないんだけど
0313デフォルトの名無しさん
垢版 |
2011/08/05(金) 01:38:25.68
GTK+3系のwin32用バイナリってどこかにある?
そもそも、win32版のGTK+3を1からビルドしてちゃんと動いている人いる?
0315デフォルトの名無しさん
垢版 |
2011/08/13(土) 06:38:49.41
GTK+が糞という事は全く無い。少なくともLinux上ではかなり良く出来てる。
問題はWindows対応が後手後手になっている事だな。
0321デフォルトの名無しさん
垢版 |
2012/06/06(水) 17:54:32.12
public class UserWindow :Gtk.Window{

}

こういう感じの事がしたいのですが引数つけろ!と文句を言われます。
どのようにしたら文句を言われなくなりますか?
0324デフォルトの名無しさん
垢版 |
2012/06/10(日) 09:36:08.24
GTKは糞
0330デフォルトの名無しさん
垢版 |
2012/10/08(月) 22:54:10.20
0331デフォルトの名無しさん
垢版 |
2012/10/13(土) 04:03:02.50
qtって死んだのか?
photoshopなりchromeなり、メジャーなツール全般で使われてるから、
gtkより遥かに使われている印象だけれど。
もっとも、個人的にはプレーンなc++で書けるgtkmmが好き。
0333デフォルトの名無しさん
垢版 |
2012/10/15(月) 08:13:13.22
Qtがいいの?
0335デフォルトの名無しさん
垢版 |
2012/10/24(水) 21:26:53.26
gccとGTKを弄りはじめた。DELPHIが天国に思えたw
0337デフォルトの名無しさん
垢版 |
2012/10/24(水) 23:58:35.69
QtもDELPHIのGUI環境から見れば、やってられねー
0339デフォルトの名無しさん
垢版 |
2012/10/25(木) 00:32:23.81
あ、言いたかったのはLazarusの方だった。まだやってたんだな。
1.0なんて最近出たのかw
0341デフォルトの名無しさん
垢版 |
2012/10/30(火) 10:22:46.26
FPCはなんか凄いことになってて、本家Delphiにもクロスコンパイラとして同梱されていたりする。
0342デフォルトの名無しさん
垢版 |
2012/10/30(火) 10:56:42.58
旧ボーランドの人も多少は関わっていたりするのかな?
ヘジルスバーグとか入っていたり?
0344デフォルトの名無しさん
垢版 |
2012/12/02(日) 01:19:28.77
gtkmmは何となく理解できた。
qtやwxWidgetsはマクロを多用するからか理解できなかった。
けれど、ライセンス的な部分から、もし使うならwxWidgets。
レスを投稿する