【C++】マイナーGUIツールキット

■ このスレッドは過去ログ倉庫に格納されています
NGNG
とにかくdat落ち必死なこの話題をどうかひとつ。

関連スレ:
【GUIライブラリ】wxWindowsでのひょーん
http://pc2.2ch.net/test/read.cgi/tech/1052186697/
2007/05/27(日) 08:59:35
何で X の事を X Windows って間違えちゃうんだろうね。Windows XP を Window XP と
書いたらおかしいべ。何と言うか、作者のやる気の無さが伝わって来て食指が動かない。
2007/05/27(日) 14:40:13
触手うねうね
2007/05/27(日) 22:30:17
>>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.
2007/06/09(土) 17:10:45
>>351
AEL つう GUI 記述言語を使うのは面白そうだね。JavaFX みたい。
プラットフォームは Mac OS X と W i n X P みたいだけど、X11 じゃ動かないの?
2007/06/10(日) 19:46:10
宣言的にユーザインターフェイスを定義出来るのは良いね。
360デフォルトの名無しさん
垢版 |
2007/07/25(水) 01:07:29

2007/07/25(水) 01:12:30
FireFox の GUI toolkit を拝借すると良い感じになる様な気がする
XUL じゃなく純粋に C++ のウィジェットライブラリとして
2007/07/25(水) 06:30:51
>>361
C++や他の言語からもっと簡単に使えるようにして、
ウェブとデスクトップの境界を云々とはもう何年も前から言われてるけど、
mozillaにやる気がないっぽい。
もうだめぽ
2007/07/25(水) 09:59:58
>>362
いや、そうじゃなくて、Firefox のソースツリーの中の mozilla/widget 以下を
自分のアプリにコピって使うということ。もちろんライセンスはそこだけ MPL で。
2007/07/25(水) 17:43:27
>>362
最近GNOMEの連中がいろいろやってるな。スラドでは「ネットとデスクトップの融合なんて、
MSの二の舞になるつもりかよw」なんて煽られてたけど。

Clutterの話題なんてなかなか出てこないよね。
365デフォルトの名無しさん
垢版 |
2007/09/06(木) 10:09:02
age
366デフォルトの名無しさん
垢版 |
2007/10/15(月) 21:28:19
FoxToolkit-1.6のtests/glviewerをMacOSX(v10.4)でg++を使ってコンパイル
(OpenGLはネイティブのものを使用)すると、エラーおよびワーニングなしで
コンパイルできるんですけど、実行するとOpenGLの部分がうまく動作しません。

キャンバスを含む窓の中身が真っ白で何も描画されないのです。
二十回くらい実行すると一回くらいは巧くいくのですが、
どこが悪いのかよく解りません。なにか知ってる人はいませんか?
2007/10/15(月) 21:40:43
>>366
×ワーニング
○ウォーニング
2007/10/16(火) 02:41:14
俺も昔は、ウォーニングだよ^^、って毎回突っ込んでたけど、
cos をコウサインって書くのか? って言われてから黙ることにしてるw
369デフォルトの名無しさん
垢版 |
2007/10/16(火) 13:23:00
それで本題にはノーコメントですか?
2007/10/20(土) 08:24:31
単にOpenGLの各種設定をちゃんと初期化してないだけでは。
忘れがちな設定についてはこの辺を見れ。
ttp://homepage2.nifty.com/tooshy/document/opengl.html
2007/10/27(土) 00:16:14
Linux系のOSで、MFCのCListViewのようなコントロールが付いているGUIライブラリで、なるたけサイズが小さいのってあるんでしょうか?
2007/10/27(土) 07:09:21
>>371
FLTK
373371
垢版 |
2007/10/27(土) 13:00:29
>>372

ありがとうございます。ちょっと試してみます。

