【C++】マイナーGUIツールキット (686)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
Lisp Scheme Part37 (268)
【C++】高速化手法【SSE】 (884)
C/C++の宿題片付けます 166代目 (138)
画像処理 その14 (120)
画像処理 その14 (120)
MSX-BASICの奥義を伝授するスレ (782)
【C++】マイナーGUIツールキット
1 :03/10/09 〜 最終レス :2013/10/02 とにかくdat落ち必死なこの話題をどうかひとつ。 関連スレ: 【GUIライブラリ】wxWindowsでのひょーん http://pc2.2ch.net/test/read.cgi/tech/1052186697/
2 : Fox http://www.fox-toolkit.org/ SOL++ http://home.att.ne.jp/green/atlan/index.html たけのこ http://www5.plala.or.jp/antun/bamboo/shoot/index.html
3 : GUI Toolkit Framework Page http://www.geocities.com/SiliconValley/Vista/7184/guitool.html
4 : OpenAmulet http://www.openip.org/ Fltk http://www.fltk.org/ V http://www.objectcentral.com/vgui/vgui.htm
5 : An embedded Linux application environment. Chosen by IBM and Sharp. http://www.trolltech.com/products/qtopia/ 組み込み用Qt
6 : 人が来なくたってsage保守し続けるからな! ネタがないときは俺がサンプルコード書きまくるからな!
7 : 【Qtopia関連】 SLライブラリドキュメント http://more.sbc.co.jp/sl_j/doc/reference.htm Qtopia (パームトップ環境) ttp://www.trolltech.com/developer/download/qtopia.html Qt/Embedded (GUIツールキット) ttp://www.trolltech.com/developer/download/qt-embedded.html Qt Reference Documentation ttp://doc.trolltech.com/2.3/ Qt リファレンス翻訳 ttp://www.kde.gr.jp/~ichi/qtdoc-ja.html 【開発環境整備】 ZaurusZone Howtos ttp://www.zauruszone.com/howtos/ Unofficial Zaurus FAQ ttp://www.newbreedsoftware.com/zaurus-faq/ Zaurus Development Version of DemoLinux bootable CDROM (人柱募集中) ttp://www.pellicosystems.com/devolinux/zdevolinux/
8 : 【開発プロジェクト】 Zaurus-ja (日本語環境整備) http://zaurus-ja.sourceforge.jp/ Zaurus Open Source Development http://sourceforge.net/projects/zaurus/ OpenZaurus http://openzaurus.sourceforge.net/ Open Palmtop Integrated Environment (Opie) ttp://opie.handhelds.org/ GPE: The GPE Palmtop Environment ttp://gpe.handhelds.org/ Debian Zaurus ttp://people.debian.org/~mdz/zaurus/ 【ソフトウェア】 IpkgFind (バイナリパッケージ検索) ttp://ipkgfind.handhelds.org/ Zaurus Software Index ttp://killefiz.de/zaurus/ Konqueror/Embedded (Webブラウザ) ttp://www.konqueror.org/embedded.html 布目 for Qtopia 1.0 (日本語手書き入力) ttp://www.sikigami.com/nunome-Qtopia-1.0/ 【その他】 Zaurus.LovesLinux.com (ニュース) ttp://zaurus.loveslinux.com/ Linux Links (リンク集) ttp://www.linuxlinks.com/PDA/Zaurus/
9 : 知らんのもいくつかあるな。 是非続けてくれ。
10 : NTK http://ntk.yi.org/
11 : GUI Toolkits for The X Window System http://freshmeat.net/articles/view/928 X Development Tools http://cbbrowne.com/info/xlibs.html WindowMaker の GUI widget セット WINGs http://members.ozemail.com.au/~crn/wm/wings.html C++ じゃなくてスマソ。WINGs 単体で使えないかな。
12 : 期待age Non-GUI の、フレームワーク系ライブラリって混ぜちゃダメ? MUSCLE: Multi User Server Client Linkage Environment http://www.lcscanada.com/muscle/
13 : 皆様情報サンクストン 非C++、Non-GUIもщ(・д・)щバッチコイ!!
14 : JLIB - A C++ porting of java.awt.* http://codeproject.com/library/jlib.asp
15 : winBe: The BeOS API on Win32 http://homepage.ntlworld.com/nathaniel.cross/
16 : >>1 そろそろネタ切れだろ そろそろ話題振ってくれよ
17 : >>16 まぁ基本的に>>1 は脇役だからな! コード例とか追加情報が欲しいライブラリをリクエストしてくれると助かるな! そしたら>>1 が勝手に色々知らべてくるからな! 更に>>16 が理想のGUIライブラリなんかについて 語ってくれたりすると嬉しいかもな!
18 : ちなみに>>1 はboostのようなモダン設計のGUIライブラリを 探しているのだが、中々見付からないんだよな!
19 : >>18 MLで話題にはなっているみたい。 詳しくは見てないので、どなたか結論教えて〜。 [boost] GUI/GDI template library http://lists.boost.org/MailArchives/boost/msg49854.php
20 : >>19 Boost infoにも載ってたな! http://user.ecc.u-tokyo.ac.jp/~s31552/wp/boost/memo/ その後E. Gladyshevはサンプルコードを書いて、 (http://lists.boost.org/MailArchives/boost/msg50043.php) さらにそいつを↓のプロジェクトに発展させた模様だ! Notus http://sourceforge.net/projects/notus/ >Modern GUI/GDI template library. >Notus is an attempt to build a portable GUI framework >using design concepts of modern C++ libraries such as STL and boost. policyは今のところWin32とwxWindowsが用意されてるみたいだな! まだまだ発展途上だが、wxのモダンなラッパーとしても期待できるかもな! こいつは要チェックや!サンプルコードはしばし待て!
21 : GUI ツールキットのイベントループの実装を説明している資料って無いでしょうか。 コールバックの登録とか、イベントの通知とか。 fltk と fox のソースを試しに眺めてみましたが、select とか poll してるなぁー って感じで、いまいちよく分からなかった。。。 唯一見つけたのがこれです。 ttp://www.asahi-net.or.jp/~cv8t-hdk/fox/fox-doc.ja/faq.ja.html#CALLBACKS
22 : >>21 と絡むのかな?絡まないのかな? GUIからのイベントを捕まえるのに、大きく分けて ・リスナインタフェース登録型 ・コールバック関数登録型 ・IDディスパッチ型 ・派生してオーバーライド型 があると思う。 C++的には、どれが適しているんだろう? GCがないからハンドラの寿命を管理する必要があるんだが、 循環参照が生じやすいため、参照カウント法との相性が悪いのが気になっている。 イベントの送受信構成が動的に変わらないんだったら、 それほど問題にはならないかもしれないけど。
23 : >>22 ATL/WTL の「インタフェイス登録式+デフォルト実装提供式」は「使う側」にとっては 結構便利ですよ。なぜテンプレートベースかというと、標準実装においてインタフェイスに 出さない内部的な処理( 以下の例だと IUIAdonerImplWindowless::CreateFont ) を仮想関数 無しで置き換えられるのと、標準実装においては定義していないメンバ変数、メンバ関数も 利用して実装が書けるから( 同 IUIAdonerImplWindoid::GetWindow )。 以下は単純化した例。 class IUIAdoner { public: virtual font get_textFont(void) = 0; }; template class<T> class IUIAdonerImplWindowless { protected: font m_font; void CreateFont(font& f) { f = SysCreateFont(); }; public: IUIAdonerImpl() { T::CreateFont(m_font); } virtual font get_textFont(void) { return m_font; } }; template class<T> class IUIAdonerImplWindoid { public: IUIAdonerImplWindoid() {} virtual font get_textFont(void) { return SysGetWindowFont(T::GetWindow()); } };
24 : >>23 テンプレートうんぬんの部分は、 abstruct class と本質的に変わらないんじゃ? class IUIAdonerImplWindowless : public IUIAdoner { protected: virtual void CreateFont(font& f) { f = SysCreateFont(); } ... }; 効率性とか、コンストラクタで呼べるとかは抜きにして。 ATL/WTLの自己言及的テンプレートって、結局はvtableケチってるだけでしょ?
25 : >>24 vtbl だけじゃなくて abstruct class の個数が増えるのも嫌ってるんじゃない? IUIAdonerImplWindoid の方を abstruct class でやろうとすると、IWindow なんてのを使って、 T::GetWindow() のところで (dynamic_cast<IWindow*>(this))->GetWindow() とすることになる。 効率性とか記述性とか抜きにして本質を比べたら、UIイベントを特定のスレッドにシリアライズ するかしないか、くらいしか手法の違いって無くなっちゃうような。。。
26 : >>25 確かに記述性はいいね。 継承リストに、付け加えるだけで、オーバーライドの効果があるわけだし。 ただ、WTLの方法って、やっぱり最上位のラッパーなんだよな。 WTLの場合はWindowsコモンコントロールにあたる、 きちんとした下層ライブラリがあってこそ生きてくる。
27 : Chain of Responsibility. ttp://homepage.mac.com/mkino2/oop/chainOfResp/index.html ttp://www.kmonos.net/wlog/sub/cpp_cor.php
28 : >>21 私も探してみましたが、やはりまとまった資料は見当たらないですね… 各種ツールキットの実装に関する資料を一つ一つ巡るしかないかもです。
29 : FLTK っていつの間に UTF-8 サポートしたの? http://www.fltk.org/poll.php?r16
30 : サポートしてないから投票してるんじゃ?
31 : なる。excite about って言うくらいだからもう実装したのかと思ったよ。 今しばらく Xlib 直叩きが続きそう・・・。
32 : ていうかUnicodeサポートしてるGUIツールキットって何があるの?けっこうあるの?
33 : 有名どころでは Gtk+, Qt, Tcl/Tk がそう。FOX は次のメジャーアップデートでサポート 予定。FLTK も 2.0 からは UTF-8 にしたい
34 : ありゃ、途中で送信しちゃった。 FLTK も 2.0 からは UTF-8 にしたいという話は何度も出ている。アンオフィシャルで UTF-8 パッチもあるよ。
35 : wxWindows もだべ。
36 : Unicode サポートは要らないからマルチバイトサポートくらいはして欲しい。 下層ライブラリでせっかく用意されているのに、、、
37 : GUI部品図鑑 ttp://white.sakura.ne.jp/~rryu/gui-book/ 他にもGUI部品の解説サイトってありませんか?
38 : http://white.sakura.ne.jp/~rryu/gui-book/
39 : いいのないかねえ
40 : Windows ルックアンドフィールで、モダンなGUITKがあると、助かるが、 いろいろやろうと思ったときは、結局ATL/WTLに行き着いたりして。
41 : >>40 細かいことをやろうとすると、やっぱり生のWin32を使いたくなることも多いよな。 LinuxでQt/GTKなんかでGUIプログラミングしているひとは、生のXlibを叩きたくなることはあるんだろうか?
42 : >>41 Athena/Motifでは日常茶飯事だけど Qt/GTK+ではプロトコル拡張とかしない限りほぼない
43 : widestudioってどうですか?
44 : widestudioが一番簡単かも。VBやDelphiより簡単。 MLのメンバーにも初心者が多い。 ただしもっさりしていて、 メインウインドウの出ないソフトは起動できない。
45 : widestudioか。 個人的にちょっとした道具を作りたいという人には便利かもしれないが、 そのプログラムを不特定多数に使ってもらう、という段階で無理が生じる気がする。 結局、ランタイムが・・・。
46 : Windowsネイティヴで、 フリーで、 肥大してないコンパクトな大きさで、 いざとなればWin32API叩きもできて、 Windowsのユニコード版APIに対応してる やつってないかなあ。
47 : >>46 > いざとなればWin32API叩きもできて、 が、ウィンドウ関連のAPIだったら、 それこそ MFC/WTL くらいになってしまうと思うが…。 マルチプラットホームのツールキットって、ネイティブハンドルを公開しないものが多いし。
48 : というか、Win32APIはXのToolkitレベルの処理も含むんだよな。
49 : >>46 Windowsの直API叩きたいならWideStudio。 SetWindowLong/GetWindowLongでthisを渡してるシンプルな実装。 独自のウインドウ出しててもWINMAINマクロいじって メッセージポンプカスタマイズしてれば大丈夫。
50 : WideStudioおとしてみたけどUIがWinネイティヴじゃない感ありありなので萎え。 WTLのフリー版みたいなのがあればいいのになあ
51 : >>50 nmでシンボルを抽出すると、 「WinMain」は「プロジェクト名.o」の中にある。 ソースファイル名「プロジェクト名.cpp」の先頭の辺りに WinMainを実行するマクロがある。 #ifdef MSW WS_WINMAIN #endif このマクロの中身は、WIN32APIの入門書のサンプルにある メッセージポンプそのもの。イベントが起きたらGetWindowsLong でthisをとって、メッセージパッシング。 ネイティブ感ありあり。
52 : よくわかんない
53 : >>50 WTLってフリーじゃん? …と思ったけど、ATLがVC++にしか付いてこないのか。 それこそ >>49 の方法で簡易版CWindowImplつくって、その上でWTL使うとか。
54 : SWT なら、頑張れば C++に移植できそうな気がする。 SWTのソースを見るとネイティブのAPI叩きまくっているし。
55 : >>54 gcjでコンパイルしたSWTはg++(のC++)から操作できるよ。 Managed C++みたいな感じって言えばいいかな。
56 : >>33 Unicodeに対応してもIMEやXIMに対応しなきゃあんまり意味がない。。。
57 : >>56 対応してるよ。
58 : >>55 ほえー。興味有り。情報 Thanks。
59 : >>58 gcjについては、 Cygwinでの/usr/include/java以下を見てみるといいよ きっと萌えるから(w これはCNIっていうJNIの独自版みたいなやつで JavaをC++に自動でマップしてるヘッダ CNIとかgcjでのSWTとか詳しいことは以下を見てちょ ttp://page.freett.com/gikob/gcj/
60 : http://page.freett.com/gikob/gcj/
61 : SwingみたいなライトウエイトなGUIツールキットってないのかな。 まぁ需要なさげといえばそれまでなんだが。
62 : >>61 Fltk?
63 : >>61 Qt FOX
64 : あるのかtnx 今から調べてみるよ
65 : 全然ライトウエイトじゃなかったぞゴルァ
66 : FLTK = The Fast Light Toolkit
67 : いや、要するにSkinでLook&FeelをかえられるGUIツールキットがほしかったわけなんだが・・・
68 : >>67 http://themes.freshmeat.net/
69 : うーんさらにクロスプラットフォームという条件がつくんだが・・・ないかな
70 : ライトウエイトって、ネイティブGUIを使ってないという意味で、 動作が軽いっていう意味ではなかったはず。
71 : >>70 スタティックリンクしてもファイルサイズが小さい事が売りじゃなかった? 実際速いし。 スキンは次のバージョンかららしい。
72 : ttp://www.fltk.org/news.php?V230 > The FLTK Team has begun the next phase in the evolution of FLTK. > The 1.2 series will focus on adding UTF-8, print, basic style support, > custom cursor support, true alpha-blending of images, Quartz support > on OSX, and updating the menu widgets to the FLTK 2.0 implementation. > The new series will also include new widgets such as Fl_Combobox, > Fl_Dock, Fl_Image_Browser, Fl_Image_Display, Fl_Spinbox, Fl_Table, > Fl_Toolbar_Window, and Fl_View. XIM サポートしてくれたら嬉しいな。
73 : FLTKのXIMパッチってまだ入手できるの?
74 : http://www.fltk.org/news.php?V230
75 : Dat落ち回避age
76 : notusいいよね ttp://sourceforge.net/projects/notus
77 : >>76 たしかに notus のアプローチも面白いんだけど、 GUIの細かい構成は外部設定ファイルに追い出して、動的に構成するのが流行りっぽくね?
78 : >>77 たとえばツールで見た目つくって 実行時にライブラリ側で画面構築してもらうみたいな? それもお手軽でいいよね。 そういうアプローチのツールキットってなにかある?
79 : GTKをはじめとしていろいろあるだろ。
80 : gtkってgnome界隈で使う分にはいいけど 他のplatformに持っていくと浮いちゃうよね なんだかなー
81 : Windows 用のツールキットなら、CodeProject 。 jlib が最近のお気に入り。
82 : codeprojectって中途半端じゃね? 漢ならstringray
83 : さいきん話題ないな
84 : >>79 GTKみたいに大掛かりなものじゃなくて、 レイアウトファイルから情報を読み込んで、 あとはプログラム側で好きなようにウィジェットを作成していくようなものはありますか? XML とか YAML を使えばいいとは思うんだけど、 GUI を記述する標準スキーマみたいなものがあれば、それを使いたいのです。
85 : >GUI を記述する標準スキーマ そんなもん無い。 あえて上げるとすればhtml
86 : いちおう、XULがあるのか? Mozillaも漏れなく付いて来てしまうが。
87 : GLUIはまだでてないかな。 私のまわりではちらほら見ます。
88 : http://sourceforge.net/projects/notus
89 : WTL ・・・ ステキ!!
90 : Motif/UILだろやっぱ
91 : An introduction to using Fluid 8.5Megs 16 Minutes Running Time http://seriss.com/people/erco/fltk-videos/
92 : >>73 ↓のことを言ってるのか? http://sourceforge.net/project/showfiles.php?group_id=36627 放置プレイになってる。
93 : http://www.nigels.com/glt/glui/
94 : GUIツールキットはLGPLのやつばっかりだな。BSD系ってTkくらいか。
95 : >>94 Visual Basicでも使えたらよかったのにね
96 : >>73 >>92 http://www.oksid.ch/fltk-utf/ ここのfltk-utf8ならXIM使えるっぽいけど
97 : VBって特定のライセンスのライブラリ使えないの??
98 : >>94 LGPL だけど、スタティックリンクに関して例外を設けている事が多いね。
99 : >>53 遅レスだけどATLはC++BuilderXのフリー版にもついてくる。
100 : fltk2.0リリースまで何をする気にもなれない んで100get
101 : fltk はイベント処理まわりがキモすぎる。
102 : ttp://www.turn.co.za/david/gui/
103 : Linux Windows Macのクロスプラットフォームなアプリを作りたいんだけど、 おすすめツールキットある? 当初はQtで考えてたんだがいつのまにか Windows版のライセンスがややこしくなってて有料らしいので、ほかを探し てます。とりあえず、wxWindows(wxWidgets)は上の3つに対応しているらしい ことがわかったけど、ほかの選択肢はどんなもんでしょう。経験者いたら 経験談キボンヌ。
104 : >>103 Fox tool kit これが一番洗練されていてクロスプラットフォームだ。 でなければ、Swingでも使うんだな。
105 : >>104 サイトを見る限りではMacOSに対応してないようなんですが。 FreeBSDに対応しているのでX上では動かせるのでしょうか?
106 : >>103 私見ですけども Mac向けのものはwxを含めとにかくMacOSXでの日本語の扱いが ダメダメつうか壊滅状態ですので、現状素直にCocoa/Carbonで 書き起こすのが最適かと思われます Macを外せばwx,fltk,XPToolkit等等 一長一短な奴等で十分いけますが、 なかなかアクが強いのでおきおつけくだされ ぶっちゃけネイティブものを各プラットフォームごとに書いたほうが 楽じゃねーかと思う昨今です
107 : >>106 >ぶっちゃけネイティブものを各プラットフォームごとに書いたほうが >楽じゃねーかと思 わない昨今です。 Windows|Linuxでやってたけど挫折しました。 今はwxWidgetsでそこそこ幸せに暮らしております。
108 : >>106 じつはMacは持ってないもんで、ユーザにソース渡してコンパイルして もらおうかと。Cocoaの開発はさすがにMacないとつらいっすよね・・。 まあツールキット使っててもどっちみち厳しいかもしれませんが。 やっぱそれぞれ癖ありますよね。とりあえずwxでやってみます。でも Qtがわりとよさげなんで最悪ライセンス購入するのもありかと思って きました。
109 : Tkは?
110 : >>108 >Qtがわりとよさげなんで最悪ライセンス購入するのもありかと思って >きました。 あー漏れもそろそろ買うつもりでいます 一般的なアプリケーションを書くのならQtはかなり良い選択肢ですよね
111 : >>108 以前触った感じでは、wx と Qt 以外は Mac では日本語の扱いは厳しいよ。 fltk とかは Mac Roman を前提にしているし。日本語の表示だけなら、wx, Qt, fltk, Tcl/Tk は出来ます。入力もオケなのは wx と Qt だけ。ただし ちょと不安定だよ。X11 前提で Gtk+ とか使うのが良いかも。Cocoa は ObjC のライブラリだから、クロスプラットフォームは難しいと思う。 >>109 Tk も安定してなかった。もう少しな感じはしたけどね。 XUL とか SWT とかはどうかな。
112 : Qtって買わないといけないものなの?
113 : >>112 買わなきゃRないのは Win 版か商用開発したい場合のみ。
114 : まぁ今はこんなのもあるわけだが。 ttp://kde-cygwin.sourceforge.net/qt3-win32/index.php
115 : >>114 なにこれすげー。 早く言ってくれよー、頼むよー。 早速使ってみまつ。
116 : >>114 使ってる?>Qt3-Win32 Cygwin/X11バックエンドのQt3はKDEが(使い物にはならないスピードで)動くところまできてるけど Win32バックエンドのほうは開発も停滞してるし、まだ実用にはならないように見えるんだけど。 MLのログをあさってみても3.1ベースが9割がたくらい動いてるけど、みたいに書かれてるし。 使ってるんなら感想プリーズ。
117 : >>113 いまトロールテックのサイトで見てきたけど、ライセンス結構高いんだね。 GPLで公開するアプリなら、Winライセンスだけ買えばいいのかな。
118 : 結局wxWindowsが一番か。ソースも公開しなくていいしな。 Tcl/Tkも好きなんだがな。
119 : wxWindowsで作られた実用アプリって聞いたことないけどね。 Eclipse以外のSWTで作られた実用アプリもそうだが。
120 : wxWindowsとSWTって言語は違うけど発想は似てるね。
121 : 最終的には、Swingか、AWTで書くしかないだろう。 最近のJVMは割とまともになってきたから、Javaアプリを作るのも 一つの手ではある。
122 : >>119 Audacity http://audacity.sourceforge.net/about.php?lang=ja
123 : >>121 スレタイ嫁よ。これだからJava厨はいやだな。
124 : AdobeのソフトやOpera等はどうやってクロスプラットフォームで 作っているのだろう…と言ってみる。
125 : >>123 >13
126 : >>116 正直使ってはいない。スマソ。でもなんか昔いじってみたら 「おー一応動くじゃねーか日本語入力出来ねーみてーだけど」 ぐらいの感想を持った…と記憶してるんだけど… もちろん X11 無しで。 # もしかしたら qt2-win32 だったかもだけど…(^^A;
127 : >>124 Windows版のOperaは知らないけど少なくともUnix版はQtを使ってる。 Adobeはメインストリームの製品は自前のライブラリをもってそうだがQtも使ってるようだ。 ttp://www.trolltech.com/newsroom/announcements/00000120.html あと国内でAccessがブラウザのNetFrontでうまく階層化してQtでもgtk+でもWin32でも 使えるような仕掛けは用意してたはず。
128 : >>127 へー AdobeってPowerPlantじゃなかったんだ
129 : >>128 Mac用とWindows用はPowerPlant。 UNIX用はMotif。 Qtを使ったのは実験的なやつ。
130 : >>123 >>13
131 : 漢字talk7.5でも使えるクロスプラットフォームな ライブラリ無い?
132 : >>131 68k?
133 : EZWindows http://www.google.com/search?hl=en&ie=UTF-8&oe=UTF-8&q=EZWindows&btnG=Google+Search
134 : http://www.cs.virginia.edu/c++programdesign/software/
135 : FOX のコーディングスタイル キモー
136 : >>135 ホシュ乙
137 : SmartWin++ http://smartwin.sourceforge.net/ http://smartwin.sourceforge.net/codesamples.html
138 : >>137 煽りだけ読んでると、gtkmm がゴミに見えてくるな。
139 : notusなにげにバージョンあがってるな
140 : >>139 Notusのアイコンがタケコプター帽子になってて微笑した http://notus.sourceforge.net/index.html
141 : FOX バージョンアップしたね。
142 : May 18, 2004 - FOX STABLE 1.2.1 May 16, 2004 - FOX STABLE 1.2.0
143 : 「FOX ★」もさっさとバージョンアップしろよ、ぽんこつめ。
144 : UTF-8は使えるの?
145 : Cで使えてクロスプラットフォームな おすすめのライブラリってどれ?
146 : うーんと、スレタイ読め。
147 : >>146 >>13
148 : >>145 glibc
149 : Swing-likeなGUIツールキット無いかな?言語はC++で。
150 : >>148 glibcってGUIなの?
151 : GNUです。
152 : 保守
153 : FOXモリモリバージョンアップしてるね。
154 : FLTK CVS Head で日本人の作った UTF-8 パッチがマージされているみたいなんだけど、 試した人いませんか? うちでは日本語表示は出来たんだけど、入力がダメっぽい。。。
155 : >>154 すみません。パッチ全部は取り込まれませんでした。 XFontSet を使ったパッチなんですが、オフィシャルでは やりたくないようなので別のパッチを作成している所です。
156 : これはどうなの? FLTK UTF-8 http://www.oksid.ch/fltk-utf/
157 : >>156 こちらにも、IME や XIM のパッチを送りましたが、実際に マージはまだしてもらってません。 (マージは予定しておくという返事はもらいましたが...) こちらは 1.x 系なので、今回 cvs2.0 用のパッチを作成 した次第です。
158 : age
159 : 質問です。 ショボクテモ良いので、最も新たな環境に移植しやすいウィンドウシステムは何ですか? 新たな環境とは、T-EngineとかITRON(何も規定されてないですが)を想定しています。
160 : そもそもTRONのGUIってどんなのかさっぱり想像もできん。 マウスとキーボードは使えるのか?
161 : >>155 2ch ねらの方でしたか。乙! FLTK で日本語使えたら最高だなと思いつつ、今まで傍観していたのでとてもありがたいです。
162 : ITRONならMicrowindowsがねらい目かな?
163 : OSIの通信スタックみたいに、 ウィンドウシステムのレイヤーを分類したものありまつか?
164 : >>163 そんなんシステムによって違うし、普通はマニュアルに書いてある。
165 :
166 : ↓これってなんかよさげなんだが、まだこのスレで語られてない? VCF http://vcf.sourceforge.net/ ネーミングがVCLのパチモンっぽいが、Qt/Gtk+/wxWidgetのどれよりも ゆるやかなBSDライセンスってところが惹かれる。
167 : wxWidget のライセンスは十分にゆるいと思うけどな〜
168 : s がなかたよ
169 : >>166 かなりよさげでワクワクしたがLinuxで動かないようだ。
170 : Linux上ではGTK+1.x or GTK+2.xを使って、 Windows上ではWIN32API使うツールキットって wxWidgets以外に何かある?
171 : 目玉焼きには…醤油だろ。
172 : >>170 確か、V もそうできたような。
173 : 保守
174 : なんかこう、Windows で使えて IME にも対応してて exception-safe なライブラリは無いものですか?
175 : >>171 キッコーマソ?
176 : ホッシュ
177 : >>174 そこで.NETですよ
178 : >>177 ポレの中ではgtk+と同じくらい配布が面倒という扱いだけども、実際のところはどうよ?
179 : GUIのコンボボックスとかスライダーとかを独自のデザインでつくっている アプリケーションがあるけど、あれってどうやるの?
180 : MSDNよめばー?
181 : ActiveXコントロールぐらいしかおもいつかにいんですが...
182 : オーナードローで作れる範囲ならそうしてるだろうし、 そうじゃないなら自前で一から描画させてるんだろ。
183 :
184 : 結構無茶な条件なんだが… ・Rubyから使える ・Windows、X Window、MacOSXの各ネイティブ環境で動く ・日本語が使用できる の条件に当てはまるGUIツールキットがあったら教えてください wxRubyはMacOSXで日本語が通らないし(&メニューが使えない?)…orz widestudioはMacOSXでX11入れろとか書いてあるし…orz
185 : qqqqqqqqqqqqqqqqqっっっっっっっっっっっっっっっっっt
186 : Macなんて窓から投げ捨てろ
187 : >>184 「MacOSXのネイティブはCocoaである」という定義であれば絶望的。
188 : http://swtfox.sourceforge.net/ 保守上げ こんなのあった。
189 : GUIツールキットをつくりたいんだけど、いい書籍とかWEBページとかしらない? 洋書でもいいんだけど。
190 : プラットフォームは?目的としては学習用途?
191 : プラットフォームはWindowsとLinuxで。 目的は学習用途で。
192 : >>189 「デザインパターン プログラミング」(改訂版) W.プリー 著 佐藤啓太、金澤典子 訳
193 : FOXいつの間にかxft対応になってんだ。Unicodeも本家で対応になってるけど IM周りはどうなってるんだろう。。。教えてエロい人
194 : >>193 使ってみたので報告... win32 版は IME 起動すると、その後の動作がめちゃめちゃになって IME 切っても入力出来なくなったりする。 linux 版は XIM 起動すると Root タイプの入力エリアが表示されるが、何を入力しても受け付けない。 また、どちらにも言えるが、utf サポートしてそうなファイルはあるが、多バイト処理は出来てないみたい。 付属のエディタで確認したので、そのエディタの問題かもしれないが...
195 : それは多分ADIEがFXWStringを使ってないからだと思う。 使ったからまともかと言えばそうでもないんだろうけど
196 : fltk cvs head 試して見たけど、( ・∀・)イイ!ねぇ IMもフォントも出来てるじゃん あとは軽さを追い求めてくれれば...
197 : ttp://engrm.com/svn/boost/trunk/gui/
198 : これ、どうやって取得するの?
199 : subversionクライアント落としてcheckout
200 : fltk2をvc6でコンパイルしてみたけど、hello以外全部一瞬ウィンドウが出てクラッシュする。 checkersは右クリックすると落ちる……
201 : >>200 mingw だとそこまで酷くなかったよ
202 : >>201 WinME/mingwでそのままmakeしてもtest/以下の実行ファイルの状況は全く同じだったです。 本家フォーラムに同様の状況はないようだし、何かポカしてるのかなぁ。
203 : 疑うべきはフォント周りだと思うな。
204 : フォント!! なんでhelloだけうごくんだーと思って試してたら./hello stringで落ちた。 んでbox->labelfont(HELVETICA);とフォント指定したら落ちなくなった。 デフォルトのフォントがおかしいのかな?テーマ指定で回避できるのかな? 取りあえずSCREEN_FONT指定で日本語の表示/入力もちゃんとできますな。 LinuxでもVJEなんちゃらという帯が常時表示されて妙だけど表示入力共にできますな。
205 : >>204 英語でバグ報告しといてね♥
206 : >>204 詳細を教えて頂けませんでしょうか? # 私が入れてしまったバグかもしれませんので...orz
207 : パッチ作って下さっている方ですか!ご苦労様であります。 環境はwindows98(not SE)/me コンパイラはvc6(sp5)/mingw(g++3.4.2) の四通りです。 src/win32/fltk_theme.cxxの220、232、248行の font = fltk::font(name,/*name=="MS UI Gothic"*/, //以下略... がNULL返してスタイルのtextfont_,labelfont_全てがNULLになり、 それが原因でSEGVってるような気がします。 全てのウィジェットにlabelfont(),textfont()でフォント指定するか、 この3箇所を適当にfont = fltk::SCREEN_FONT;とかいい加減なことをすると、 今までクラッシュしていたのが全部すんなり動きました。 うちでEnumFontFamiliesExAが返すフォント名は System, FixedSys, MS Serif, MS Sans Serif, Courier, Small Fonts, News Gothic MT, Lucida Handwriting Lucida Sans, Lucida Sans Unicode, Book Antiqua, Century Gothic, OCR A Extended, Calisto MT, Abadi MT Condensed Light Copperplate Gothic Bold, Copperplate Gothic Light, Matisse ITC, Tempus Sans ITC, Westminster, Arial, Courier New Lucida Console, Tahoma, Times New Roman, Arial Black, Comic Sans MS, Impact, Verdana, Arial Narrow Georgia, Lucida Blackletter, Lucida Bright でMS UI Gothicないですね Win32APIとか自分は詳しくないので……というかうちのシステムが悪いだけだったりしたら(…そんな予感が)ごめんなさい。
208 : #include <fltk/Window.h> #include <fltk/Widget.h> #include <fltk/run.h> using namespace fltk; int main(int argc, char **argv) { Window *window = new Window(300, 180); window->begin(); Widget *box; box = new Widget(20, 40, 260, 100, "Hello, World!"); //box->labelfont(HELVETICA); window->end(); window->show(); return run(); } Program received signal SIGSEGV, Segmentation fault. 0x00411298 in fltk::setfont(fltk::Font*, float) (font=0x0, psize=12) at win32/Font.cxx:229 229 for (f = ((IFont*)font)->first; f; f = f->next)
209 : ちょっと触ってみたがfltkいいな。
210 : http://seriss.com/people/erco/fltk-videos/ ビデオチュートリアルってのがあるようだ。
211 : (・3・) エェー ぼくパッチの書き方わからないYO fltk\src\win32\list_fonts.cxx 152 - if (lplf->lfCharSet != ANSI_CHARSET) return 1; + //if (lplf->lfCharSet != ANSI_CHARSET) return 1; 172 - memset(&lf, 0, sizeof(lf)); + memset(&lf, 0, sizeof(lf)); lf.lfCharSet = DEFAULT_CHARSET;
212 : うむ。ok
213 : でもそれでいいのかね?
214 : FLTK2のテーマサポートってまだ未完成?
215 : >>214 未完成です。現状は ~/.kderc を見てエミュレートしている状態です。
216 : (・3・) エェー このページを参考にして訂正しますYO SHIFTJIS_CHARSETだけがリストされるようになりましたYO http://blogs.sqlpassj.org/akiraonishi/articles/4258.aspx fltk\src\win32\list_fonts.cxx 152 - if (lplf->lfCharSet != ANSI_CHARSET) return 1; + //if (lplf->lfCharSet != ANSI_CHARSET) return 1; 172 - memset(&lf, 0, sizeof(lf)); + memset(&lf, 0, sizeof(lf));lf.lfCharSet = GetTextCharset(dc);
217 : >>216 パッチの作り方 ttp://www.kde.gr.jp/patch/patch.php
218 : fltkとかfoxとか、この手のツールキットがwxより優れている点ってなに? ないでしょ?
219 : 痛い質問者だなあ。
220 : ないんですね? やっぱり
221 : では逆にwxがこれらより優れているところをトクトクと語ってくれたまえ。
222 : fltk2ざっと見た感じシンプルで良いなと思ったけどレイアウトマネージャはないのかな? 全部決め打ち?
223 : Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> C++ wxWidgets>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>fltk>>>>>>>>>>>>>>>FOX>>>>>>>>>>>>>
224 : 糞ツールキット糞すぎだっせーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
225 : もうこのスレお気に入りから削除しますねー
226 : マイナーGUIツールキットに関するスレなのに一度も言及されていない IBM Open Class Libraryのマイナーっぷりには頭が下がる。
227 : ウィジェットの独自描画て評判悪いのか?
228 : >>227 軽量コンポーネントの話?
229 : Qt: - most polished GUI of the bunch, great documentation, great portability, looks great. - typesafe callbacks - smallest learning curve - very easy to use. - downside: price, MOC preprocessor, very long compiles. - recommendation: if you have the money - go buy it. FLTK: - perhaps the fastest and has the smallest memory footprint of the bunch. - small size comes with a price - the look and feel is noticably "off" and often you get non-standard widget behavior. - void* based event callbacks - fastest compiles FOX: - programs look quite professional - non typesafe events void* pointers that are a royal pain in the butt to use, and are very poorly documented. - lack of virtual functions for most GUI classes - must use table dispatch for each new class to override behavior. - only supports UNIX (X11) and Windows - only has Windows 2000 look on any platform, but looks quite good nonetheless with minimal flicker - small user base - no CVS access - maintained by one individual WxWindows: - supports the most platforms, has native look. - large community of support - many interpreted language bindings - different behavior on different platforms - widgets flicker like crazy - not very stable in my experience
230 : 組み込みにすぐ移植できそうなGUIライブラリってありますか? 文字表示関数や、ラインやボックスフィル関数とかを与えてやるとすぐ使えそうなやつ。
231 : >>230 Linux上だったら、Microwindows改めNano-XとFLNXの組み合わせが、わりとすんなり動いたよ。 この辺参照↓ http://www.nano-x.org/
232 : fltkのフォーラム見にくいな。
233 : FLTK2cvsをNetBSDでもmakeできるようにしてほしい・・・。
234 : すいません、MAKE = gmake と指定したらできました。
235 : FLTK2 IMEオンのままだと終了しない。どうすれば…?
236 : FLNX のソースってどこにあるかどなたかご存知無い?
237 : Qtはマイナーじゃないな。 マイナー扱いしてるのはただのトンチンカンだ。
238 : 静的リンクしたいんだけど一番サイズが小さいのどれ?
239 : >>236 PIXILのサイトからは辿れなくなってるね。 Nano-Xのサイトからドゾー ttp://www.nano-x.org/ →Downloads:Source Code →flnx 直リン: ftp://microwindows.censoft.com/pub/microwindows/flnx/
240 : >>239 ありがd
241 : ビルド報告 microwindows-0.90 flnx-0.18 CentOS 3.4 gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-49) にて、 Fl_Animator.cxx:32: default argument given for parameter 8 of ` Fl_Animator::Fl_Animator(char* const*, int, int, int, int, int, int, const char* = 0)' ../FL/Fl_Animator.H:49: after previous specification in ` Fl_Animator::Fl_Animator(char* const*, int, int, int, int, int, int, const char* = 0)' というエラーがでました。 定義部 Fl_Animator.cxx Fl_Animator::Fl_Animator() の最後の引数部分を const char* = 0 から const char* に変更することでコンパイルは通りました。以上報告まで。
242 : ビデオチュートリアルつうのは良いな。
243 : しばらく前から FLTK のサイトデザインが変わったね。 snapshot が ftp でダウンロード出来る様になったのは嬉しいな。
244 : >>237 Qtはマイナー扱いされてないよ。Qtopiaがマイナー扱いされてるだけ。
245 : 399 :デフォルトの名無しさん :2005/04/04(月) 13:51:27 StyleというSWTのC++移植が出てる。 果たしてwxWidgetsのライバルに成長するのかどうか。 http://www.uiwithstyle.org/
246 : >>245 Win32 版がないじゃん。
247 : >>246 "Style currently targets OSX, Win32 and GTK."と書かれているから、 出す予定はあるんでしょ。今のところOSX版しか出てないけど。
248 : >>247 >今のところOSX版しか出てないけど。 つまりWin32版がないってことじゃん。
249 : OSX版しかなかったら、プログラマーの99%以上が使わないってことじゃないか。
250 : まだ出たばかりだからそんなもんじゃね?
251 : >>186 むしろRubyを。
252 : Ruby厨最近おとなしくなったなw ていうかアレは一人だったのだろうなぁ。
253 : もう春休み終わったよ たぶん明日から学校
254 : Ruby厨ってMWのことじゃないの?
255 : Notus http://notus.sourceforge.net/
256 : 結局使い物にならなかったな
257 : 自作ゲームの中に簡単に組み込めるGUIライブラリってないかなぁ。 DxLib使ってるんだけど、ボタンとかリストボックスとか欲しい。
258 : モチーフとか駄目なの?よく知らないけど。
259 : なんでMotifが出てくるんだよ。よく知らないならすっこんでろ
260 : http://opensource.adobe.com/ Adobe Opensource Widget Library
261 : http://www.torjo.com/win32gui/ これ弄った事ある人居る? 名前からしてプラットフォーム限定だが。 俺、英語分かんなくてさ……。 STLと仲良しこよし、という辺りにちょっと興味が。
262 : >>261 日本語環境だとうまく動かないのか、それとも私の環境が悪いのか、 ビルドして実行したときにエラー吐いて落ちたことがあった。 ちなみに、XPsp2 VC++7.1
263 : C++でGUIプログラムを作るときって、やっぱり主流はMFCなんですか? 今でも。
264 : VC++ならそうだろうな その次がWTL
265 : MFCなんてありえなーい ていうか、MFCちょむかー
266 : じゃあ KFC 行ってくるよ。
267 : 3DCGツール『LightWave』のようなカッコイイGUIを創りたいんですが、これって何処かのGUIツールキットとか使ってるんですかね? http://www.dstorm.co.jp/products/lw8/feature/images/large/mdiimage1136_l.jpg 探してもそれらしいのは見つからなかったので、誰か知ってるひといたら教えてください。 まあ、自社ライブラリの可能性もありますが……
268 : LightWaveはAmiga時代からオリジナルのGUIを引き継いでるんだぷ
269 : カッコいいよね。 ライブラリは独自じゃないかな。マルチプラットフォームなアプリではままある話。 Blender とか。 http://www.blender3d.org/cms/showpic.php?file=uploads%2Fpics%2Frt_09.jpg&width=1024m&height=768m&bodyTag=%3Cbody%20bgcolor%3D%22black%22%3E&wrap=%3Ca%20href%3D%22javascript%3Aclose%28%29%3B%22%3E%20%7C%20%3C%2Fa%3E&md5=d4da49c32fb16794e25ba4b65a5c0867
270 : なるほど、やはり独自ですか……あきらめるしかないですね。 Blenderもカッコイイですね。 まあ、スタイリッシュなGUIはであればLightWave風でなくてもいいので、なにか情報があればお願いします。(一応Windowsで) 最悪、自作コンポーネント画像を屈指して作れっていう感じですかね^^; ちょっとGUIツールキットの話題からはずれてますな。すいません^^;
271 : 海外は、何故かGUI自作する文化があるよな。 スクロールバーがホイールとか対応してなくてたまにキレるけど
272 : 海外でなくともゲームではUIは自作するのが普通でしょ
273 : 確かにそうだな
274 : >>270 BlenderはオープンソースだからGUI部分読んでみるといいよ。 ちなみにあれはぜんぶOpenGLで描画してる。だからOpenGLに 対応した環境には簡単に移植できる。
275 : ゲームは、マウスとか使わないから比較的簡単に自作できる。
276 : >>274 そうなのかー! いいこと聞いた。 早速見てみることにスるす
277 : GUI部だけ抜いてOpenGL使ったツールキット作ってくれたら神だな
278 : 要らぬお世話な気もするけど、Blender は GPL だからソースの流用には注意してね
279 : >>278 まじかよ! 目コピするしかねーじゃねかw
280 : >>279 そんなことないよ。ガンガンソース流用してくれ。 もちろんおまいもGPLで公開な。
281 : eXene
282 : Ultimate++は出てきてない?
283 : C++のGUIツールキットってなんでみんな独自の文字列クラスがあるんだろ? 標準C++ライブラリじゃだめなん?
284 : >283 漏れの場合は rope いくつかの文字列クラスを寄せ集めた文字列クラス string ヒープ上にメモリを確保した文字列クラス auto string スタック上に確保した、書き換え可能な文字列クラス literal 書き換え不能なメモリ(あるいはROM)に確保した文字列クラス substring 他の変数や文字列クラスが管理しているメモリのどこかを指す文字列クラス * string と auto string は editable string インタフェースを継承する * 全てのクラスは a string 抽象クラスを継承する こんなのが欲しかったからなあ。 けっこう、パフォーマンス良くなるんよ。
285 : とにかくコンパクトでコントロールは一通り揃ってるGUIツールキットキボンヌ。
286 : 俺の出番だな(´ー`)
287 : std::stringって、いまいち使いにくいな。 JavaのStringくらい使いやすいのが欲しい。
288 : できるだけ速度に重点を置いた高速GUIツールってどれですか?
289 : マイナーじゃないかもしれないけどwin32guiって使ってみた人どう? これから試してみるけど。
290 : FLTKが実はハリウッドの特殊効果スタジオDigitalDomain製 だという事はご存知か 元々は社内用のtoolkitとして使うためにOpenGLとの親和性を 考慮して作られたらしい この会社は自社製実写合成アプリのtoolkitとしてFLTKを使っている http://www.d2software.com/nuke.php
291 : test
292 : FXAge* pFxAge = NULL;
293 : new FXSage();
294 : 最近は wxWidgets が流行ってるみたいだけど、あの MFC 並に古い設計は なんとかならんのか。かといって Win32, UNIX, Mac にまともに対応してる Toolkit ってほとんどないし…。
295 : Mac にはまともに対応してないけどね。
296 : wxNGを作りたいって話はあるが、それだけの時間を誰が出すのかという話になる。
297 : >>294 Qtは?
298 : >>297 文句ばかり垂れてても前進しない、という意見は承知の上で。 ・プリプロセッサによる C++ 拡張がなんか嫌。 ・だから Array とか Map とか自前実装するなって! 後者は Qt に限った話ではないけど。複数のライブラリを組み合わせると *Array が山ほどあったりな…。
299 : でも消去法だとQtだよな。Macでもwxよりちゃんと動くし。完成度もそこそこ高い。 mocうざいけど。
300 : >>298 > Array とか Map とか自前実装するなって 干渉しあわなければ問題ない
301 : >>294 gtkmm
302 : Qtはライセンスが・・・
303 : >>302 GPLじゃまずいのですか?
304 : >>300 んな馬鹿な。相互変換が面倒な上に非効率的。 >>301 GTKmm はモダンな設計で良いですな。 boost の再発明は…まぁしょうがないよな。 ただ、GTK の Win32, OS X 対応は微妙。
305 : GPLは糞。
306 : >>305 理由は?
307 : 俺もライブラリのくせに GPL なのはどうかと思う。
308 : >>307 GPLが嫌だったら買えばいい。
309 : >>308 他の選択肢もあるのに、買えばいいなんてのは全く現実的じゃない。
310 : spComponent なんてのがあるんですが、どうなんでしょ? ttp://www.sp.m.is.nagoya-u.ac.jp/people/banno/spLibs/index-j.html Windows上でちょっと触ってみてわかったことは ・完全にC言語 (C++一切無し) ・マルチプラットフォーム(Windows、Linux(GTK or Motif)、MacOS) ・使い勝手は Xt ライク ・コピーレフトのゆるいライセンス(MITライセンス?) ・4年前から開発が止まってるみたい といったとこです
311 : cppkt
312 : >>311 cpptk?
313 : >310 sneg?
314 : C:\Documents and Settings\[user]\Application Data\fltk.org\filechooser.prefs こんなのがポツンとあったんですけど、これ何のファイルですか? FLTKなんて入れた覚えないんですけど、その関連ですか?
315 : 以前にも名前出てたけど Ultimate++ http://upp.sourceforge.net/ 使ったやついる?
316 : まだこれ出てないよね EasyWin http://suuri.ics.kagoshima-u.ac.jp/lectures/EasyWin/docs/index.html とっつきやすいと思うよ
317 : >>316 必要最低限の機能をミニマムにまとめた感じでよいね。 小さなもの作るのにいいかも。ゲームとか。
318 : 昨日FreeBSDにて、Gnomeのコンパイルに約1日かかりました。 WindowMakerとかの、軽量ウィンドウマネージャに最適の、見た目も良い GUIフレームワークってありますか? あと、GTK+アプリとかQTアプリって、WindowMakerとかで 動かせるもんなんですか?
319 : GTKのライセンスってどんなのだっけ。 GTK+2って使いやすいのかな。
320 : >>319 LGPL。Qtと違ってGPLではない。
321 : え・・・QtってGPLだったのか・・・。 非商用なら自由に使えるように考えてたんだけど・・・。 ソース公開しないといけないとなると、いやだなぁ。
322 : Qtはいろんなライセンスのがあるから自分でしらべたら? Linuxに入っているのはGPL版。 Winだと2.xフリー版や3.x書籍配布のやつは独自フリーライセンス (ソース公開義務なし)、4.xからはGPL。 他に各OS用の有償の商用版がある。
323 : >>321 >>322 の言う通り、 QtはGPLと商用ライセンスのデュアルライセンス。 昔はフリーじゃなかった。KDEで注目されて、 何でフリーじゃないライブラリ使ってんの? とか揉めてた。 互換ライブラリ作ろうとか色々あったが、 結局、独自オープンソースライセンスを経てGPLになり、 事態は収束した。
324 : あんまり継承使わない感じのやつないかな
325 : 割烹つばめ 福岡屋台で なぜか池田
326 : FOXって日本語サイトだとLGPLとされてるけど、公式では静的リンクは動的リンクと同等だという附則を付けて FOX自体を弄らなければ静的リンクでもソース公開しなくても良い(LGPLじゃなくていい)らしい。 英語が余りわからんが、大体そのような事が書いてある。 ttp://www.fox-toolkit.org/license.html
327 : FOXのIME使えるパッチって誰か保守してくれないかなぁ。 みんながFOXを嫌う最大の理由がIMEが使えないってとこだと思うけど。 メールソフトとか作れねーし。
328 : FOX★ に日本語が通じないのは仕様です
329 : FOXのEditボックスとか改造して内部でCreateWindowでEditボックスを を作ってFOXになりすます事って出来ないかな。
330 : Juce使ってみるよ。 http://www.rawmaterialsoftware.com/juce/
331 : GPL なのね。
332 : >>330 これすごい。みんなデモ動かしてみるべし!
333 : でもGPLだし。
334 : テラタカスwwwwwww Prices * Commercial licence for a single product - £399 (+ VAT for countries in the European union). * Commercial licence for any number of products - £699 (+ VAT for countries in the European union).
335 : >330 Tracktionに使われてるGUIなんだな。日本語通る雰囲気がしないのが困る。
336 : その上GPLだからなあ
337 : >Juce使ってみるよ。 すごいねこれ。昔見たSwingのデモプログラムみたいだ。でもSwingより 速いしいいね。 ラッパーとかじゃなくて全部自前で描画してるみたいだけど、すげー大変そう だなあ、これ作るの。外部WindowにドラッグできるWindowとかどういう実装 なんだろ?
338 : SOL++ これ、なぜに英語なんだ?
339 : ほしゅ
340 : Foxのソースを久しぶりにのぞいてみたらIME関連のソースが追加されていたけどコメントアウトされてた。
341 : >>334 Qtより安いな。
342 : 緊急浮上!! で、ポータブルで書きやすいGUITkってなによ?Qt?
343 : >Juce とか >Qt って組み込みITRON系に使える?
344 : 君はあちこちで同じ事を聞いてるな
345 : ヒント:答えが無い
346 : ヒント:答えは無い
347 : Windows XP, MinGW + MSYSでFLTK v1.1.7を使っています。 Fl_GroupでopenGLの画面を子(child)にしたComposite Widgetを作ると、 openGLの画面が全く描画されません。但し、 ・Fl_Buttonなどは描画される ・Fl_Groupを使わないでやるとちゃんとopenGLの画面が表示される どなかた試された方いらっしゃいませんか?
348 : ttp://www.memecode.com/lgi.php
349 : ツールキットの紹介↓ http://dmoz.org/Computers/Software/Operating_Systems/Graphic_Subsystems/Toolkits/ ↑の LGI は VC++ 2005 EE でコンパイルすると大量にエラーが出てコンパイルできなかった
350 : ZooLib http://zoolib.sourceforge.net/
351 : adobeのやつどうよ ttp://opensource.adobe.com/group__widget__reference.html
352 : adobeの面白そうだけど難しそうだよね 誰か試した人いないかなあ
353 : 面白そう? 何か普通のと違うのけ?
354 : link集/GUI/C++ ttp://www.nbrains.net/php/pukiwiki/index.php?link%BD%B8%2FGUI%2FC%2B%2B
355 : 何で X の事を X Windows って間違えちゃうんだろうね。Windows XP を Window XP と 書いたらおかしいべ。何と言うか、作者のやる気の無さが伝わって来て食指が動かない。
356 : 触手うねうね
357 : >>355 "windows"という語をウィンドウによるGUIの一般的な総称のように 認識しているのかも。または他の適切な呼称を思いつかずそれで代用している。 そういう概念に対してXは "window system" という呼称を当てている けど、それがいまひとつ認知されていないせいもあるかと。長いし。 概念があまりに一般的になると、説明的な呼称は廃れていくのかもね。 > The X Window System is a network transparent window system which runs > on a wide range of computing and graphics machines.
358 : >>351 AEL つう GUI 記述言語を使うのは面白そうだね。JavaFX みたい。 プラットフォームは Mac OS X と W i n X P みたいだけど、X11 じゃ動かないの?
359 : 宣言的にユーザインターフェイスを定義出来るのは良いね。
360 : あ げ
361 : FireFox の GUI toolkit を拝借すると良い感じになる様な気がする XUL じゃなく純粋に C++ のウィジェットライブラリとして
362 : >>361 C++や他の言語からもっと簡単に使えるようにして、 ウェブとデスクトップの境界を云々とはもう何年も前から言われてるけど、 mozillaにやる気がないっぽい。 もうだめぽ
363 : >>362 いや、そうじゃなくて、Firefox のソースツリーの中の mozilla/widget 以下を 自分のアプリにコピって使うということ。もちろんライセンスはそこだけ MPL で。
364 : >>362 最近GNOMEの連中がいろいろやってるな。スラドでは「ネットとデスクトップの融合なんて、 MSの二の舞になるつもりかよw」なんて煽られてたけど。 Clutterの話題なんてなかなか出てこないよね。
365 : age
366 : FoxToolkit-1.6のtests/glviewerをMacOSX(v10.4)でg++を使ってコンパイル (OpenGLはネイティブのものを使用)すると、エラーおよびワーニングなしで コンパイルできるんですけど、実行するとOpenGLの部分がうまく動作しません。 キャンバスを含む窓の中身が真っ白で何も描画されないのです。 二十回くらい実行すると一回くらいは巧くいくのですが、 どこが悪いのかよく解りません。なにか知ってる人はいませんか?
367 : >>366 ×ワーニング ○ウォーニング
368 : 俺も昔は、ウォーニングだよ^^、って毎回突っ込んでたけど、 cos をコウサインって書くのか? って言われてから黙ることにしてるw
369 : それで本題にはノーコメントですか?
370 : 単にOpenGLの各種設定をちゃんと初期化してないだけでは。 忘れがちな設定についてはこの辺を見れ。 ttp://homepage2.nifty.com/tooshy/document/opengl.html
371 : Linux系のOSで、MFCのCListViewのようなコントロールが付いているGUIライブラリで、なるたけサイズが小さいのってあるんでしょうか?
372 : >>371 FLTK
373 : >>372 ありがとうございます。ちょっと試してみます。 ttp://seriss.com/people/erco/fltk/Fl_Table/screenshots.html
374 : まいなー、wxWidgetsだな
375 : fltkとfltk2の違いってなんですか? どちらも更新されているようなのですが、 やっぱり2を使った方がいいことありそうですか?
376 : 何をしたいかによるんじゃない。FLTK は小さいから、ソースコードを読んで 自分で手直ししながら使うものだと思う。
377 : スタティックリンクにしてもEXEのサイズ小さくて OSのルック&フィール(特にWindows)で ってある? wxWidgetsとかgtkmmとかはランタイムが巨大だしなー マルチプラットフォームとか気にせずにWTLとかを素直に使った方が良いのかな?
378 : 誰かWTLとwxWidgetsを統合化して、超軽量のwxWidgetsを作ってくれないかなぁ。 ライセンス的にどうなるのか分かんないけど。
379 : >>377 >マルチプラットフォームとか気にせずにWTLとかを素直に使った方が良いのかな? Yes, that's right!! But, 一番賢いのはサイズなんてもう気にしない事。
380 : >>377 Java + SWTでがんばってください。 というのは冗談にしても、実行ファイルのサイズが数十kb以内なんてのはプログラム開発者の グルーコード以外全部プラットフォームのAPIに丸投げしてなせる技だろうし、 少なくともマルチプラットフォームでってのはあきらめたほうがいいんじゃない?
381 : > マルチプラットフォームとか気にせずにWTLとかを素直に使った方が良いのかな? どうでもいいが、 一昔前って、 マルチプラットフォーム対応のUIライブラリで、ダサイのしかなかったよな・・・ なんで、Windowsに持ってくるとあんなにダサイんだ?というものしか。 今は、SWTなんかは、まだましだけど
382 : Tkがダサいと申したか
383 : Tkは普通じゃん?
384 : >>378 つ wxForms WTLは入ってないけど、ポトペタできてクロスコンパイルできるらしい。
385 : Turbo C++ Explorerじゃ無理か。
386 : 保守したほうがいい?
387 : 頼んだ
388 : お前らの連携のよさと言ったら!
389 : めも ttp://www.thefreecountry.com/sourcecode/gui.shtml
390 : どなたかOMGUIのサイトの行方を知りませんか? ttp://www.omgui.org/ (参考:ttp://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?BoostGUI) 昨年夏頃までは見れてたように思うのに、今はドメイン売り出し中って…。
391 : >>390 ttp://cia.vc/stats/project/omgui
392 : >>391 ありがとうございます。プロジェクトそのものは消えてないようで助かりました。
393 : ttp://dclib.sourceforge.net/api.html#gui_widgets
394 : こんな感じかあ ttp://www.geocities.jp/mocchi_2003/soft_readme/dlib_patch/dlib_patch_sample1.png
395 : マイナーじゃないけど ttp://www.tcl.tk のtk見た目がだいぶましになったな tclに依存してなければいいのに
396 : スクリーンショットにたどり着きにくい ttp://wiki.tcl.tk/13636 これか
397 : FOX-Toolkitって使っている方いらっしゃいますか?
398 : 使ってますよ。OpenGLも使ってます。
399 : このスレの住人なら知っていますね、あの糞開発ツールのことを ・自分のプログラムのバグなのかコンパイラのバグなのかわからない ・他の仕事に応用できない糞開発ツールの独自世界を必死に学習している ・テキストエディタで書いたほうが効率的なのに糞UIツールを懸命に使っている ・糞開発ツールを批判すると「性格が悪いから糞ツールを批判するんだ」と言われる 糞だけど、政治的な理由で無理やり使わされているんですよね。 もう、あんな厨の作った糞ツールを我慢して使うのはやめましょう。 ・糞開発ツールを部下に押し付ける上司の命令は無視しましょう。 上司は糞開発ツールが使われる実績を作ることであの会社のごきげんをとっているのです。 ・糞開発ツールを使わせる上司の下では働けません、と上司の上司に直訴しましょう。 ・あの糞開発ツール提供会社には「おたくの糞開発ツールは話にならない」と突き放しましょう。 バグレポートなどしてはいけません。改善要求などもってのほかです。 あの会社はあなたたちのことをテスター/モルモットとしか思っていません。 ・あの会議で「糞開発ツールを使ったら生産性がxx%アップしました」 なんて話が出たら力強く机を叩き、会議室を出ましょう。 あの人たちは糞開発ツールをマンセーすることで立場を確保しているのです。 糞な開発ツールを糞だと言える、そんな当たり前の環境をみんなの力で取り戻しましょう。
400 : trixul ttp://trixul.com/ 使ったことはないけど、本屋で少し立ち読みしたら結構面白そうだったので。
401 : >>400 書名キボンヌ
402 : XUL と違うんだね
403 : 書名は「Cross-Platform Development in C++」 ttp://www.amazon.co.jp/Cross-Platform-Development-C%2B%2B-Building-Applications/dp/032124642X/ref=sr_1_1?ie=UTF8&s=english-books&qid=1210522918&sr=1-1 XULと.NETのWindowsForms(XAML?)の概念を組み合わせてJavaScript(SpiderMonkey)でイベントハンドリングできるようなことが書いてあったような気がする。 でもSourceForge(ttp://sourceforge.net/projects/trixul/)の方を見た感じではまだまだ発展途上なのかな。
404 : Fox-ToolkitってIME制御ってできない? コピペで漢字入力はできるんだけどね。
405 : FoxToolkitの1.7の最新でIMEの制御もできて漢字入力もできるっぽい。
406 : >>312 >C++/Tcl http://cpptcl.sourceforge.net/ >A C++ library for interoperability between C++ and Tcl >C++/Tk http://cpptk.sourceforge.net/ >A complete C++ interface to the Tk GUI toolkit
407 : GUIまったくわからないC++初心者が手を出しやすいGUIってありますか?
408 : とにかく標準のGUIツールを使え マイナーなものは糞だからマイナーなんだ
409 : 標準=Qt/wxWidgets?
410 : >>409 そのOSの標準GUIからってことじゃない? いきなりクロスプラットフォームなんて欲張りだと思う
411 : MFCみたいなこれって何語っていうようなカスもあるお。
412 : Windowsで初心者なら.NET一択じゃね ウンコウンコ言われながらも、情報量が圧倒的過ぎる
413 : 情報量は圧倒だが、アウトプットのアプリは皆無。
414 : >>413 俺もそれ不思議。 「delphiで作った有名ソフトって何があるの?」に対抗して 「.NETで作った有名ソフトって何がある?」スレないのかな?
415 : .NET(C#,C♯,C#)で作られた有名なアプリって何? http://pc11.2ch.net/test/read.cgi/tech/1213590713/ 立てました
416 : 一番好きなプログラミング言語は? http://itpro.nikkeibp.co.jp/article/OPINION/20080528/304478/ プログラマに対象を絞って聞いた「一番好きなプログラミング言語」は,「C/C++」(24%)が最も多く, 「Visual Basic(VB)」(20%),「COBOL」(13%)と続いた(図2)。企業の基幹システムに浸透しつつあるJavaや, Webアプリケーション関連で使われることの多いスクリプト言語は,上位3位までに食い込むことができなかった。 C/C++ 24% VB6.0 20% COBOL 13% Java 9% Perl/PHP 7% C# 2% ← m9(^Д^)プギャー 一番好きな言語と対比する格好で「最もよく使っているプログラミング言語」も聞いてみたが, ここでは「C/C++」と「VB」の順位が逆転,「VB」が一位だった。
417 : C#はいい言語だと思うんだがなぁ… .NETじゃくネイティブコードコンパイラなければもっと使ってるのに… COBOL(13%)ってのはITPro(というか日経)の読者層を反映しすぎてる気がする
418 : ここにも貼っておく ttp://torjo.com/egui/
419 : VB6.0にCOBOLが2〜3位って、時代に取り残されたおっさん確定だろ そんな奴らにC#の良さが分かるとは思えないw
420 : >>419 4番目にJavaはともかく、5番目にPerl/PHPだもんなw
421 : GC.AddMemoryPressureが追加されるまでのC#は実用にならないゴミだったから仕方が無い
422 : >>417 海外だとC#で書いたものが多くなってますよね 日本じゃまだ目新しすぎてついて行けないだけじゃないかなぁ C/C++が一番多いのは納得だけど、VB6が20%なのは厨房SE/PGが多い日本ならでわかと。
423 : Delphiがその他のどのくらいの割合なのかが気になる上に VB6.0て分けるぐらいならC/C++も分けるべきだったろに。
424 : >>422 厨房がVB6なんて知ってるわけねえだろ。
425 : >>424 はぁ?リアル池沼乙。
426 : >>422 の言葉が悪いな 厨房じゃなくてオッサンなだけなんだよ >>416 の調査のメインの対象が >回答者の年齢構成は,40才代が最も多くて39.4%,続いて30才代が34.8%, >50才以上が19.3%,20才代が6.2%だった という年齢層分布で察しる
427 : gtkmm
428 : だれか、使いやすいのを作ってくれ
429 : >>426 でも20代なんてカネ稼いでない層だろ。 仕事でも無いのにプログラムを書くような人間が多い時代でもないだろ。 今の20代が10年後に何を好むのかは気になるけどな。
430 : >>429 > でも20代なんてカネ稼いでない層だろ。 え? 現役で「プログラマ」をやってるのは圧倒的に20〜30代が多い、でしょ? 少なくとも日本では。 業界にもよるが、基本的にプログラマは下っ端の兵隊で、高級なデベロッパが ほとんど存在しないという文化だからね。
431 : >>430 20代。 いわゆるプログラマではほとんどカネが稼げない現実もあるだろうなぁ。 稼げないと好きになんてならないだろうに。
432 : 脱しようと今起業しているがなかなかプログラムだと稼げないね 今年入った収入は1万8千円 受注仕事やるといいんだろうが、起業している意味ないしなあ
433 : 1万8千円って俺の月収より低いな
434 : 携帯ゲームあたりだろうか
435 : WTL
436 : 自作してみたいんだが、どうすればいい? 環境は WindowsXP で VC2008EE
437 : 既存APIのラッパーを作ることから始めてはどうか
438 : 質問する段階なら、APIの薄いラップのみでいいんじゃない 物足りなくなったら、他のツールキットがどういうアーキテクチャになってるか 調べて取り入れるとか あと、オレオレライブラリの類は、演習と割り切って作らないと前に進むのが遅くなるよ 結局、既存のツールキットを使ったほうが便利な場面も多いし ってこのスレで言うことじゃないなw
439 : ボタンもリストも基本はWindow。その辺はググれば出てくる。 多くの人間が通る道として、それらをC++でラップしたコントロールを作る。 そしてメソッドで対応するのが面倒になり、GetHwnd()とか作ってごまかして終了する。 VC2008EEで生産性を追及してGUIを自作したいなら、個人的には ResEditとかフリーのリソース作成ツールが吐き出したソースを サポートする形にするのが良いかと。
440 : ふむ、アドバイスdクス まず、ラッパからやってみるよ。 できたら晒しにくるよ。
441 : ラッパやってみたけど、うまくいかない。。orz アドバイスくれorz http://www.geocities.jp/hoge12make/ 置き場を↑にする
442 : メンバ関数名にまでWindowは付けなくていい。 あとメッセージループもメンバ関数にしたらどうだろう。 エラーの原因はポインタの扱いだから、 その辺復習しながら作るといいよ。
443 : 久しぶりにネット繋いだらVC++6.0に怒濤のごとく更新入った
444 : >>442 アドバイス有難う。 うまく表示できた。 さて、ウィンドウの表示はできた。 次は、 LRESULT CALLBACK WindowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) の中でしているのをどうするかだ。。。 ここで、メッセージループをしているのをどうにかしたい。 じゃないと、ラッパを作る意味がないきがする。
445 : >>444 WindowインスタンスごとにVirtualAllocで確保した領域に ECXにthisを入れてメンバのWndProcに飛ぶコードを動的生成して それをRegisterClassExでコールバックとして渡しておく。 そうすればWindowsが直接メンバ関数を呼んでくれるようになる。 あとはそれをOnXXXとかのvirtualなハンドラに飛ばして、 必要に応じて外部に委譲させておけばおk。
446 : >>445 ググって、VirtualAllocこれが何かはわかった。 (呼び出し側プロセスの仮想アドレス空間に領域を確保) が、そのほかの部分がわからない。 もうちょっと噛み砕いてお願いしたい。
447 : とりあえず他でやって欲しい。
448 : マイナーGUI(ラッパか・・・)作ってるからいいんじゃね?
449 : >>446 君がどういうレベルかわからないと説明は難しい。 stdcallとcdeclは知っている? clのABIはthiscallでECXにthisが入るのは知っている?
450 : 私のレベルは、簡単なものならAPIをガリガリでモノを作れる。 MFCは使ったことなし。 >stdcallとcdeclは知っている? これは名前は知っている。 >clのABIはthiscallでECXにthisが入るのは知っている? これは、知らない。 cl・・・コンパイラ? ABI・・・アプリケーション・バイナリー・インターフェイス? thiscall ≒ cdecl? ECX・・・アセンブリは全く知らない つまり、アセンブリを知らないとできないってこと?orz
451 : >>450 アセンブリと言っても別に難しい知識は必要ない。 C言語が使えるんなら、レジスタとスタックの操作、 つまりmovとpushくらいは3分でわかるはず。 そして引数がスタックに積まれることが理解できれば良い。 そのスタックをどこで戻すかの違いがstdcallとcdecl。 インスタンスメソッドに対してはインスタンスが引数として扱われる。 それがcl(VC++のコンパイラ)ではECXで渡されるということ。 ちなみにgccだと第一引数としてスタックに積まれる。 こういう呼び出し規約のことをABIと呼ぶ。 なぜこんな知識が必要か? それはインスタンスメソッドに対してコールバックさせるため。 実際にATLではこの方法が使われている。 ハッシュで済ませるんなら必要ないんだけど、 外部に委譲させるときに悩むことになる。
452 : ふと疑問に思って昔作ったGUIクラスをひっぱりだして覗いてみたら SetWindowLong( hWnd, GWL_USERDATA, (int)this ); みたいな感じのを使ってた。ハンドルと32bitデータを関連付けられるらしい。 で、Windowプロシージャで GetWindowLong( hWnd, GWL_USERDATA ); を使って、ハンドルから対応クラスのポインタをひっぱってきて Window別のイベントを処理してた。なつかすぃ。
453 : >>452 その方法だとたとえばウィンドウ上でIMEの入力をしているときに 候補の上でホイール回したりしてIMEが作ったhWndが飛んでくると 不正なポインタに飛ばすことになって落ちるよ。 結局、登録されたhWndかどうかチェックするとハッシュになってしまう。
454 : >>445 ウィンドウインスタンスごとにRegisterClassExって何か違うと思う。 ATLでやってるのは、StartWindowProcってのを登録しといて、 StartWindowProcの中でサンクつくって、次回以降はそれが呼ばれるようにする、っていう方法だったと思う。 >>453 俺はIME触ったこと無いから実際はどうなのか知らないんだけど、 そんなことがあったらそれIMEのバグじゃねーの?
455 : 同じくで、サンク作る方法は自分でも書いたことあったけども>>454 の意味はちまちまわからんとこが。 ATLのソースか、エディタのGreenPadがそんな方法使ってたから見てみてもいいかも。 わかりにくい上に機械語直接埋め込むから試しに自分でラッパ書いてみる、って段階ではどうかと思うが、早いし。 ウィンドウハンドルとthisを関連づける方法はGWL_USERDATAの他にSetProp/GetPropAPIもある。 ttp://hp.vector.co.jp/authors/VA022575/c/msgmap.html ttp://hilbert.elcom.nitech.ac.jp/~taki/program.html 一応この辺がその辺の話。
456 : 454だけど、実際にATLがどうやってるのかは>>455 のリンク先が詳しいのでそっち見てね。 あと、WndProcからthisを手に入れる方法を適当にまとめてみた。他にも方法あるかも。 どこにHWND↔thisの対応を入れておくか ・Set/GetWindowLongPtrを使う(GWLP_USERDATAを使うのか、cbWndExtraで確保しとくのか) ・Set/GetPropを使う(キーは文字列かATOMか) ・ハッシュテーブルを使う(排他制御はどうすんのか) ・サンクを使う(CPUのアーキテクチャごとにry) どのタイミングでHWND↔thisを関連づけるか ・WM_CREATEで(thisはCreateWindowの最後の引数か、グローバル変数から) ・最初にWndProcが呼ばれた段階で(thisはグローバル変数から) ・WH_CBTとかWH_CALLWNDPROCフックで(thisはグローバル変数から) ・そもそもWM_CREATEイラネ、CreateWindowを呼んだ後で ただしグローバル変数にはTLSも含む
457 : いくつか意見がでてるけど、個人的にはハッシュが一番楽じゃない?と思う。 std::map<HWND,[基底クラスのポインタ]> g_controlList; LRESULT CALLBACK WindowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { 基底クラス *p基底クラス = g_controlList[ hWnd ]; // コントロール別イベント処理 p基底クラス->OnEvent(msg, wParam, lParam); } 最近C++書いてないんで色々間違ってそうだけど、キモはこんな感じかと。 ここは、より良い方法がでてきたら差し替えることにして 次へ進んだ方が本人の為になるし、スレ的にも面白いw
458 : >>454 インスタンスごとにクラスを登録しているのはWindows Formsだね。
459 : この流れを見てるとこのスレの住人はやっぱり結構自分ラッパを書いてしまっているんだなあと感じて親近感がw しかし>>450 は付いてきているのか。周りが凄い盛り上がってしまってるけど。
460 : >>450 は単語一個一個調べたり、根が真面目そうなんで、 今、大量の情報がドカドカ出てきたので知らん部分をググってる最中じゃない? 期待がプレッシャーにならない程度にマターリ待つのが良いかと。 俺もラッパ作ちゃった1人なんだが、結局デザイナーツールの作成が面倒で 活用には至らなかった。 その辺までしっかり作った人っているの?
461 : なぁ、>445 の方法って、ネットで探しても情報ないのな。 ATLのソース読んでみようと思ったけど、どこから読んだらいいのかわかんねw >450 は初心者っぽいしきつい気がするのは俺だけか? そういや、昔、CマガでGUIライブラリを作るってのがあったが あれは参考にならないか? もう、手に入らないけど。
462 : >>460 > その辺までしっかり作った人っているの? WideStudioってきもいけど凄いよね
463 : >>461 ATLについては>>455 >>445 の言ってるのはATLじゃなくてWindows Formsのことらしい
464 : 『組み込みGUI(ウィンドウ・システム)環境の設計と実装』って本 読んだことある人います? おもしろい?
465 : >>463 >455は手軽にthunk作るやり方。 ATLはCDynamicStdCallThunkが__AllocStdCallThunkの確保した領域に機械語つっこんでるぞ。
466 : >>450 適当にサンクを実装してみた。良かったら参考にしてみて。 ttp://www.yourfilehost.com/media.php?cat=other&file=KYSDK20081110.zip >>451 stdcallとthiscallの変換があるから単純にECXに代入するだけじゃダメだぞ? まあそれでも動くけどさ、ちょっと気持ち悪いよね。
467 : >>464 フレームバッファ直描きでウィンドウシステムを作る本だよ。 OSを作ったりとか、LinuxでXを使わないGUIを作ったりとか、 そういうことに興味がある人には面白いと思う。 Windowsアプリを作るのにはほとんど参考にならない。
468 : 一つずつ >>451 >つまりmovとpushくらいは3分でわかるはず。 mov・・・ジスタやメモリに、データの転送を行う push・・・スタックにデータを積む >そのスタックをどこで戻すかの違いがstdcallとcdecl。 このことでいいのかな? ttp://www.ne.jp/asahi/nagoya/ahomaro/builder/cpb-055.html >ECX レジストリと こんな場所がある、程度でいいのかな?
469 : >>452 >>453 >>454 調べたらこんな頁を発見 ttp://qwerty.s2.xrea.com/XC2CCCAB82FBBB2B9CDA4CBA4B7A4C6A4CFA4A4A4B1A4CAA4A4XWindowsSDKXA5ECA5B7A5D42FX2.xhtml サンク(thunk)って、調べても情報がないな。
470 : >>455 いま、ここまで 参照先のリンクの内容を理解するのに苦労している。 正直、難しい。
471 : >>469 wikipediaにあったぞ http://en.wikipedia.org/wiki/Thunk
472 : WindowsXP SP2のDEPでATLのThunkが問題になってたような気がするんだけど、 あれは何でなんだろ?
473 : >>472 ウィルス等がバッファオーバーフローでヒープに不正コードを埋め込むことの対策として ヒープのコードを実行できなくしたのがDEP。 ATLではサンクをHeapAlloc領域でやっていたため引っ掛かることになった。 今のATLはVirtualAllocでPAGE_EXECUTE_READWRITEで確保するため問題ない。
474 : >>473 なるほど、わかりやすい説明サンクスです。
475 : おまえら! 言いたいのをガマンしてるなら、代わり俺が言ってやるよ! あくまでもおまえらの代弁だからな!俺が言いたいワケじゃないんだからな! なるほど、わかりやすい説明Thunkです。
476 : さみぃw
477 : こんな方法どうやって勉強しました?
478 : >>477 Windows 3.1の頃(15年前)からプログラム作ってたら嫌でも身に付く
479 : class window { public: static window *m_this; static LRESULT CALLBACK StartWindowProc(HWND, UINT, WPARAM, LPARAM); //スタートアップ static LRESULT CALLBACK WindowProc(HWND, UINT, WPARAM, LPARAM); //本命 HWND SetHandle(HWND hwnd);//ウインドウハンドルを設定する void Create();//ここでクリティカルセクションを設定してCreateWindowを呼ぶ } window *m_this; LRESULT CALLBACK window::StartWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { window *pThis = window::m_this; window::m_this = NULL; //ここでクリティカルセクションを取り除く ::SetProp(hwnd, _T("THISCLASS"), (HANDLE)pThis); pThis->SetHandle(hwnd); ::SetWindowLongPtr(hwnd, GWL_WNDPROC, (LONG)window::WindowProc); return window::WindowProc(hwnd, msg, wParam, lParam); } かなりふざけた方法だけど... 俺はこんな感じでやってる...
480 : 何となく、自分も昔作ったGUIを晒してみようとサンプル動かしてみたら、 リストビューを拡張して作ろうとしたらしいGridViewがいきなりバグってた。 出直してきます。orz
481 : >>441 はもうやめちゃったのかな? こんなのあったよ http://www.binzume.net/library/kwui/
482 : 保守あげ
483 : ATLを使うと勝手に各アーキテクチャごとにthunk作ってくれる。 使い方は↓のようなかんじです。 class HogeWindow { ATL::CStdCallThunk thunk; HWND hWnd; static LRESULT CALLBACK redirect(T* object, UINT msg, WPARAM wParam, LPARAM lParam) { return object->WindowProcedure(msg, wParam, lParam); } LRESULT WindowProcedure(UINT m, WPARAM w, LPARAM l) { (処理) } HogeWindow() { (HWNDを作る) thunk.Init((DWORD_PTR)redirect, this); SetWindowLongPtr(hWnd, GWL_WNDPROC, (LONG_PTR)thunk.GetCodeAddress()); } };
484 : SOL9をVC++2008SP1で試してみた。 >c:\usr\include\sol\window.h(68) : error C2664: 'GetClassNameW' : 2 番目の引数を 'char *' から 'LPWSTR' に変換できません。(新しい機能 ; ヘルプを参照) 1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。 (面倒だから全部は乗せない) こんなエラーが大量に出てきた。 これって、VC++2008SP1では使えないのか?
485 : >>484 unicodeを使わない設定にしてみたら?
486 : >>485 サンクス コンパイルできた
487 : SOL9って何? Solaris9??
488 : >>487 ttp://home.att.ne.jp/green/atlan/index.html
489 : 使いやすいのない?
490 : ほしゅ
491 : Qt LGPL版が出ました。
492 : gtkmm一択
493 : >>491 10 年前にその選択をしてればな…
494 : マイナー用のこのスレで聞くのもどうかと思うけど、 OSSプロジェクトで一番使われているマルチプラットフォーム対応の C++ GUIツールキットってどれでしょうか? wxWidgetsとQtはどっちの方が使われてるのかな?
495 : fltk
496 : 今からクロス開発するならQtのほうがよさげ。
497 : >>496 できれば理由も聞きたい
498 : Qtのほうが作りやすい。API綺麗だし開発ツールも充実してるから。この辺さすが商用は強い。 wxは古臭さ複雑さを隠し切れんな。元がMFCを参考にしているからな。もう限界だろ。 個人的にQPLか高い商用ライセンスがキライだっただけで 今QtをLGPLで使えるなら選択しない理由はあまりないな。 wxの強みはドマイナーなOS環境まで考慮されてることだけど、別にそこまで使わんしw
499 : Qtは微妙な独自色がなければ最高なのに。qmakeとかLinguistとかWindowsのUIとか。
500 : 500
501 : Lily C++ GUI Library ttp://kengolab.net/lily/lily_download.html windows専用らしい
502 : >windows専用らしい イミネーwww
503 : 仮にただのMFCラッパーだとしても、使い勝手がよければそこに意味はあるはずだ あとこのスレって別にマルチプラットフォーム限定ってわけでもないっしょ?
504 : ぺたぺた貼れるなら、使い勝手うんぬん言えるが、できないじゃんwwwww
505 : ペロッ この味は・・・PHPer!
506 : Object Windows Library Inprise/Borland http://cc.codegear.com/partners/bcb5/exclusive/object_windows_library/index.html This release of the Object Windows Library is based on the OWL 5.4 release and is denoted as OWL 5.5. It has been ported to Borland C++Builder 5 by Yura Bidus, author of OWLNExt. It includes source code and debug and release libraries of, OWL, BIDS and OCF.
507 : >>506 ~ OWLNext project home ~ http://owlnext.sourceforge.net/ ~ About OWLNext ~ http://owlnext.sourceforge.net/about.html Advantages of using OWLNext: * OWLNext is an object-oriented framework, built on top of the Windows API without adding much overhead. * OWLNext is pure C++ library, which does not use any vendor- or compiler- specific extensions. * OWLNext fully supports developing Unicode applications. * OLE, OCX and ActiveX support (server and consumer) * OWLNext can be used with wide range of C++ compilers. Currently it is tested with o CodeGear Developer Studio 2007 and 2009 o Borland Developer Studio 2006 o Borland C++ Builder 6.0 o Borland Free C++ Compiler 5.5 o Borland C++ 5.01/5.02 o Microsoft Visual C++ 2003, 2005, 2008 o Microsoft Visual C++ 6.0 Also in the past it has been working with Borland C++ Builder 1.0-5.0, Microsoft Visual C++ 5.0 and GCC and has been ported to Linux using WINE * OWLNext offers easy upgrade path for porting legacy OWL applications to modern compilers and operating systems. * OWLNext is open-source project, it's based on contributions and directions from it's community
508 : 何だ、クロスプラットフォームじゃないのか…
509 : クロスプラットフォームとかいらんだろ
510 : クロスプラットフォームじゃなかったら何の意味が?
511 : WINEで動けば充分 > has been ported to Linux using WINE
512 : >>508 Object Windows Library http://en.wikipedia.org/wiki/Object_Windows_Library In 1993 Borland launched Borland C++ 2.0 for OS/2 which included a version of OWL 2.0. OWL 2.0 used BIDS, the newer template library for 'container' or 'class library'. In January 1994 Borland launched Borland C++ 4.0 for Windows which also included OWL 2.0. It added Doc/View support, VBX controls, OLE. Win16, Win32s and Win32 was supported (Windows 95, the Win32 successor of Windows 3.x appeared in August 1995). Late in 1994, Novell CEO Raymond Noorda resigned. Novell expansion plans were reconsidered, AppWare development was stopped and so was OWL for AppWare. In 1995 a group of original team members bought AppBuilder. In the same year, Software UNO (www.uno.com) offered a commercial port for OWL 2.0, to several platforms: AIX 3.2.5, DEC Alpha OSF/1, HP-UX 9.03, Linux 1.2, Solaris 2.x, Sun OS 4.1.x, and SVR4 fox x86, it was called WM_MOTIF.
513 : >>512 引用するなら翻訳しろカス
514 : 10年以上昔の話とか、WINEでポーティングされているとか…
515 : >>514 【レビュー】 Linux版一太郎と新しいATOKを試す http://journal.mycom.co.jp/articles/2005/02/03/justlin/002.html Windows版そのままの「一太郎 for Linux」 一太郎 for Linuxは、Win32 APIと互換のバイナリ実行環境をLinux上に実現する「WINE」を利用して動作する。 LinuxネイティブのELFバイナリではなく、 Windows PEバイナリの形で提供されるWindows用アプリケーションだ。 付属のインストーラ(シェルスクリプト)では隠蔽されていたが、 wineコマンドから直接インストーラ(SETUP.EXE)を起動したところ、 そのまま「一太郎2004のセットアップ」と題されたウィザード形式のダイアログが表示された。
516 : 4年以上昔の話とか、WINEでポーティングされているとか…
517 : >>515 それもどうかと思うけど、完成品とライブラリを一緒くたにするとか…
518 : Win32++ http://sourceforge.net/projects/win32-framework/
519 : Win32++について「GUIがむずかしすぎる」スレから引っ越してきたヨ >66 名前: 60 Mail: sage 投稿日: 2009/10/21(水) 14:38:51 >Win32++の翻訳文書を公開した。 > >・Win32++概要 > http://www.h6.dion.ne.jp/~machan/win32pp/overview.txt > >Windowsプログラミングは未経験なので、不適切だったり誤っている箇所があると思う。 >特に、リバーコントロール(Rebar Control)/メッセージの反射(Message Reflection)/ >CWndオブジェクト/WndProc関数に関連した部分は、無理矢理に訳した感がある。 >Win32 APIに詳しい住人さん達からのツッコミに期待。
520 : >>519 なんか色々と乙。 wxばっか使っているのだけどちょっとこっちも使ってみようか… ついでに保守あげ。
521 : sage
522 : GUI比較サイト http://www.atai.org/guitool/ 世の中にはたくさんのGUI Frameworkがあるね。
523 : >>522 ちょっと情報が古い。 Qtとか、LGPLになったのにそうなっていない。
524 : >>522 Last updated May 13, 2007
525 : >>507 OWL/OWLNext http://www.jahanshahi.ws/owl.htm
526 : C++BuilderみたいにGUIでパーツを配置していけるライブラリって 何がありますか?
527 : >>526 あなたが求めているのは,単なるGUIデザイナじゃなくて,IDEと一体になったいわゆるRADツールだよね? (例えばフォームの上にボタンをGUIデザイナ上で配置しておいてダブルクリックすると,ボタンをクリックした 時のイベントルーチンのスケルトンが自動的に作成されて,後は中身を書けばいいってヤツ) それだとWindows上のC++で俺の知ってる限りだと,QtとwxWidgets(両方ともマイナーじゃないけど)。 QtならQt CreatorというRADツールがあるし,wxWidgetsならCode::Blocks,DialogBlocks(有料),wxDev-C++, VisualWxとRADツールはいろいろある。 WideStudioって日本製のもあるけど,デバッグがIDEのエディタ上ではできなくて(そもそもエディタは内蔵してなくて 外部エディタを使う),コマンドラインデバッガでやるってのが痛い。 あとUltimate++ってのもインストールしてみたけど,使い方がさっぱりわからなかった。 俺みたいな短気なアホには向いてないようだ。 どれがいいかは自分で評価するしかないと思うけど,俺はQt+Qt Creatorか,wxWidgets+Code::Blocksが 良いと思う。それぞれ別スレがあるので覗いてみたら? 俺もC++ Builderの将来に不安を抱いてて,いろいろ評価してるから気持ちはわかるなぁ。
528 : GTK+のGladeは?
529 : >>528 GTK+はまだ試してないんだけど、GladeってRADツールなの? いろんなHPで見る限り、ただのGUIデザイナにしか見えないんだけど。 そりゃコードは吐くだろうけど、デバッガでデバッグする等の本格的なIDEの機能は持ってるのかな? 元のGUIのデザイン変更したら、以前に自分が書いたコードを壊さずにソースコードに反映してくれる? それらができるんだったら、評価してみたいと思うんだけど。 それとC++じゃなくてCだと言う話なので、ちょっと尻込みしてる。 >>526 は「C++ Builderみたいに」と言ってるわけだし....
530 : >>527 詳しい情報ありがとうございます。 それぞれのスレを覗いてみます。
531 : >>529 GTK+はC言語専用じゃないよ。 いろんな言語のバインディングがあって、C++用のもの(gtkmm)もある。 と言いつつ、GTK+とかGladeは興味があるだけでまだやってないから GUIデザイナ/RADのことはわかんない。スマソ
532 : >>529 wxWidgets (wxPython) + XRCed
533 : >>532 wxPython+XRcedは面白そう。小さなアプリならいいかもね(何気にPython好きだったりする俺)。 出来上がったらpy2exeで実行ファイルにしてしまう手もありそうだし。 ただXRCedってXRCを出力するからC++にも使えるけど、C++ではRADツールにはなり 得ないんじゃないの? もう一つC::BみたいなIDEを組み合わせると似たようなことは出来るのかな...
534 : >>533 CodeBlocks + wxWidgets + XRCed
535 : >>534 だからそう書いたじゃん...できるってことねw
536 : GTKの事情は知らんけど、フツーはRADの吐いたコードは手でいじらず、 継承するなりラップするなりで、実装とデザインを分離するのでわ。
537 : そういうアプローチを取るツールもあるけど(Code::Blocks+wxFormBuilderとか), 一般的にRADツールといったら,実装とデザインを分離せず,マニュアルで書いたコード を壊さずにGUIのデザインとコードの実装をシームレスにできるものを指すと思ってるんだが。 Visual Basic,C++ Builder/Delphi,VC++ .NET,wxDev-C++,CodeBlocks+wxSmith(内蔵), Qt+Qt Creator...みんなそうだよ。 そうじゃないヤツはIDE+GUIデザイナだと思ってる。 なんか全然マイナーなGUIツールキットの話になってないな。 つーか,RADツールまで出来ると,メジャーになっていくんだろうな。
538 : マイナーGUIツールキットって、Wikipediaにも載ってないようなものじゃないの?
539 : eric4
540 : マイナー杉るだろ……
541 : むしろ未だにUIデザイナの吐いたコード直接弄るのタイプのはレガシーな感じがするんだが。 まあ一応GTK+系でもMonoDevelop + Stetic GUI Designerがその「RAD系」だった希ガス。
542 : まぁ,どう思おうと勝手だが,歴史的にみるとそうじゃないな。 MicrosoftもVC++のMFCではできなかったものが,VC++ .NETやC#でできるようになったし, QtなんかQt Designer(GUIデザイナ)しかなかったんだが,Qt Creatorが生まれたのは 今年のこと。 GUIデザイナの吐いたコードを直接弄ると,後でGUI変更したときにせっかく書いたコードが 上書きされると思ってるんじゃないの?
543 : 541じゃないけど ボタンがあってそれのクリック時のコードを書いてたとき そのボタンそのものを削除したらコードはどうなるの?
544 : 全部試したわけじゃないけど,少なくともC++ Builder,Qt Creator,Code::Blocks(wxSmith)だと ボタンをクリックしたときのイベントハンドラの中味を記述した状態でボタンを削除しても, コードはそのまま残るよ。ヘッダーファイル上では,ボタンのクラスのインスタンスポインタは 消えるけど,イベントハンドラ関数の宣言はそのまま残ってるし,.cppファイル上での 関数の実装もそのまま。 例えばボタンの種類を変えたいとき(文字だけのボタンからアイコンつきのボタンに代えた時)など に配慮してるんだと思う。後で交換したボタンのクリックイベントルーチンとしてそのまま使える ように。
545 : >>525 OWL/OWLNext (Programming) http://www.luigibianchi.com/owl.htm
546 : ttp://www.assembla.com/wiki/show/cppgui/
547 : Visual Studio 2005 で使えて、swing のような感じでお手軽にGUI を作成できるライブラリィってないでしょうか?
548 : .NET Framework
549 : >>547 俺はVC8でwxWidgets使ってるよ。サイザーとか手軽だよ
550 : 保守
551 : 最近のFLTKは1.3の更新ばっかりで2.0は停滞しているなぁ 大きな問題に直面してるわけではないが 成熟もしていないのが・・・
552 : fltk2はフォーラムでも「過去のバージョン」扱いだな trunkなのにbranchとはこれいかに 1.3に移行するか それとも1.3の修正を2.0にバックポート(?)するか あるいはもう別のツールキットに乗り換えるか
553 : うがー fltk1.3をubuntu9.10で使おうとしたら日本語が入力できん。 ファイルから読み込んで表示はできるが、 ibus-anthyから入力しようとすると文字化けする。 せっかくパッケージにある1.1じゃなくて1.3を入れたのに。。。。
554 : >>553 ibusがXIMで動いてないんじゃないかなぁ? ibus-daemon -rdx やってみてもダメ?
555 : >>554 xtermにもfirefoxにも入力できるから、ximは動いてると思ってた。 やってみたけど駄目だった。 日本語入力がonにできないんじゃなくて文字化けするってのが、 どういう状況なのかわからない。 XIMプロトコルでは文字コードどうなってるの? ibusが悪いのかとscim入れてそっちを使ってみたけど駄目。 fltk2.0いれてみたらdemoアプリでは入力できた。 が、APIが全然違うので目的のコードを動かすには相当な変更が必要そうだ。 fltk2.0 と fltk1.3 で、どこが違うのか比較するかな。
556 : printfしてみたら、そもそもXから来る文字コードがUTF-8じゃなさげ。 setlocale関係かなと思ったけど、差はないっぽいな。うーむ。
557 : fltk2.0も環境によっては入力できないみたい。 あんまり時間をかけられないので、俺は諦めます。 誰か解決してくれるとうれしいなぁ。 Fox-toolkitは日本語が入力できるんだろうか?
558 : ttps://svn.boost.org/svn/boost/sandbox/guigl/
559 : 質問です。 自作のプログラミング言語処理系に組み込むのに向いているGUIツールキットを探しています。 ただ、その言語処理系の制限上、コールバックをする事ができません。 つまり、[その言語]->[C or C++]->[その言語]という呼び出しは行えません。 この問題を回避できるツールキットをご存知の方はいらっしゃいませんか?
560 : どういう使い方をしたいのかがさっぱり判らん
561 : イベントループをその言語から呼んではいかんということだな。 その言語はイベントループ手前で一旦終了、 Cの方でイベントループを呼び出す。 コールバックは毎回君言語を実行する形。とするのかな。
562 : 一度終了して、後から呼ぶのも(不可能ではないですが)難しいです。 継続をサポートしているため、559の制限が発生していて、 一度終了し、イベント内で再開した場合も、同様に継続をサポートできません。 Windowsに話を絞ると、Windowsの標準メッセージループは次のようなのだと思います。 while (GetMessage(&msg,NULL,0,0)) { TranslateMessage(&msg); DispatchMessage(&msg); } この3つの関数呼び出しをまとめた、ProcessMessage関数を作り、 bool ProcessMessage(){ if(!GetMessage(&msg,NULL,0,0)) return false; TranslateMessage(&msg); DispatchMessage(&msg); return true; } これを私の言語から、 while ProcessMessage() do hogehoge() end のように使えば動くと思います。この場合、C側のイベントハンドラは発生したイベントをQueueに入れて、俺言語の中でそれを取り出して使う事になると思います。 Windows以外にも対応したいので、このような形を取れる、ツールキットはないでしょうか?
563 : >>559 もし実装言語がCなら、標準ライブラリのsetjmp/longjmpを使って、 インタプリタ側とコールバック関数側をコルーチンの形式で 交互にジャンプさせることで、擬似的な並行処理を実現するんだろうね。 もちろんジャンプバッファ(jmp_buf)は2個必要になる。 Rubyのスレッド(平行処理)も、インタプリタ内部ではスレッド単位に ジャンプバッファを持って、スレッドのコンテキストを管理してる。 以下は、RHG(Ruby Hacking Guide)の該当する章へのリンク。 ・ttp://www.loveruby.net/ja//rhg/book/thread.html もし仮想マシンで実行しているなら、(setjmp/longjmpに相当する) 実行コンテキストを保存/復帰させる命令を仮想マシンの仕様に追加する。 というか、開発中の言語処理系が「ホントウ」に継続(countinuation)を サポートしているなら、継続で互いのコンテキストを切り替え続ければいいはずなんだが....
564 : >>563 いやいやいや。継続をサポートしてるから駄目なんだよ。 てか、スレッドと継続を混ざってない? [その言語part1]->[C or C++]->[その言語part2] って呼び出しをしたとして、[その言語part2]から[その言語part1]に継続でジャンプすると、C 部分の関数は入って2度と出なくなる。 その時はデストラクタも呼ばれないし、それ以外もマズい事になる所がある。 で、今日、tcl/tkについて調べたら、Tk_MainLoop関数は、 void Tk_MainLoop(void) { while (Tk_GetNumMainWindows() > 0) { Tcl_DoOneEvent(0); } } ってなってた。 この関数を俺言語に移植して、イベントキューを作ればうまくいくかな?
565 : 中途半端な代物で「継続をサポートしてる」と名乗るあつかましさがそもそもの元凶では。
566 : >>565 うぐう。 継続のサポート自体は中途半端じゃないよ。俺言語で書かれたプログラム内で閉じてればフルに継続が使えるから。 Javaはメモリ破壊に対して安全だけど、Cで書かれた拡張ライブラリにバグがあったらメモリは破壊される、みたいな物だと思いねぇ。 その言語用のライブラリをCで作るときの制限の大小の話はあるかもしれないけど、 Emacs lispだと、GCがある事を考慮に入れてプログラムを書かないといけないが、Rubyだといらないとか、 継続にしたって、Luaとかは俺言語と同じ制限がある、Rubyとかは努力して回避してる。 ただ、Rubyとかが使ってる方法は黒魔術なので、環境依存する。違うプロセッサで動くとは限らない。 もちろん、努力が足りないと言われればそれ以外ないけど。
567 : うぐぅとか聞いたの10年ぶりぐらいだ
568 : > 継続のサポート自体は中途半端じゃないよ。俺言語で書かれたプログラム内で閉じてればフルに継続が使えるから。 俺言語で閉じた利用だけを想定するならそういえるけど しかし作者自身がその想定から外れた前提で質問した上で そう言い張ってもなー > Javaはメモリ破壊に対して安全だけど、Cで書かれた拡張ライブラリにバグがあったらメモリは破壊される、みたいな物だと思いねぇ。 それは違うだろ たとえるならJNIでいうグローバル参照がないとかだな > 継続にしたって、Luaとかは俺言語と同じ制限がある、Rubyとかは努力して回避してる。 LuaとRubyしか知らないの? つか、この文を書けるなら当然LuaのGUIバインディングは調査済だと思うが その結果はどうだったのさ
569 : 保守
570 : FLTK 1.3.0年内リリースに向け追込み中の模様・・・ 日本語入力関係で2.0.x使うようにしていたけど もう一度1.3試してみようかな
571 : ubuntu10.04 FLTK v1.3.x-r7893 でも>>553 と状況変わらず
572 : FLTK v1.3.x-r7996 で日本語入力対応したっぽいage
573 : FLTK v1.3.x-r7996 OpenXIM() を使っているようす。 kinput2+Canna では入力出来た。 scim+anthy だと漢字変換を起動させることが出来なかった。
574 : >>573 s/OpenXIM/XOpenIM/
575 : fltk 2.0.xにいつの間にかalphaがついている 1.3.xが落ち着いて2.0.xに開発者が若干戻った感じ しかし1.3.0はまだRC3のまま
576 : OpenGL画面の上に数値入力コントロールを置きたいんだが できるだけWin32のコントロールに近い挙動のGUIを作れるライブラリがあったら教えてくれ。 目的の対象プラットフォームはWin32のみ。
577 : qt
578 : qtはマイナーじゃないので別なのありませんか?
579 : WTL 今となってはマイナーだと思う。
580 : GLUI
581 : nacl
582 : FLTK 1.3.0 final version released! ……半月前だが
583 : はいゴミR ゴミって意味わかってんのかなこいつら
584 : >>582 それは良い事を聞いた!
585 : 軽いGUIライブラリを探しています。 FLTK-2.0がベストなのですが、これって開発続けられていますか? ホームページを見ると休眠中だけど再開したようなことも書いてあるし、 現状のステータスがよくわかりません。 Fl_というプレフィックスが見苦しい1.3ではなく2.0を使いたいのですが、 これ使って良いものでしょうか? あるいは軽量ならFOXを使えとか... どうするのがベストでしょうか。
586 : 勝手にFLTK2で行くことに決めました。 日本語化けます。対応してるはずです。助けて><
587 : コールバックが好きでない俺はFOXのメッセージがいいなぁと思った。
588 : ずっとクロスプラットフォームな GUI のライブラリで悩んでいたんだけど、 JavaScript を試してみたら結構サクサク動いたので、もう HTML5 で 行く事に決めたわ Firefox だけで動けば良いから、クロスブラウザ問題も無いし
589 : >>586 FreeType有効にしてる?
590 : 何それ美味しいの?
591 : FLTKだけど使い物にならないな。 一回メインウィンドウを作って閉じたら終了、なアプリはいいんだけど、 DLL化して何回も呼び出して(メインウィンドウを作っては消す)を繰り返すと、 10回に1回ぐらい不定期に強制終了する。何が起きるかはランダム。 おそらくFLTKのリソース管理がまずいか、メモリを破壊している。 2.0, 1.3, 1.1系列で確認。 ちょっと使い物にならない。
592 : >>591 そういうのは、ここで報告してあげると喜ぶと思うよ http://www.fltk.org/newsgroups.php?gfltk.bugs+T もう既に報告済みだったらスマソ
593 : >>591 FLTKの作法は知らないけど、 ウィザード形式の紙芝居遷移をするなら、メインウィンドウの中でパネルを入れ替えたりするのが 王道のような。 それかメインウィンドウを1個どどんと置いて、そこを軸にサブ画面を表示ってスタイルとか。 (必ずメインウィンドウを最後に閉じる)
594 : 他人の作ったアプリのプラグイン(DLL)として動くので、 自分で寿命を管理できないんだわ。 アプリ自体はずっと存在して、DLLのみ何回もロード/アンロードが繰り返される。 1回目で落ちたことはない。落ちるなら2回目以降。 サンプルを見てもメインウィンドウのdeleteはおこなわずにアプリを終了してるので、 FLTK自体こういう使い方(new/deleteを繰り返す)は想定してないようだ。 これではちょっと使えないので、また振り出しに戻ってツールキット探すぜ。 FOXは何かキモイからgtkmmあたりを攻めて見る。Gtkだから物は確かだろう。
595 : >>594 それはお前がいけないんだろ。 たとえばLIBで組み込んだら、GUI終了したらメモリ完全解放され、次の起動に影響を及ぼさない。 DLL化するときの初期化に失敗してるんだろ。
596 : とは思えないなあ。DLLの初期化に関してはアプリがやってるので自分はノータッチ。 アプリ側が間違えている可能性はあるがクローズだからわかんね。 多分ほかの(FLTKを使わない)プラグインでそういうエラーは聞いたことがないので多分大丈夫だと思うよ。 そしてgtkmmデカすぎワロタ。いったいくつdllを同梱させる気だよ。 プラグイン単体で配布して、VisualStuidoの再配布可能パッケージと gtkmmインストールしてね、というのもなあ... どこかに理想のウィンドウツールキットはないものか。
597 : GTKは糞 Qt4はイケメンだがデブ wxWidgetsは不細工だがスマート
598 : wxWidgetsもかなりメタボな気がするが ところで>>585 の文を読む限りWindowsだけの話に思えるんだが このスレの範疇のツール使う意義って何なの?
599 : あとDLLの場合に落ちるんなら 別プロセスで動かせばとりあえず動くんじゃね? 抜本的解決ではないが
600 : Windows限定でならTkもいいな
601 : ポトペタがあるとないのでは雲泥の差。 C++Builder、Qtあたりがよさそう。
602 : ここが俺の日記帳だ! gtkmmでGUIを作ってみたけど、やはり2回目以降にアクセス違反その他のエラーが出る。 詳細は違うがFLTK2, FLTK1.3, gtkmm-2.6のすべてで2回目以降にエラーが出るので、 これはもうツールキットの問題ではなく呼び出し元のアプリが悪いようだ。 他人のプラグインは恐らくWin32API直叩きだが、それはめんどいので無理。 出るとしたら2回目以降だからあきらめるしかないだろう。
603 : どうせ君のプラグインは誰も使わないんだろうしね
604 : この板の住民にとっては Qt4 とか wxWidgets とかはマイナーじゃないと思う
605 : GUIはライブラリより開発環境のが重要
606 : ポトペタ使わないで全部手書きでやってるよ
607 : GUI の配置は XML で定義出来るのが一番良いなあ
608 : FLTKの欠点はGroupの子ウィジットの座標指定がGroupの相対座標にならないことだな。 (なぜかその上のWindow相対になる) すでに改善項目としてあがっているが。。。
609 : 最近全部HTMLで済ませてるわ・・・
610 : GUIのデザインの話ね。
611 : 俺も同じく。 元々テキストエディタだけでも作成出来るほど手軽だし、 これだけ広く使われているだけあって、ツールも沢山揃っているし、 ベンダーやフレームワークに依存したお作法を強制される事もないし、 ドキュメントも沢山あって、自分以外の人間がメンテするのも容易だし、 動かすのも簡単だから、誰が相手でも気軽に配布出来るし、 今後遠い将来を考えても無くなる事はないし、規格の更新も活発だし、 周辺インフラの充実具合も半端無いし、大抵のサービスはお金も掛からないし、 色々考えると良い事しかなくて、便利に使ってるわ。
612 : >>611 同意する点もあるが それ以上にツッコミどころ満載なんだが…… 皮肉?
613 : 例えば、どこら辺が突っ込みどころ?
614 : >ベンダーやフレームワークに依存したお作法を強制される事もない >自分以外の人間がメンテするのも容易 >誰が相手でも気軽に配布出来る >今後遠い将来を考えても無くなる事はない >規格の更新も活発 >大抵のサービスはお金も掛からない この辺かなぁ 個人の感想と言えばそれまでだけど
615 : それ、何か間違ってる?
616 : 意見を聞くと黙ってしまう
617 : FoxToolKit日本語サイトもあって8時間ぐらい奮闘したが、 あまりの見た目のダサさに我慢できなくなってきた・・・
618 : FLTKでモックを作ってみたんだけど、もしかしてダサい? ツールキット変えたらかっこよくなるかな? http://www.picamatic.com/show/2011/08/12/08/24/7772591_346x367.png
619 : FLTKって日本語ちゃんと扱える?
620 : 上の画像のとおり何の問題もなく使えている。
621 : 入力も?
622 : >>618 fltk俺も使ったことあるが見た目に我慢できなくて、 結局juce library使ってる 金払わないとgplなのがネックだが
623 : ああ、入力は知らん(使わないから)
624 : >>622 http://www.rawmaterialsoftware.com/portal.php これかー。 7万円ってえらく高いけど、Qtとかに比べてもいいのかな。
625 : juceってどんな感じ? 金払ったん?
626 : >>625 かなりjavaライクというか、 Componentを継承して、Listenerを継承して、というカンジで使う かなり分かりやすい、と思った。 GUI以外にもpngやjpeg、スレッド,ogg,zip,json,xmlとか色々いたりつくせりだった LookAndFeelを設定しないと日本語がでないところ、 Tマクロがboostと競合したところがイラッとした。 ドキュメントやヘッダのコメントが本当に丁寧で色々助かる。英語だけど ただ商用ライセンスは高いよなぁ gpl2がダメならあきらめるしかない。 てか見た目がイイ qtは一回インストール失敗してから使ってないからわからないなぁ
627 : おー、ありがとう。 やっぱり有料で使うのはちょっとって感じかぁ。
628 : GPLで作って後から製品購入は Qt同様ダメなんだろうか
629 : >628 単に製品版でコンパイル仕直しゃいいんじゃないの? GPL配布分はGPLのままだけど。
630 : >>629 Qtはそれもだめってことになってるからさ
631 : >>630 >金払わないとgplなのがネックだが の事なら、Qt は LGPL だよ
632 : >>631 「*GPLで作って後から製品購入したのでは、*GPLにしかできない」 ってところさ
633 : もしソースコードの開示で悩んでいるなら、GPL と LGPL では話が大分違ってくるし、 サポートが欲しいなら LGPL 用のサポートメニューが用意されてるみたいよ
634 : LGPLで作って製品は買わなきゃいい
635 : wxWidgetsのライセンスって何なの(L-GPL)? これ使って書いたプログラムってソースコード開示する必要あるの? 教えてエロい人!!
636 : wxWidgetsってマイナーじゃないよ
637 : 過疎ってるからおいで。 【GUI】wxWidgets(旧wxWindows) その5【サイザー】 http://hibari.2ch.net/test/read.cgi/tech/1270793556/
638 : open motifが枯れてて安心じゃね?
639 : プログラマが発狂する可能性がある。安心できない。
640 : clang + motifがあれば、フリーライドで仕事できな
641 : IUPって、どうよ?MITライセンスだしタダ乗りできないかな
642 : >>641 C++のラッパーもあるなぁと思ったら、そっちは2005年で止まってた IUP自体は使い易いんだろうか? C++用に自分で書くしかないかぁ かと思えば、go用のラッパーがあったり
643 : GTK+って日本語入力まわりが貧弱だった印象があったんだけど さすがに改善されたのかな
644 : 何度でも言う GTKは糞
645 : 尿意
646 : http://xforms-toolkit.org/ ってのもあるんだ。 xforms の *.fd 形式って、fltk の fluid でも読込みこませられるみたい。
647 : .NETライクでpublic domainなGUIライブラリないですか?
648 : .NETやmonoじゃだめなん?
649 : だめなの?
650 : だめ
651 : だめだめだめだめだめよ
652 : ネイティブバイナリをはけて、C、C++用のライブラリをそのまま使える言語がメジャーにならないかなあ
653 : >>652 Objective-C
654 : それだったらC++の方がいいな
655 : >>654 さんの言う通り 一時期はDに期待してたけど Python使い始めてから Dっていらない子じゃん って気付いた
656 : こんなの見つけたんだが、お前ら的にはどう? Nana C++ Library alpha by jinhao Win32 (MS Windows), X Window System (X11) http://nanaproject.wordpress.com/ http://sourceforge.net/projects/stdex/ http://www.rhinocerus.net/forum/language-c-moderated/692330-nana-free-c-gui-library-v0-1-16-released.html
657 : 書き方はかなり好みだな。
658 : >>656 サンプルのhelloworldをReleaseビルドで実行ファイルサイズは121kb。 環境はWinXP, VC10。 wxWidgetsやQtほどの規模じゃないけど、100kb程度で収まるのは評価したい。 ボタン等、各部品は全部自前で描画してるのでOS非標準なのが個人的には 好きじゃないけど、そんなにダサくは無い気はする。ボタンの縁が少し まるまっていたり、テキストボックスにフォーカスが当たるとボーダーが ぼんやり光ったり。 なお、予想通りテキストボックスに日本語入力しようとすると入力フォーカス 位置がウィンドウ下になる。確定すると正しくテキストボックス内に収まり はするけども、現時点では日本人が使いやすいライブラリか、というと厳しい 気はする。あともうちょっとドキュメントは気合い入れて書けと。 QtやwxWidgetsに比べると非常にライブラリ作成も速くて手間がかからない ので、暇があるなら試してみて損はないと思う。 個人的にはもうちょい使ってみようと思った。
659 : 軽いな
660 : adobeのarchemyってマイナーになるのかな
661 : adobeはメジャーかもしれんが、値段が高いからな 言語を使いこなせるまでやる奴はかなり少ないだろ 要するに、マイナーで良いかと
662 : 追加していいですか ttp://sourceforge.jp/projects/azxclass/
663 : あげ
664 : スマホ対応だと、openFrameworksが有力? wxWidgetsやQtの対応が遅くて不思議
665 : GUI [goo-ee] Show IPA noun, plural GUIs, GUI's. graphical user interface. goo-ey グーイー toffee (菓子の)タフィー definition: GUI, graphical user interfaces | Motive Web ... Pronunciation. GUI is an acronym and is pronounced ‘goo-ey’ (as in toffee). A graphical user interface allows a user to interact with a computer without entering ... http://www.motive.co.nz/glossary/gui.php -
666 : OOoやlibre officeのunoはGUIライブラリに入りますか?
667 : http://katahiromz.web.fc2.com/mzc/ http://code.google.com/p/mzc/
668 : >>667 海外のハッカー連中のwebサイトで目が肥えてきたせいか、 この手の日本の中小企業っぽいダサいサイトデザインに対して憎しみを感じるようになってきた
669 : 一般的なFOSSのドキュメントと比較して、文体にエゴが入ってて見るに耐えない
670 : fc2ってだけで見る気が失せる
671 : おれネットショップをつくろうとして、ドメインを取得したことがある。 ネットショップは、できなかった。 夢をそのままにドメインだけは維持したかったけど… もう期限がきれてしまった。カネないんだよ
672 : オタクの人ってマイナーな武術を会得してたりして意外とケンカ強かったりするよね(´・ω・`)
673 : 詠春拳はオタクに必須のアイテム
674 : Windows、VisualStudio2012Expressで動くGUIで何かいいのない?
675 : wxWidgets
676 : wxWidgetsはインストール難しくない? 簡単なのがいいんだけど
677 : なんか必須機能があるなら選択肢は・・・
678 : >>676 難しくはない 面倒なだけ
679 : 他の人も間単にビルドできるようにしたいから 面倒なのは避けたいな
680 : ビルドも簡単だって 食わず嫌いはイクナイ
681 : 自分ひとりでやる分には面倒でも構わないんだけど Qtとか半日かけてビルドしているくらいだから
682 : wxは半日もかからない30分もあればOK
683 : 何か良いGUIエディタ無いかな? 適当なモックアップが作れて、xmlとかで吐いてくれると良いんだか… それを適当に自分用ライブラリへ変換して使おうと思ってる
684 : Visual Studio
685 : ドッキングウインドウとかはできないのな
686 :2013/10/02 できるのか!!
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
【超高速】C/C++に代わる低級言語を開発したい 8 (117)
MSX-BASICの奥義を伝授するスレ (782)
MVVMについて語ろう (678)
Git 7 (190)
【Lisp】プログラミング言語 Clojure #3【JVM】 (100)
スレ立てるまでもない質問はここで 129匹目 (952)
--log9.info------------------
Third Eye Blind (675)
SONIC YOUTH/SY-13.tuning (441)
フォークロック/カントリーロック (194)
【M◎D】モッズのスレ【SWINGING LONDON】 (286)
洋楽と邦楽の差ってドラッグだけだよな? (128)
【ソニマニ】SONIC MANIA 2013 part1 (142)
ロック的行動 (273)
Florence + The Machine Vol.01 (331)
LOCAL NATIVES (204)
ロック厨はなぜ馬鹿にされるのか (412)
★☆ASH☆★Part.4 (735)
【結成】 The Used6 【10周年】 (176)
@@@ Dungen @@@ (373)
西海岸ロック総合スレ (165)
The Raincoats (139)
Sufjan Stevens Part4 (134)
--log55.com------------------
女が好きな洋楽
〜川村ゆきえのすれ〜
音楽聴いて激しくダンスしてる所を家族に見られる
フィッシュマンズよりいいバンドって世界にいるの?
何故HRの要素を持つ若手英バンドは少ないのか
Public Image Ltd/Metal Boxのスレッド
そろそろRZAの最高の一曲を決めようか
メガデスのギターがJPOPを絶賛