ttp://seriss.com/people/erco/fltk/Fl_Table/screenshots.html
2007/11/05(月) 01:51:52
まいなー、wxWidgetsだな
2007/11/10(土) 09:01:17
fltkとfltk2の違いってなんですか?
どちらも更新されているようなのですが、
やっぱり2を使った方がいいことありそうですか?
2007/11/10(土) 11:44:02
何をしたいかによるんじゃない。FLTK は小さいから、ソースコードを読んで
自分で手直ししながら使うものだと思う。
2007/11/10(土) 11:56:22
スタティックリンクにしてもEXEのサイズ小さくて
OSのルック&フィール(特にWindows)で
ってある?
wxWidgetsとかgtkmmとかはランタイムが巨大だしなー
マルチプラットフォームとか気にせずにWTLとかを素直に使った方が良いのかな?
2007/11/10(土) 12:33:59
誰かWTLとwxWidgetsを統合化して、超軽量のwxWidgetsを作ってくれないかなぁ。
ライセンス的にどうなるのか分かんないけど。
2007/11/10(土) 12:44:38
>>377
>マルチプラットフォームとか気にせずにWTLとかを素直に使った方が良いのかな?

Yes, that's right!!
But, 一番賢いのはサイズなんてもう気にしない事。
2007/11/10(土) 13:15:37
>>377
Java + SWTでがんばってください。

というのは冗談にしても、実行ファイルのサイズが数十kb以内なんてのはプログラム開発者の
グルーコード以外全部プラットフォームのAPIに丸投げしてなせる技だろうし、
少なくともマルチプラットフォームでってのはあきらめたほうがいいんじゃない?
2007/11/10(土) 13:30:05
> マルチプラットフォームとか気にせずにWTLとかを素直に使った方が良いのかな?

どうでもいいが、
一昔前って、
マルチプラットフォーム対応のUIライブラリで、ダサイのしかなかったよな・・・
なんで、Windowsに持ってくるとあんなにダサイんだ?というものしか。

今は、SWTなんかは、まだましだけど
2007/11/10(土) 19:35:46
Tkがダサいと申したか
2007/11/10(土) 21:03:33
Tkは普通じゃん?
2007/11/12(月) 16:42:33
>>378

つ wxForms

WTLは入ってないけど、ポトペタできてクロスコンパイルできるらしい。
2007/11/12(月) 19:57:14
Turbo C++ Explorerじゃ無理か。
2007/12/12(水) 11:25:03
保守したほうがいい?
2007/12/12(水) 23:03:56
頼んだ
2007/12/13(木) 01:26:15
お前らの連携のよさと言ったら!
2008/01/14(月) 12:44:24
めも
ttp://www.thefreecountry.com/sourcecode/gui.shtml
2008/01/20(日) 23:06:16
どなたかOMGUIのサイトの行方を知りませんか?
ttp://www.omgui.org/
(参考:ttp://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?BoostGUI)
昨年夏頃までは見れてたように思うのに、今はドメイン売り出し中って…。
2008/01/22(火) 02:21:04
>>390
ttp://cia.vc/stats/project/omgui
392390
垢版 |
2008/01/22(火) 07:31:59
>>391
ありがとうございます。プロジェクトそのものは消えてないようで助かりました。
393デフォルトの名無しさん
垢版 |
2008/02/04(月) 20:09:28
ttp://dclib.sourceforge.net/api.html#gui_widgets
2008/02/04(月) 23:33:39
こんな感じかあ
ttp://www.geocities.jp/mocchi_2003/soft_readme/dlib_patch/dlib_patch_sample1.png
395デフォルトの名無しさん
垢版 |
2008/02/27(水) 23:42:49
マイナーじゃないけど
ttp://www.tcl.tk のtk見た目がだいぶましになったな
tclに依存してなければいいのに
2008/02/28(木) 05:14:11
スクリーンショットにたどり着きにくい
ttp://wiki.tcl.tk/13636
これか
397デフォルトの名無しさん
垢版 |
2008/03/26(水) 21:10:53
FOX-Toolkitって使っている方いらっしゃいますか?
398デフォルトの名無しさん
垢版 |
2008/03/27(木) 11:17:17
使ってますよ。OpenGLも使ってます。
399デフォルトの名無しさん
垢版 |
2008/03/27(木) 22:39:58
このスレの住人なら知っていますね、あの糞開発ツールのことを

・自分のプログラムのバグなのかコンパイラのバグなのかわからない
・他の仕事に応用できない糞開発ツールの独自世界を必死に学習している
・テキストエディタで書いたほうが効率的なのに糞UIツールを懸命に使っている
・糞開発ツールを批判すると「性格が悪いから糞ツールを批判するんだ」と言われる

糞だけど、政治的な理由で無理やり使わされているんですよね。
もう、あんな厨の作った糞ツールを我慢して使うのはやめましょう。

・糞開発ツールを部下に押し付ける上司の命令は無視しましょう。
 上司は糞開発ツールが使われる実績を作ることであの会社のごきげんをとっているのです。
・糞開発ツールを使わせる上司の下では働けません、と上司の上司に直訴しましょう。
・あの糞開発ツール提供会社には「おたくの糞開発ツールは話にならない」と突き放しましょう。
 バグレポートなどしてはいけません。改善要求などもってのほかです。
 あの会社はあなたたちのことをテスター/モルモットとしか思っていません。
・あの会議で「糞開発ツールを使ったら生産性がxx%アップしました」
 なんて話が出たら力強く机を叩き、会議室を出ましょう。
 あの人たちは糞開発ツールをマンセーすることで立場を確保しているのです。

糞な開発ツールを糞だと言える、そんな当たり前の環境をみんなの力で取り戻しましょう。
2008/05/11(日) 17:40:10
trixul
ttp://trixul.com/
使ったことはないけど、本屋で少し立ち読みしたら結構面白そうだったので。
2008/05/11(日) 22:31:26
>>400 書名キボンヌ
2008/05/11(日) 22:31:46
XUL と違うんだね
403400
垢版 |
2008/05/12(月) 01:56:52
書名は「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/)の方を見た感じではまだまだ発展途上なのかな。
2008/05/14(水) 08:19:51
Fox-ToolkitってIME制御ってできない?
コピペで漢字入力はできるんだけどね。
2008/05/22(木) 12:20:00
FoxToolkitの1.7の最新でIMEの制御もできて漢字入力もできるっぽい。
406本田
垢版 |
2008/05/25(日) 06:20:45
>>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
2008/06/14(土) 21:46:52
GUIまったくわからないC++初心者が手を出しやすいGUIってありますか?
408デフォルトの名無しさん
垢版 |
2008/06/15(日) 00:03:43
とにかく標準のGUIツールを使え
マイナーなものは糞だからマイナーなんだ
2008/06/15(日) 00:22:48
標準=Qt/wxWidgets?
2008/06/15(日) 14:04:34
>>409
そのOSの標準GUIからってことじゃない?



いきなりクロスプラットフォームなんて欲張りだと思う
2008/06/16(月) 09:26:28
MFCみたいなこれって何語っていうようなカスもあるお。
2008/06/16(月) 09:58:39
Windowsで初心者なら.NET一択じゃね
ウンコウンコ言われながらも、情報量が圧倒的過ぎる
2008/06/16(月) 10:06:46
情報量は圧倒だが、アウトプットのアプリは皆無。
414デフォルトの名無しさん
垢版 |
2008/06/16(月) 13:28:18
>>413
俺もそれ不思議。

「delphiで作った有名ソフトって何があるの?」に対抗して
「.NETで作った有名ソフトって何がある?」スレないのかな?
415デフォルトの名無しさん
垢版 |
2008/06/16(月) 13:32:49
.NET(C#,C♯,C#)で作られた有名なアプリって何?
http://pc11.2ch.net/test/read.cgi/tech/1213590713/

立てました
2008/06/16(月) 13:37:21
一番好きなプログラミング言語は?
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」が一位だった。
2008/06/16(月) 21:56:13
C#はいい言語だと思うんだがなぁ…
.NETじゃくネイティブコードコンパイラなければもっと使ってるのに…
COBOL(13%)ってのはITPro(というか日経)の読者層を反映しすぎてる気がする
418デフォルトの名無しさん
垢版 |
2008/06/19(木) 23:55:15
ここにも貼っておく
ttp://torjo.com/egui/
2008/08/10(日) 00:45:15
VB6.0にCOBOLが2〜3位って、時代に取り残されたおっさん確定だろ
そんな奴らにC#の良さが分かるとは思えないw
420デフォルトの名無しさん
垢版 |
2008/08/10(日) 06:46:14
>>419
4番目にJavaはともかく、5番目にPerl/PHPだもんなw
2008/08/10(日) 08:56:54
GC.AddMemoryPressureが追加されるまでのC#は実用にならないゴミだったから仕方が無い
422デフォルトの名無しさん
垢版 |
2008/08/11(月) 04:31:35
>>417
海外だとC#で書いたものが多くなってますよね
日本じゃまだ目新しすぎてついて行けないだけじゃないかなぁ
C/C++が一番多いのは納得だけど、VB6が20%なのは厨房SE/PGが多い日本ならでわかと。
2008/08/11(月) 07:57:16
Delphiがその他のどのくらいの割合なのかが気になる上に
VB6.0て分けるぐらいならC/C++も分けるべきだったろに。
2008/08/11(月) 20:01:01
>>422
厨房がVB6なんて知ってるわけねえだろ。
2008/08/12(火) 08:25:15
>>424
はぁ?リアル池沼乙。
2008/08/12(火) 10:38:25
>>422の言葉が悪いな
厨房じゃなくてオッサンなだけなんだよ
>>416の調査のメインの対象が

>回答者の年齢構成は,40才代が最も多くて39.4%,続いて30才代が34.8%,
>50才以上が19.3%,20才代が6.2%だった

という年齢層分布で察しる
2008/08/24(日) 00:05:28
gtkmm
2008/08/25(月) 00:03:40
だれか、使いやすいのを作ってくれ
2008/09/05(金) 22:59:18
>>426
でも20代なんてカネ稼いでない層だろ。
仕事でも無いのにプログラムを書くような人間が多い時代でもないだろ。

今の20代が10年後に何を好むのかは気になるけどな。
2008/09/06(土) 00:25:07
>>429
> でも20代なんてカネ稼いでない層だろ。
え?
現役で「プログラマ」をやってるのは圧倒的に20〜30代が多い、でしょ?
少なくとも日本では。

業界にもよるが、基本的にプログラマは下っ端の兵隊で、高級なデベロッパが
ほとんど存在しないという文化だからね。
2008/09/06(土) 02:22:15
>>430
20代。
いわゆるプログラマではほとんどカネが稼げない現実もあるだろうなぁ。

稼げないと好きになんてならないだろうに。
432デフォルトの名無しさん
垢版 |
2008/09/06(土) 02:59:58
脱しようと今起業しているがなかなかプログラムだと稼げないね
今年入った収入は1万8千円
受注仕事やるといいんだろうが、起業している意味ないしなあ
2008/09/06(土) 03:16:16
1万8千円って俺の月収より低いな
2008/09/06(土) 10:49:21
携帯ゲームあたりだろうか
2008/09/06(土) 23:25:16
WTL
436デフォルトの名無しさん
垢版 |
2008/11/07(金) 23:19:54
自作してみたいんだが、どうすればいい?

環境は WindowsXP で VC2008EE
2008/11/08(土) 01:28:14
既存APIのラッパーを作ることから始めてはどうか
2008/11/08(土) 01:31:14
質問する段階なら、APIの薄いラップのみでいいんじゃない
物足りなくなったら、他のツールキットがどういうアーキテクチャになってるか
調べて取り入れるとか

あと、オレオレライブラリの類は、演習と割り切って作らないと前に進むのが遅くなるよ
結局、既存のツールキットを使ったほうが便利な場面も多いし
ってこのスレで言うことじゃないなw
2008/11/08(土) 01:33:29
ボタンもリストも基本はWindow。その辺はググれば出てくる。
多くの人間が通る道として、それらをC++でラップしたコントロールを作る。
そしてメソッドで対応するのが面倒になり、GetHwnd()とか作ってごまかして終了する。

VC2008EEで生産性を追及してGUIを自作したいなら、個人的には
ResEditとかフリーのリソース作成ツールが吐き出したソースを
サポートする形にするのが良いかと。
2008/11/08(土) 17:29:15
ふむ、アドバイスdクス
まず、ラッパからやってみるよ。

できたら晒しにくるよ。
441デフォルトの名無しさん
垢版 |
2008/11/08(土) 22:08:18
ラッパやってみたけど、うまくいかない。。orz
アドバイスくれorz

http://www.geocities.jp/hoge12make/
置き場を↑にする
2008/11/08(土) 22:30:22
メンバ関数名にまでWindowは付けなくていい。
あとメッセージループもメンバ関数にしたらどうだろう。
エラーの原因はポインタの扱いだから、
その辺復習しながら作るといいよ。
2008/11/08(土) 23:43:45
久しぶりにネット繋いだらVC++6.0に怒濤のごとく更新入った
2008/11/08(土) 23:53:16
>>442

アドバイス有難う。
うまく表示できた。


さて、ウィンドウの表示はできた。

次は、
LRESULT CALLBACK WindowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
の中でしているのをどうするかだ。。。

ここで、メッセージループをしているのをどうにかしたい。
じゃないと、ラッパを作る意味がないきがする。
2008/11/09(日) 00:13:01
>>444
WindowインスタンスごとにVirtualAllocで確保した領域に
ECXにthisを入れてメンバのWndProcに飛ぶコードを動的生成して
それをRegisterClassExでコールバックとして渡しておく。
そうすればWindowsが直接メンバ関数を呼んでくれるようになる。
あとはそれをOnXXXとかのvirtualなハンドラに飛ばして、
必要に応じて外部に委譲させておけばおk。
2008/11/09(日) 01:47:00
>>445

ググって、VirtualAllocこれが何かはわかった。
(呼び出し側プロセスの仮想アドレス空間に領域を確保)

が、そのほかの部分がわからない。

もうちょっと噛み砕いてお願いしたい。
2008/11/09(日) 02:04:48
とりあえず他でやって欲しい。
2008/11/09(日) 02:05:45
マイナーGUI(ラッパか・・・)作ってるからいいんじゃね?
2008/11/09(日) 02:27:18
>>446
君がどういうレベルかわからないと説明は難しい。
stdcallとcdeclは知っている?
clのABIはthiscallでECXにthisが入るのは知っている?
2008/11/09(日) 02:41:11
私のレベルは、簡単なものならAPIをガリガリでモノを作れる。
MFCは使ったことなし。

>stdcallとcdeclは知っている?
これは名前は知っている。

>clのABIはthiscallでECXにthisが入るのは知っている?
これは、知らない。
cl・・・コンパイラ?
ABI・・・アプリケーション・バイナリー・インターフェイス?
thiscall ≒ cdecl?
ECX・・・アセンブリは全く知らない

つまり、アセンブリを知らないとできないってこと?orz

2008/11/09(日) 03:14:18
>>450
アセンブリと言っても別に難しい知識は必要ない。
C言語が使えるんなら、レジスタとスタックの操作、
つまりmovとpushくらいは3分でわかるはず。

そして引数がスタックに積まれることが理解できれば良い。
そのスタックをどこで戻すかの違いがstdcallとcdecl。
インスタンスメソッドに対してはインスタンスが引数として扱われる。
それがcl(VC++のコンパイラ)ではECXで渡されるということ。
ちなみにgccだと第一引数としてスタックに積まれる。
こういう呼び出し規約のことをABIと呼ぶ。

なぜこんな知識が必要か?
それはインスタンスメソッドに対してコールバックさせるため。
実際にATLではこの方法が使われている。
ハッシュで済ませるんなら必要ないんだけど、
外部に委譲させるときに悩むことになる。
2008/11/09(日) 03:23:19
ふと疑問に思って昔作ったGUIクラスをひっぱりだして覗いてみたら

SetWindowLong( hWnd, GWL_USERDATA, (int)this );
みたいな感じのを使ってた。ハンドルと32bitデータを関連付けられるらしい。
で、Windowプロシージャで
GetWindowLong( hWnd, GWL_USERDATA );
を使って、ハンドルから対応クラスのポインタをひっぱってきて
Window別のイベントを処理してた。なつかすぃ。
2008/11/09(日) 03:33:48
>>452
その方法だとたとえばウィンドウ上でIMEの入力をしているときに
候補の上でホイール回したりしてIMEが作ったhWndが飛んでくると
不正なポインタに飛ばすことになって落ちるよ。
結局、登録されたhWndかどうかチェックするとハッシュになってしまう。
2008/11/09(日) 07:15:09
>>445
ウィンドウインスタンスごとにRegisterClassExって何か違うと思う。
ATLでやってるのは、StartWindowProcってのを登録しといて、
StartWindowProcの中でサンクつくって、次回以降はそれが呼ばれるようにする、っていう方法だったと思う。

>>453
俺はIME触ったこと無いから実際はどうなのか知らないんだけど、
そんなことがあったらそれIMEのバグじゃねーの?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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