[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 12/23 01:20 / Filesize : 236 KB / Number-of Response : 809
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【GUI】wxWidgets(旧wxWindows) その4【サイザー】



1 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 21:49:20 ]
クロスプラットフォーム GUI ライブラリの wxWidgets (旧 wxWindows)についてのスレ。

本家
 www.wxwidgets.org/
wxWindows日本語プロジェクト
 wxwindowsjp.sourceforge.jp/
Let's wxWidgets
dot-gray.s33.xrea.com/
wxWindowsで始めるC++ GUIプログラミング
www.h3.dion.ne.jp/~k5_n/wxwin/
wxWidgets でクロスプラットフォーム GUIアプリを作ろう
0xcc.net/pub/uu-2004-08/


116 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 09:18:59 ]
wxWidgets 2.8.9 リリースされたみたい。

117 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 10:15:22 ]
コンパイルするのまんどくさいんで
誰かランタイムとヘッダだけまとめて配布してくれ

118 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 10:19:43 ]
>>115
圧縮されてるから圧縮されないんじゃないよ
均一にどの視点から見ても完全にランダムなデータになってるから圧縮出来ないんだよ
同じデータでも圧縮する前に可逆な方法でランダムに入れ替えたデータでやるとまったく圧縮出来ないよ
圧縮率の上下はいかにランダム性を生ませないような構造にデータを持っていくかが味噌なんだ
最近の圧縮アルゴリズムなんてとっくの昔にエントロピーなんて越えてるし

119 名前:114 mailto:sage [2008/09/23(火) 17:35:09 ]
>>115
pythonの場合はスクリプトなので起動時のロード時間が
非常にかかります。wxWidgetsのライブラリは
テキストが多く含まれているので圧縮すると半分くらいの
大きさになりロード時間がかなり削減できます。
今回は圧縮率よりもロード時間を気にしています。

念のために。UPX圧縮による実行時のメモリ浪費は
気にしなくて結構です。


120 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 17:53:39 ]
スレ違いで申し訳ないのですが、widestudioを使ったことがある方っていますか?
IDEも付いている至れり付くせりな感じなのでいいんではないかと思うのですが、あまり稼動実績が見当たらないのですよね。
wxWidgetsと比べてどんな感じかとか、使ったことある方いらっしゃったら教えて頂けると嬉しいです。

121 名前:120 mailto:sage [2008/09/23(火) 18:02:58 ]
すいませんwidestudioのスレあったのでそっちいきます。。
と言ってもここでも色々意見頂けるとありがたいのですが。

122 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 03:36:42 ]
widestudioはwx以上に使われてない感があるな〜
見た目がOS標準じゃないのがちょっと・・・
OS標準よりもかっこよければ、非ネイティブでも許せるんだけども


123 名前:デフォルトの名無しさん [2008/09/25(木) 13:45:50 ]
>>116
おっ、まじですか
そろそろ汎用的なXMLPerserキターかな?一寸見てこよ。

つか、>>91-93が完全に空気になっているのに吹いた。

124 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 20:11:40 ]
>>122
ありがとうございます。
うーん、やはりそんな感じなんですね・・



125 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 13:43:04 ]
WxWidgetsについて質問させてください。

Windows上で、WxRubyを使ってアプリケーションを作っているのですが
そのアプリケーションの中で、時間のかかる作業(多くのファイルのコピー)を始めると
作業中にウインドウが固まってしまいます。
(ウインドウ上のボタンが押せない&他のウインドウをアクティブにすると、元のウインドウを表示できなくなる)

定期的にupdateメソッドを実行してみたりもしたのですが
表示が更新されるだけで、固まる問題は解決しませんでした。

WxWidgetsにおいて、時間のかかる作業をやりたいときの
定石のようなものはないでしょうか?

126 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 14:04:17 ]
処理を分割してタイマーか何かで少しずつ進めるか、処理を別スレッドにする。
wxWidgetsに限らず大抵のウィンドウシステムではこうなるわな。

127 名前:125 mailto:sage [2008/10/01(水) 15:40:25 ]
ありがとうございました!
Rubyスレッドの中で処理を実行して、WxTimerで10msおきにスレッドに処理を回すことで
余裕を持って動くようになりました

128 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 20:22:11 ]
MinGWでwxwidgetsをコンパイルして使えるところまで来たと喜んでいたんですが、
簡単なサンプルで
C:/wxWidgets-2.8.9/include/wx/chkconf.h:103:9: #error "wxUSE_DYNLIB_CLASS must be defined."
C:/wxWidgets-2.8.9/include/wx/chkconf.h:111:9: #error "wxUSE_EXCEPTIONS must be defined."
C:/wxWidgets-2.8.9/include/wx/chkconf.h:119:9: #error "wxUSE_FILESYSTEM must be defined."
C:/wxWidgets-2.8.9/include/wx/chkconf.h:127:9: #error "wxUSE_FS_ARCHIVE must be defined."
C:/wxWidgets-2.8.9/include/wx/chkconf.h:140:9: #error "wxUSE_DYNAMIC_LOADER must be defined."
C:/wxWidgets-2.8.9/include/wx/chkconf.h:148:9: #error "wxUSE_LOG must be defined."
・・・
というようなエラーが出てします。原因は何が考えられますか?

ちなみに付属のサンプルはmakeコマンドでビルド出来ました。コンパイル時の
オプションの問題なのでしょうか?

129 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 11:12:59 ]
>>128
MinGW 使ったことないから外しているかもだけど
setup.h は include している?

130 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 11:25:01 ]
`wx-config --cxxflags --libs`とか?

131 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 11:45:58 ]
>>128
samplesフォルダのminimalはコンパイルできる?

132 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 11:47:49 ]
ああ、makeで出来たって書いてあった、すまん。
コンパイル時に打ったコマンドをさらした方がよいと思われ。

133 名前:128 mailto:sage [2008/10/02(木) 14:05:05 ]
レスありがとうございます。
windows上でプログラム作るときは、やはりVC++使ったほうがいいのかなと思って
開発環境を変えようかなと思っています。
>>129
setup.hはインクルードしてませんでした。たぶんコレが原因…
>>132
make時は、
ttp://wiki.codeblocks.org/index.php?title=Compiling_wxWidgets_2.8.6_to_develop_Code::Blocks_(MSW)
を参考に、mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release
を使ってました。コンパイル時にはNetBeansを使っていたのですが、もうアンインストールしちゃったので分かりません。
NetBeans、もっさりしすぎです・・・

134 名前:128 mailto:sage [2008/10/02(木) 14:15:34 ]
連投すみません。setup.hが原因の場合、includeパスにwx.hがおいてあるフォルダを
設定していたら、そこにsetup.hを放り込んでおけば良かったのでしょうか?

サンプルのminimalをmakeは出来たのに、自分でコンパイル出来なかったということは、
インクルードパスの設定が不十分でsetup.hが見つからなかったことですよね。たぶん



135 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 17:56:59 ]
>>134
wxは複数のバージョンや条件(Unicodeだとかデバッグだとか)でビルドしたライブラリ
を置いといて、wx-configにオプションを与えることで設定通りの条件のsetup.h
だとかライブラリだとかが使われるコンパイラ引数を出してくれるようになってる。
なのでsetup.hを手前で適当に放り込むなんてのはしない方がよい。
ファイルがどこにあるか調べ上げて自分でパスを列挙するなんてのとは違う。

136 名前:134 mailto:sage [2008/10/02(木) 19:11:22 ]
>>135
wx-configはちょっとしたプログラムを作るためのもので、まともなプログラムを
作る場合はmakefileにインクルードパスなどを細かく書くものだと思っていました。

`wx-config`はcygwin,linuxあたりでは使えると思うのですが、windowsの
開発環境(VC++,eclipse,netbeans等)で、コンパイルオプションに指定して
動くものなのですか?

137 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 19:21:13 ]
もともとMinGWって言ってるじゃねーか。
なんでVCが出て来るんだよ。

138 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 19:39:53 ]
> まともなプログラムを作る場合は

もっとマシな人間をアサインする

139 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 19:47:32 ]
>>137
確かに、それは私が悪いんですが、wxwidgets自体がクロスプラットフォームな
ライブラリじゃないですか。そうすると、VCで使う人もいるだろうし、
VCの場合はどうするのか気になったんです。

結局、'wx-config'はcygwin上からでしか使えないのですか?


140 名前:132 mailto:sage [2008/10/02(木) 19:51:52 ]
wx-configは、makefileに細かく設定するのがめんどくさいから使うもの。

wx-configはWindowsのコマンドラインからは使えないので、使えるようにするためのツールがMSYS。

MSYSからwx-configを使ってコンパイルしてみなされ。

ちなみにwx-configをくくってるのは半角のバッククォートだよ?Shift+@で。コマンド置換とかで調べてみ。
gccのオプションとかについても調べましょう。

141 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 20:06:45 ]
>>140
回答ありがとうございます。
バッククォート間違ってたorz

どうもいくつか腑に落ちないことがあって、ヘッダファイル除いてみたり
してたんですが、根本的に間違えてるかもしれないです。足掻いてみます。
お騒がせしました。


142 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 11:02:20 ]
>>139
VisualStudio の場合、基本的には.dspなんかを使うんだけど
それが build/msw フォルダに入っている。
で、その中で include パスの設定なんかが入っているので
そのままコピーするなり好きなように設定すればOK


143 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 23:14:11 ]
WxWidgetsってIDEで使うの難しいよ。
私のスキルがないのもあるけど、今までEclipse+CDTやCode::Blocksと
環境づくりができなかったよ。もっと簡単にできないと普及しないんじゃ
ない?wxDevC++は簡単だったんだけど、デバッグに難ありじゃ使えない…。

144 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 23:27:38 ]
今、wxDev-C++のサイト見てきたけど、Web Update したら Ver7相当になるのかな?
そろそろ、バージョンアップの日は近い??



145 名前:デフォルトの名無しさん [2008/10/06(月) 22:31:49 ]
いや、普及しないのはきっとバイナリが馬鹿でかくなるせいだ。
ちょっとしたアプリでも2M以上になるんじゃ恥ずかしくて公開できない。

146 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 23:04:03 ]
今時実行ファイルがでかいぐらいで恥ずかしがることもあるまい
.NET Frameworkが必要と言った瞬間に文句を付けてくるような奴がいる世の中だ
別途インストールが必要ないのは利点だぜ

147 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 23:33:03 ]
.NETの必要な400KBのプログラムよりは
単体で動く4MBのプログラムの方が良い

148 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 06:34:26 ]
.NET嫌いのエンドユーザーって、実際的なことではなく、
「こう言っとけば"わかってる奴"みたいに響くらしいぞ、うひひ」
的な動機で文句言うからなぁ。
毎度文句を言うくらいならランタイムをインストールしたほうが早いのに、
意地でもそれをせずに「.NET対応だと困る自分」を死守してるだろ、彼らw

149 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 08:28:52 ]
>>148
そのインストールが面倒だから文句言ってるんだよ、分かれよそのくらい
インストールだけで時間かかるし
バージョンアップが必要になることも多いし
別PCで動かそうとしたときに面倒だし

150 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 09:06:41 ]
>>149
インストールより「.NET対応だと困る状態」を維持して
毎度毎度困り続けるほうが面倒だろって言ってるんだよ、分かれよそれくらい。

151 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 09:10:22 ]
初回起動が遅いのが.NETの最大の難点だと認識している
二番が移植性、インストールの問題は三番目

152 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 09:10:57 ]
.NETの要る要らないでソフトの作者を叩いたり
ネットで喧嘩したりする時間とやる気はたっぷりありますが、
インストールする時間とやる気はまったくありません、それくらい分かってください。

とか言われても、「分かりません」としか言い様がないんだよね。

153 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 09:13:23 ]
>>151
初回起動の問題が圧倒的だよね。
そういう「実際的な問題」なら話はわかるし、俺もそれは好きじゃないから、
.NETは趣味の開発では避けてるよ。

154 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 09:23:03 ]
>>150
仮にWindowsユーザー全員がインストールしたところで、.NETの方がバージョン上がるから同じ事だ



155 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 09:38:57 ]
それが同じじゃないことに気付かないのは>>148の内容の人ですね、キミは

156 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 10:14:45 ]
もう既に、この会話のほうが、インストール作業より時間的にも長く
キーボードを叩く量=人間側の労働コストも多くなってるからね。

これは自発的にやれるけど、インストールはやれません、は通用しないよ。

157 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 10:15:14 ]
>>152
何でマイクロソフトは Windows Update で強制的に .Net をインストールさせないんだろう?そしたらこういう文句もでなくなるはずだよね。

158 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 10:27:25 ]
ヒント:M$は製品にドトネトを使わない、MFCを使わない、VBを使わない

159 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 10:28:50 ]
>>157
Vistaでプリインストールされているので自然に普及するという計算だった
しかしそのVistaがあんまり・・・

160 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 10:46:09 ]
ヲイヲィ、変な門すすめんじゃねーよw

ヂャヴァ以下じゃねーか(怒

>ttp://pc11.2ch.net/test/read.cgi/prog/1143203111/863
>VB.netがしょぼすぎるんでC#.netを始めた。
>Javaと同じ割りに選択肢が乏しくてメリットがないように感じる。
>俺、間違ってるかな?

161 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 11:01:39 ]
先ずはM$に製品にドトネトを使うように説得してみてはどうだろうか?
話はそれからだ。

162 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 12:33:54 ]
誰も勧めちゃいないと思うんだが

163 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 13:01:55 ]
たしかにドトネトを勧めるなんてテラ悲惨すぐる。
そんな痛い香具師いねーかw

164 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 19:48:04 ]
なんか本題からずれてきてるぞ
問題はWxWidget使った実行ファイルのサイズだろ



165 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 20:33:30 ]
wxTNGがリリースされれば、ファイルサイズはWTLなみに小さくなるはず。
ttp://wiki.wxwidgets.org/Development:_wxTNG


166 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 22:46:13 ]
なんでこんなに盛り上がってるんだw

167 名前:デフォルトの名無しさん [2008/10/09(木) 19:02:42 ]
>>143
NetBeansで出来た。他のIDEでもいけると思う。コンパイラとリンカのオプションに
wx-config --cflags と wx-config --libs で出力される文字列コピーしてウマー
NetBeansの場合、Runで実行するときにはLD_LIBRARY_PATHに共用ライブラリしていしないといかんけど


168 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 03:02:54 ]
>>165
wxTNGの完成予定時期ってどっかに書いてる?

169 名前:165 mailto:sage [2008/10/10(金) 07:52:16 ]
>>168
本来はwxWidgets3.0で対応する予定が、3.0では却下されたみたい。
ttp://garrys-brain.blogspot.com/2007/11/wxwidgets-30-in-new-year.html

次々メジャーバージョンの4.0では対応してくれると信じたいけど…。
あと、ちゃんと読んでないけど、wx-discussでの関連すると思しき記述。
ttp://lists.wxwidgets.org/pipermail/wx-discuss/2007-October/thread.html

170 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 01:38:46 ]
>>169
しばらくは現状の仕様のままということですか。
3年後くらいには出てるかもしれないね。
まあ、今のままでも若干MFC臭がするくらいで、そう不便でもないとも思うが。

171 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 12:56:58 ]
>>167
すいません。wxのコンパイルから、NetBeansの環境設定まで
初心者に分かり易く書いてもらえないでしょうか。

実行ファイルのサイズが大きくなるのは全然平気。使う側も意識しないだろうし。

172 名前:167 [2008/10/11(土) 17:41:22 ]
>>171
どこら辺が分からない?
全部書いてもいいけど、長文になるだろうから質問に答えていく感じの方が



173 名前:171 mailto:sage [2008/10/13(月) 01:11:57 ]
NetBeans wxwidgets でぐぐったら良い記事見つけたので
良いや。それ見て、eclipse+CDT+MinGW+msys+WxWidgetsで
環境できたし。

174 名前:デフォルトの名無しさん [2008/10/13(月) 08:34:47 ]
NetBeansじゃねぇw NetBeansはMakefile書かなくていいから楽だけどなぁ



175 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 09:14:31 ]
>>173
結局、お前には
「ググレカス」
って返事しとけば良かったってことだな

176 名前:デフォルトの名無しさん [2008/10/19(日) 14:13:35 ]
wxglade使って、骨組みだけパパッと作りたいんですけど、
ボタンなどの部品をフレーム一杯に配置するにはどうすれば
いいですか?サイズに-1,-1を設定するとOS毎のデフォルトサイズが
適用されるみたいですけど、パネル・フレーム一杯に配置する
特定のパラメータってないんでしょうか?

177 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 15:23:26 ]
>>176
サイザー内の部品について
proportionを1以上にすると、サイザーの方向に伸びる
(サイザー内に複数の部品があれば、proportionの値が大きいほど幅を取る)
Alignment - wxEXPANDをオンにすると、サイザーの方向と垂直に伸びる

178 名前:デフォルトの名無しさん [2008/10/19(日) 16:03:11 ]
>>177
出来ました。ありがとうございます。
wxGladeって書いてましたが、よく見たらwxFormBuilderでしたw。
ubuntuで適当に入れたから、wxgladeと思い込んでたけど、
今はwxFormBuilderの方がメジャーなんかなぁ

179 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 17:15:05 ]
自分はDialogBlocksが一番好き

180 名前:デフォルトの名無しさん [2008/10/22(水) 12:55:03 ]
wxWidgetsアプリのファイルサイズはまあ許容できるけど、
minimalサンプル実行時のメモリ使用量が40MB近くってどういうことだ?

$ wx-config --list
Default config is gtk2-unicode-debug-2.8

だけど、debugビルドだから?

181 名前:デフォルトの名無しさん [2008/10/22(水) 22:43:01 ]
DialogBlocksいいよな
軽いしコメント消せば余計な補完しないし
最初はテキストエディタで直接弄った箇所を
消されたりしてその良さがわからんかったけどな

182 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 00:16:17 ]
DialogBlocksの宣伝するのなら、環境構築のやり方教えてちょ。

183 名前:デフォルトの名無しさん [2008/10/23(木) 10:12:52 ]
>>182
今、試してみた。
環境がwindows+visual C++なら、dialogblocksインスコすれば
勝手にコンパイラとかの検知はしてくれるみたい。あと手動で、
Settings->Path->WXWINに、公式サイトから落としてきたwxMSWを
解凍したフォルダを設定すればいけたよ。ただ、ビルドオプションが
ReleaseとDebugしかないってのは…。Unicodeを設定する方法とかあったら
補足よろしく



184 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 14:15:51 ]
>>182
おう、興味をもってくれる人が出てくるのを待ってたぜ
ttp://www.anthemion.co.uk/dialogblocks/download.htm
で、
DialogBlocks 4.27 Developer Bundle for Windows NT/W2K/XP/Vista (Unicode).
を落としてインストールだ。
DialogBlocks、wxWidgets、MinGWがいっぺんにインストールできる

wxwidgetsとMinGWは共にデフォルトのパスにインストールを推奨
MinGWはG++とMinGW-Makeを選択すること。
Webインストールで、たまにファイルが落ちてこないことがあるが
何度かリトライすればインストールできるのでキャンセルはしないこと。
DialogBlocksからwxWidgetsをコンパイルできるのでMSYSはいらない。

すでにwxWidgetsとMinGWをインストールしている場合は
DialogBlocks初回起動時にウィザードがでてくるのでそれに従って
それらのパスを指定するだけ
Bundleをインストールした場合は自動的にパスが検知されてる

細かい選択肢がインストールの間にいくつか出てくるのでダレないこと。
知ってるかもしれないがwxWidgetsのコンパイルもえらい時間がかかるので
やっぱりダレない事。
あとDialogBlocksは言語が選べるけど英語かドイツ語しかない
だけど基本的なことは他のIDE(Visual Stadioとか)とほぼ似通っているので
なんとなくで判るはず。

これでProjectを作れるところまでいける。正味2時間ぐらい。

>>183
View→Settings→Configration→Add でいけない?



185 名前:デフォルトの名無しさん [2008/10/23(木) 17:45:16 ]
>>184
unicode設定できたサンクス。
にしても、高機能過ぎない?コンパイル出来ることにビビッたんだけどw

186 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 19:46:17 ]
結局簡単な設定とかだけで日本語が通るwxWidgets向けIDE/RADはないってことでFA?

187 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 20:56:39 ]
ないんじゃね
意味が二つ取れるけどとりあえずないんじゃね

188 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 21:54:57 ]
gccは--input-charsetと--exec-charsetで、
windresは--languageでASCII以外が通るってことみたいだから
あとはIDE/RADがSJIS or UNICODEで編集・出力できるか、
にかかってるんじゃないかと思ったのよ

189 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 01:05:42 ]
>>184
一回、インストールしてみるわ。

190 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 09:14:50 ]
>>184
超乙!

191 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 23:38:41 ]
誰か、DialogBlocksを日本語化してくれ。

192 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 10:20:10 ]
>>191
がんばれよ
ttp://www.poedit.net/

193 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 10:24:44 ]
つかさ、クレクレばっかじゃなくてもっと話題が広がる振り方ないの?
まあバリバリのwxプログラマはwxcomunityで英語で意見交換してんだろうなぁ


194 名前:デフォルトの名無しさん mailto:age [2008/11/01(土) 16:51:08 ]
してる人いるのかなぁ。
個人的にマルチバイト周りの強化して欲しいと思ってるが英語でメールするのが億劫でいまだしていない。



195 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 23:27:23 ]
>>194
「して欲しい」というのがまず間違ってるんでないの。オープンソースなのに。


196 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 00:25:42 ]
べつに間違ってはいないと思うけど
オープンソースだからパッチ書かずに要望出すな、ってことはないでしょ
パッチ出した方が早いってだけで

197 名前:194 mailto:age [2008/11/02(日) 01:40:50 ]
今んとこそこまでやれるレベルのプログラマではないので^^:

198 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 01:45:24 ]
具体的にマルチバイトのどのあたりを強化して欲しいの? >>197
ユニコードでやっとけばとりあえず問題ないとおもうんだけど。

199 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 02:51:18 ]
ユニコードが使えない環境で今更作りたくないな

200 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 03:05:30 ]
話題が広がらないのは、もうwxWidgetsが枯れてるからじゃない?
MFCからの蓄積があるから、基本的なデザインで悩むとこなんてほとんどないし、
個々のクラスの使い方もドキュメントを見れば一発だから。
wxTNGは熱くなれそうだけど、一部でしか盛り上がってないからどうしようもない。
MFC上がりのおっさんが、クロスプラットフォームな何かを
経験を生かしてさくっと作るライブラリってことでいいじゃない。

201 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 03:54:45 ]
ML読んでればわかるけど、文字を表すのに1バイトで足りない文化圏の人は素直にUnicodeビルド使ってねというのがVZたちの基本的スタンスよ。

202 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 22:51:35 ]
VZってVadim Zeitlinのことだよね
Samplesでよく見かける
関係ないけどこの人たちが8年前に書いたソースで勉強してるんだなあと思うと
先駆者との距離の開きに焦りを覚えるよ

203 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 23:42:27 ]
まあUnicode使用は妥当だろうな。
ShiftJISはダメ文字問題が面倒臭すぎる。

204 名前:デフォルトの名無しさん [2008/11/04(火) 02:27:04 ]
Unicode問題、よく言われてるけど、
正直、いまのままでもあまり困ってない。
(wxString て言ったって、setup0.hを変更すれば std::stringになるのだし・・・。)
具体的に、何に困ってるの?




205 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 06:50:39 ]
ライブラリのビルドで--disable-threadsをつけるのが常みたいですが
スレッド作らなきゃいけない場合どうしてますか?

206 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 13:59:57 ]
結局Mac OS X でwxする場合、どの開発環境が良いんだろうね?

207 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 17:03:52 ]
正直ほかの環境で wx で書いて出来たものを持ってきてからコンパイルして
微妙にいじるのが正しい気がする。
OS X 専用なら wx で書く必然性が全くない。

wxPerl と wxPython は標準の OS X にインストールされているのでそれを使うのが正解かもしれない。

208 名前:デフォルトの名無しさん [2008/12/07(日) 03:36:00 ]
パソコン変えたので新しくwxWidgetsインストールしようとしたら./configureで失敗します・・。
windows xp professional
msys 1.0.10
mingw 5.1.3
wxMSW 2.8.8
で、MSYSから
./configure --disable-threads --enable-monolithic --enable-unicode
を実行すると

please set CFLAGS to contain the location of windows.h

というエラーが出て止まってしまいます。。
どなたかお助けください。。m(_ _)m

209 名前:208 [2008/12/07(日) 03:38:10 ]
MinGWはc:/msys/1.0/mingw にインストールしています。
CFLAGS=c:/msys/1.0/mingw/include
とかやってみてから./configure してみても変わりませんでした。

210 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 04:28:28 ]
w32apiは正しくインストールされてるのか
#それに CFLAGS はコンパイラオプションで直接ディレクトリを代入しても認識しないと思うがたぶん

211 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 05:55:09 ]
mingwを後から入れたってことだからmsysから/mingwへのパスが通ってないとか?
c:/msys/1.0/etc/fstabに
c:/msys/1.0/mingw /mingw
って入れとけば間違いないかも
mingwはインストーラーで全部チェック入ってれば問題ないと思う
あとビルドするときはビルド用のディレクトリ作って、その中から../configureした方がいいよ

212 名前:208 [2008/12/07(日) 13:45:21 ]
ありがとうございます。
いろいろ試してみているのでがまだ解決しません。
msysからgccとかでコンパイルはできるので、mingwのパスは大丈夫そうです。
./configure 途中の出力見てると、どうもSegmentation fault がでまくっている感じのようです。
これのせいかなと思うのですが、Segmentation fault ってのは要は他のプログラムと競合しているということなのでしょうか??
バックグラウンドで動いてるプログラムを停止したりしてみながらいろいろ試しているのですが・・

213 名前:208 [2008/12/07(日) 14:18:59 ]
./configureを走らせるタイミングによってエラーの結果が変わります。
一回 segment fault 吐きながらも最後まで./configure が終わったのですが、案の定make でエラー終了しました。
どうしたものか・・

214 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 14:55:01 ]
そのエラーメッセージを書かないことには・・・。



215 名前:208 [2008/12/07(日) 15:31:27 ]
エラーの内容毎回変わります・・

216 名前:215 [2008/12/07(日) 23:47:45 ]
エラー吐きまくりつつもなんとか簡単なプログラムはビルドできるようになりました。
ありがとうございました。
しかしMSYSがなんかおかしいのか・・

217 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 00:06:23 ]
>>216
それはビルドできるようになったとは言わない

218 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 10:47:15 ]
>>216
ハードディスクがいかれているんじゃない?
chkdsk してみた?
Segmentation fault ってのは例外が発生しているんだけど
普通は起きないようなエラーだから、ハードウェア的なトラブルなんじゃない?

219 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 11:57:47 ]
configureを使用しないという選択はないのか…

220 名前:215 [2008/12/08(月) 16:40:27 ]
ご親切にありがとうございます。

>それはビルドできるようになったとは言わない
wxWidgetsのインストール時にエラー吐きまくっているが、簡単なプロジェクトのビルドはできるようになったということです。
たぶんコンパイルできなかったスタティックリンクライブラリがかなりたくさんあるのでもちろんどうにかしなければと思ってはいるのですが・・

>>chkdsk してみた?
chdsk 知らなかったのでやってみたところ、破損ファイルを回復しています・・みたいのが一つでたのですが、
その後./configureしてみてもやはりSegmentation fault は出ました。
ハード的になんかおかしいってことなんでしょうか?

そもそもMSYSのインストール時点で
Couldn't reserve space for cygwin's heap
という変なエラーが出てるんですよね。
この症状は報告例があって、調べてなんとかMSYSは動くようになったんですが、
もしかしたらそのせいでMSYSが完全に正常には動かないような状態になっていて、それでwxWidgetsの./configureでSegmentation fault が出まくるのかなと思ってたのですが・・関係ないでしょうか?

>configureを使用しないという選択はないのか…
そんなことできるんですか??

221 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 23:57:59 ]
>>220
一旦、すべてアンインストールして、一からやり直したほうが早いんでないかい?

MinGW、msys、環境設定、wxWidgetsのインストール全て。

以下で親切に解説されてますよ。

ttp://labs.unoh.net/2008/09/idegui.html

222 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 03:18:56 ]
ドキュメントにmakefileを直接使う方法ってのが載ってるじゃん
俺はむしろMinGW環境ではこっちが標準だと思ってたんだけど

MSYSからじゃなくてコマンドプロンプトからになるけど
mingw\binに環境変数でPATH通してから
> cd c:\wx\build\msw
> mingw32-make -f makefile.gcc BUILD=release SHARED=0 MONOLITHIC=1 UNICODE=1 USE_THREADS=0
みたいにビルドできるよ

つか、install-msw.txtくらい読むものじゃないの…?

223 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 00:42:03 ]
結局どうなったんだ…?
つかmakefileを直接使う俺は異端なのか…?

224 名前:デフォルトの名無しさん mailto:sage [2008/12/15(月) 07:49:17 ]
wxHtmlWindowに日本語を含むHTMLを読み込ませて、
マウスドラッグで日本語を選択するときに場所によって文字が化けるんですが、化けないようにする方法はありますか?



225 名前:デフォルトの名無しさん mailto:sage [2008/12/15(月) 08:04:50 ]
ユニコードビルドにしたら改善しない?
それで駄目なら wx のソースをいじらないとどうしようもない気がする。
というか wx で日本語がきめ細かく動くことを期待してはいけない。

226 名前:デフォルトの名無しさん mailto:sage [2008/12/16(火) 03:15:54 ]
DialogBlocks固有の問題だと思うんだけれども、
wxTextCtrlの初期値に"_"が含まれてると、"%"になっちゃう。
使わなければ良いだけなので回避してるんだけど、ちょびっと気持ち悪い。

227 名前:デフォルトの名無しさん [2008/12/25(木) 05:08:59 ]
こんなに至れりつくせりなライブラリなのに
日本では全然盛り上がらないな。

228 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 09:46:19 ]
>こんなに至れりつくせりなライブラリ

どこが?

>日本では全然盛り上がらないな

海外では流行ってるのか?

229 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 09:53:38 ]
Ubuntu 8.10 で、 wxGTK ダイアログ中のテキストボックス上で Atok X で変換すると、
確定するときに Enter キーを押すと OK ボタンが押されてしまう。

GTKアプリではこんなことが起こらないから、 wxGTK の input method あたりが
何かおかしいんだろうけど、何が悪いのかさっぱり判らない。

230 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 14:28:58 ]
>>228
C++
オープン
クロプラ
日本語可
GUIウィジェット網羅
非GUI系ラッパも豊富
豊富なドキュメント
RADの充実
スタティックリンク可
多ビルド

これだけのものは他にないな。

>海外では流行ってるのか?

はい。

231 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 23:04:51 ]
>これだけのものは他にないな。
Qt ...

232 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 23:13:21 ]
流行らないのは、「クロスプラットフォームなGUIアプリ」のニーズが
少ないから

ポータブリティがタダで(犠牲なしに)手に入るのならいいが、残念ながら
そうではないしな

233 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 00:34:10 ]
宣伝してないのと日本語資料が無きに等しいからだろう

234 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 08:55:58 ]
>>231
やっぱ、Qtってメチャクチャ良いの?

クロスプラットフォームの開発にwxDev-C++でやってるんだけど、
C++ Builderには遠く及ばない感じがして。。。



235 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 14:03:04 ]
230に
ライセンスがうざくない
OSネイティブのTKで動く

も入れるとQtは却下だな。

236 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 14:41:05 ]
>>235
Mac OS X 上では ネイティブ度?は Qt のほうがマシだベ。
まあ誰も wxMac をつかってなさそうでメンテされてないからだろうけど。

237 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 19:47:15 ]
VCL
○C++(少しDel臭いがMFCよりはマシ)
×オープンソース
×クロスプラットフォーム
◎GUIウィジェット
◎非GUIラッパ
○ドキュメント
◎RAD
○スタティックリンク可

MFC
○C++(かなりインチキ臭いマクロとか多いが)
×オープンソース
×クロスプラットフォーム
×GUIウィジェット
○非GUIラッパ
○ドキュメント
×RAD
○スタティックリンク可

WTL
◎C++
◎オープンソース
×クロスプラットフォーム
×GUIウィジェット
○非GUIラッパ
×ドキュメント
×RAD
○スタティックリンク可



238 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 19:47:55 ]
誤爆った

239 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 21:23:30 ]
なんでスタティックリンク可不可って問題なの?
Windows でもインストーラ書けばいいのでは?
Linux だったら .rpm とか .deb でいいし、
OS X なら .app パッケージに全部つっこめばいいよね...

240 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 00:28:37 ]
ある時見つけた便利そうなソフトがインストーラしかないと知ってスルーした経験ない?

241 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 01:14:27 ]
できないよりはできたほうがいいな。

242 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 10:54:50 ]
>>240
ないけど...
ていうかインストーラ無いやつは Program Files 内に入らなくて
自分でフォルダ管理しないといけないからウザイ

243 名前:デフォルトの名無しさん [2008/12/27(土) 15:19:17 ]
会社とかで、さっくりと作ったアプリを
もらった時とかに、インストーラーがあると逆にうざくて
しょうがないときとかない?

何で、わざわざインストールが必要なんだ?とか

244 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 15:57:20 ]
そんなことより Windows Update がうざい



245 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 16:13:48 ]
ちょっと試してみるだけだったり、気に入らなければすぐアンインストールする
つもりのことが多いから、インストーラ無しのほうがいいな

フリーウエアでインストーラ付きだと、インストールするのをやめることもある
いやな予感がするときとか

246 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 16:23:45 ]
インストーラが本当に必要なレベルの大型ソフトなんて個人では作らんよ

247 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 17:01:06 ]
あとスタティックリンクできないと
なんのライブラリつかってるかもろばれじゃん。
有用なライブラリは同業者に教えたくないし。

248 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 17:33:01 ]
>>247
その発想はなかったわwww

249 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 19:53:37 ]
そうか、インストーラ拒否症のひとって多いんだな。
自分がそうでないからわかってなかったが、
今後はスタティックリンクするようにしよう...

250 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 21:50:07 ]
それにしたって、実行ファイルと同じフォルダにdll詰めてzipで配布すりゃ良いんじゃないの?わざわざスタティックリンクしなくても。

>>247
さすがにそれはねーよwどんだけ情報弱者の同業者想定してんのw
そのしょぼい独占欲で守られる利益なんて大してねーよw

251 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 23:52:23 ]

やたら巨大なライブラリの一部の機能しか使わない時なんかは、
サイズ的にスタティックリンクの方が効率いいかもしれん。
まあ、そんなにサイズを気にするご時世じゃないけどね



252 名前:デフォルトの名無しさん [2008/12/28(日) 01:48:53 ]
スタティックリンク最大の利点は精神衛生上
ちょっと一端のプログラムを一人で作りあげた感を得られることだろう。
Windows慣れしてると、なんか変なdll置いてあるだけで
どことなく「ライブラリ頼りのトーシロ」感がかもしだされてしまう。
それよりはやっぱり実行ファイル一つ、のほうが気持ちいい。

253 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 03:12:08 ]
Windows自身がライブラリの塊じゃん

254 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 04:11:19 ]
実行ファイル一個で済む方が気分が良い



255 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 06:44:07 ]
動的リンクなら、ライブラリに脆弱性が見つかったときに
そのアプリがメンテされて無くても対応できる可能性が!

いや、まずないけどね

256 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 11:10:28 ]
>>252
ひとによって考え方が違うのは承知の上で聞くが、
全然わからん。プログラム書いた本人は
何のライブラリ使ったか覚えてるわけでしょ?
見た目だけちがうだけでなんで気持ち良かったり気持ち悪かったりするの?

257 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 13:32:06 ]
windowsユーザーの意見だけど……

dll使用が嫌われるのは「俺のPCのシステムに変なの仕込むな」つうことだけでしょ?
dll hellとかも嫌だし、アンインストールするときにキレイになるか判らんし。

exeと同じフォルダに仕込んどけばシステムにインストールする必要は無くなるけど、
dllのメリット無くなるしね。

258 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 13:37:21 ]
動的リンクで後から脆弱性が直せる可能性があるなら
同じように後から脆弱性を作り出せる可能性もあるのかな?

259 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 14:46:08 ]
最近はサイドバイサイドとかマニフェストとか色々めんどくさい

260 名前:デフォルトの名無しさん [2008/12/29(月) 22:37:21 ]
>>250
いやあ、それが気になるのですよ。

うちの場合、
「ダイナミックでいれたランタイムを他のアプリが勝手に入れ替えた場合の保証がとれない。」
という理由で、お試しに作ったソフト・出荷ソフトの区別なく
一切ダイナミックリンク禁止になってます。

ちなみに、うちでは工場系のソフト(VC6 MFC製)を扱ってます。

工場のマシンに勝手にアプリを入れる馬鹿がいるとは思えないので、
ダイナミックだろうがスタティックだろうが、関係ないはずなのですけど・・・。

もしかして、OSのサービスパックが勝手に更新する、Cランタイム/MFCライブラリ
に対しての評価のことを気にしてるのか?


261 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 22:54:58 ]
全然素人なんだけど、工場って WIndows つかってるの?
でかい機械をコントロールしてるときに Windows がブルースクリーンになったら
どうするんでしょう?危険でない?

Windows ベースのタッチパネル端末で良く異常終了して
エラー画面になって止まってるのをみるんだけど...

262 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 23:36:26 ]
監視端末(Windows)と機械のファームは別だろう。
端末からの信号が途絶えたとしても、安全動作するよう普通考えるはず


263 名前:デフォルトの名無しさん [2008/12/30(火) 00:23:35 ]
>>261 >>262
もちろん、機械のファームはWindowsではないですが、
監視端末はWindows2000です。XpやLinuxにするだけのメリットがないので。

枯れた技術(STLですら新技術扱い)・枯れたコンパイラーしか(いまだに、VC6だぜ)使わせてくれないから、ブルースクリーンになることは、まずないよ。

>端末からの信号が途絶えたとしても、安全動作するよう普通考えるはず

のように設計指示はしてるのだけど、実際に作ってるのがFSIの新人だから、
評価だけはしっかりやらせてる。


264 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 00:43:11 ]
なるほど!安心しました。まあ従業員の命がかかってるからそりゃ対処してるでしょうね。



265 名前:263補足 [2008/12/30(火) 01:05:15 ]
EXEが使用するDLLが、何らかの拍子で規定の場所から消えて、
同じDLL(Version違い)がWindowsディレクトリにあった場合に、
動作してしまう可能性がある。

DLLのVersionチェックとかできればいいのだけど、
Versionチェックそのものがバグってた場合や、Cランタイム/MFCランタイム
に問題が合った場合、評価したDLLのVersionと違う環境で動作してしまう。

Version差分によって修正されたDLLの場所に、
競合とかリークとか実装上のミスがたまたま引っかかって、
1%の確率で落ちたりしたら、だれが責任とるんじゃ?という問題があるのよ。
100万個作る場合、1万個の不良が出てしまう。。。

だったら、最初からスタティックにしておけば、DLLの外部要因をOSのDLLだけにしておける。
リスク軽減。その辺ってかんがえてる?



266 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 04:29:07 ]
ダイナミックリンカのバージョンが変われば問題も起こるからなぁ。
プロトコルが決まっていればいいんだが、
プロトコルが一定でない関数呼び出しみたいなものは出荷検査みたいなのに対応できない。

267 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 18:15:34 ]
>>265
まず言っとくけど、安全側に倒すってのもわかるし、DLLを強制するわけでもないぞ。

>EXEが使用するDLLが、何らかの拍子で規定の場所から消えて、
>同じDLL(Version違い)がWindowsディレクトリにあった場合に、
>動作してしまう可能性がある。
これはそういう風に依存するDLLを自動検索するよう作ってるからであって
.localファイルなりDLLを絶対パスで指定するなりすればいいんでないの?

>DLLのVersionチェックとかできればいいのだけど、
>Versionチェックそのものがバグってた場合や、Cランタイム/MFCランタイム
>に問題が合った場合、評価したDLLのVersionと違う環境で動作してしまう。
バージョンチェックがバグってたら、てそれはバージョンチェックするのはDLLホスト側なんだし
そんなバグ出るかもなんてレベルでホスト側のテスト通してるんならスタティックリンクしようがダイナミックリンクしようが
バグ埋め込みそうなものだけどなぁ。
Cランタイム/MFCランタイム側まで問題があった場合なんて言ったらそれこそスタティックリンクしようがダイナミックリンクしようがどうしようもないじゃないの。

ちなみにDllGetVersion()とかCOMとかCOM相当の自前でインターフェイスベースでコンポーネント作るとかやれば
バージョン違いでのDLLを使用することはそれなりに避けられるんじゃない?

>だったら、最初からスタティックにしておけば、DLLの外部要因をOSのDLLだけにしておける。
>リスク軽減。その辺ってかんがえてる?
その代わりテストするのは一塊の実行ファイルなりモジュールなりになるわけで、工数もテストの規模もでかくなると思われ。
全てのフローを網羅するとなったら個々のモジュール間が全て統合された場合の状態を全部網羅しなきゃならないし、
一部だけテストするとなったらなったでカバーしなきゃならない状態のテスト漏れとか起こりそうだし、
DLLでモジュールを細かく分割統治するより別側面でのリスクが増大しそうな気がする。

268 名前:267 mailto:sage [2008/12/30(火) 18:17:14 ]
今気づいたがぜんぜんwxWidgetsと関係ない話に脱線してるな。ゴメンナサイ。

269 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 16:23:30 ]
いや、おもしろいよ。どうせ閑古鳥スレだし。

270 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 16:39:20 ]
wxWidgets の場合、公式バイナリのような dll が無いので、 dll をほかの wxWidgets アプリと
共有しようとしたら違うconfigやコンパイラでビルドされた dll を使ってしまう可能性があって危険。
(C言語の場合ABIが決まってるけど、C++だとコンパイラのバージョンそろえないと怖い)
だから、wxWidgets の dll を system32 とかにぶち込む気にはなれない。

dllを共用できないのであれば、スタティックリンクにした方がいらない関数をリンクから外すとか
できるのでサイズが縮む。起動時間もダイナミックリンクがいらない分早くなるはず。

271 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 16:54:07 ]
>>267
単純に疑問なんだけど、リンク形態によってテスト工数が変わる理由がわからないんだが
単純に配布のファイルフォーマットの話じゃないの?
どっちにしろテストは全部しなきゃならんわけで


272 名前:263 mailto:sage [2008/12/31(水) 17:17:47 ]
>>267

たしかに、評価工数とかを考えると、フツーにモジュールを別にしますね。

>その代わりテストするのは一塊の実行ファイルなりモジュールなりになるわけで、工数もテストの規模もでかくなると思われ。
ええおかげさまで、ひどい目に遭いましたよ。帰れない日々が・・・。

COM形式なら、最悪IFクラスそのものを切り替えてしまえばいいので
それもありですね。

やっぱ、状況しだいなのかな。




273 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 17:40:14 ]
>>271

前に、 モジュール(DLL←→EXE)間の、
「構造体メンバのアライメント指定」が不一致が原因でメモリ壊してる
バグがあったです。と言うのは関係ないか。

どっちかというと、バイナリとしてのモジュールが違うから、
別の担当者に作業を割り当てることができるから、というのも違うな。
LIBにするのだから、IFでわけるわな。

納品される側から考えたら、DLLでもLIBでも対して違いはないですな。
作る側から考えたら、DLLの概要仕様から作らなきゃならんわけで、
めんどくさいてのはあるかも。

外注に、「DLLの要求仕様を出してないんかい」てのは、なしの方向で。


274 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 17:48:18 ]
DLLは基本的に「そうせざるを得ない」場合にしか使わないなぁ



275 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 18:09:06 ]
お前ら完全にスレ違いだが



いいぞもっとやれ

276 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 18:40:32 ]
そもそも、ネタがない・・・。

無理矢理作るか?
「wxwidgets乗ってたはずのC++Builder X ってどうなったんだ」とか?

これからやろうとしてるのだけど、
MFC製Dialogベースアプリを、
wxWidgetsのMDIの一画面にしてまともに動くのかとか?


277 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 19:11:49 ]
mfcのdllとか危険過ぎる。

278 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 23:10:02 ]
ちょっと気になった&連絡。

あけましておめでとうございます。

SVNのVCプロジェクトファイルなんだけど、
今までマルチバイトのはずだった(Debugと、ユニバーサルじゃない方)設定
が全部、Unicodeビルドになってる。。。

2.9に更新する場合は、wxString → char*変換周り、全部直さないとだめぽ。


279 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 04:24:51 ]
>>278
それ以前に、ASCIIで事足りる文化圏の人間じゃないなら、最初からUnicode使っておけよ。

280 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 13:30:08 ]
>>278
前スレとかにあったような気がするんだけど、wxWidgetsの3.0からUnicodeに統一されるよ。
詳細は以下のサイトとかが参考になると思う。
ttp://wxwidgets.blogspot.com/2007/11/looking-forward-to-wxwidgets-3.html

281 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 20:38:42 ]
wxとboostがあればもう何もいらない。
これでSOHO GUIアプリ請負で25歳月収60-70万だぜ。

282 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 21:05:10 ]
>>281
すごい。SOHOって仕事は自分で営業して取ってくるの?

283 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 23:21:46 ]
発注元の慈悲に過ぎん。あと有能な営業なら同じ仕事でも100万で取ってくる。

284 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 01:49:01 ]
マ板ネタになりそうだからこれで最後にするが

>>282
もちろんそうよ。ただ、特定の取引先と運良く良いコネが生まれたってのもある。
283のいうとおり、相手の良心に依存してるのはたしかだ。

まだwx自体が知られてなくて、それなりのGUIを作れるわりに
オープンでクロスプラットフォームということもあって
ある程度安心してガンガン技術習得に時間投資できるから
技術的精度が良かったり小回りが効いたりで客の評価は概ね高い。



285 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 02:17:40 ]
webやDB込みだよね?
スタンドアロンなアプリで60ならすごいな

286 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 02:52:57 ]
たしかにスキルがあって良いコネがあれば,そんぐらいもらえるかもなあ…
羨しすぎる

287 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 09:25:49 ]
個人は浮き沈みが激しいから最高値だけで語れないし
将来が不安すぐる

俺も学生の時に某大手商社から個人契約でやらないかって言われたけど
2年後くらいにその商社の社員の賞与が全額カットとかで
行ってたら余裕で切られてたはず

で、今はニートな訳ですが何か?

288 名前:282 mailto:sage [2009/01/03(土) 14:16:16 ]
>>287
自分も今は無職だよ。

ハローワークとかでも、ちょこちょこMFC使った案件の募集をやってる(自分は面接で落ちてしまうけど)んで、
そのままクロスプラットフォーム対応にしたwxWidgetsもそれなりに需要はあると思う。

ただ、wxWidgetsはAUIとかが今後メンテ・拡張されてくのかちょっと不安。
VS2008SP1のMFCみたいな強力なGUIとか、今後開発されるのかな?

289 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 15:28:01 ]
無職ならOSSで名を売る作業に戻るんだ
けど、OSSから職に繋がったのなんてほとんど聞いたことない

290 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 16:49:55 ]
AUIってドッキングインターフェース?
一般的なアプリでそれほど必須の機能とは思えないけど…
ドッキングできる場所が限定されれば自分で書くのもそれほど大変じゃなさそうだし
市販アプリならスキン的にやたらエキセントリックなUIにしたがるからそっちの方をなんとかしたほうが

wxWidgetsは何処ぞの組み込み系描画ライブラリ企業からバックアップ受けてるから
wxUniversalだのの、コンポーネントを自己描画する方向性ばかりが強まりそう
でもSwingでさえLook&Feelはそれほど発展しなかったのに
wxUniversalにどれほどの需要と将来性があるか個人的には非常に不明だわ

ハロワでMFC案件なんてあるんだ、行ってみようかなぁ

291 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 18:55:11 ]
こんなスレまでハロワとかの話題が出てきて
悲しい気分になってきた..

292 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 21:09:04 ]
ハロウは楽しかったなあ。俺はあんまり仮装には参加できなかったけどね。

293 名前:282 mailto:sage [2009/01/03(土) 21:22:39 ]
>>289
OSSが仕事で出来れば、それに勝る幸せはないかも。

>>290
wxMac(wxCocoa?)はMac持ってないんで良く分からないんだけど、
wxGTKではMDIがノート(タブ)形式になってしまうんで、LinuxでもMDIっぽいことを
やろうとすると何だかんだでAUI頼みになりそうな気がする。
wxUniversalは個人的には黒歴史として闇に葬り去られて欲しいんだけど、
wxPythonとかではむしろ積極的に活用されてるのかな?

>>291
ごめん、ハロワとかの暗い話題はこの辺でやめときます。

294 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 12:28:27 ]
290みたいな御託だけで何もしなさそうな奴が、無職なのはすごく納得する。



295 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 15:59:53 ]
wxBlogの方で以下の記事を見かけたんだけど、
日本語に翻訳されたものって何処かにあるのかな?

[wxBlog: Another Year of WX]
wxwidgets.blogspot.com/2009/01/another-year-of-wx.html
[The Wonderful World of wxWidgets 3.0]
svn.wxwidgets.org/viewvc/wx/wxWidgets/trunk/docs/publicity/WoWoW30.html?view=co

296 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 17:45:04 ]
>>294
御託だけで何もしないか、そうか、悪かったな。

>>295
概要だけで許せ

[wxBlog: Another Year of WX]
●2008年のwxの大きな動き
・コード書きより環境の改善が大きかった。
・sourceforgeのバグトラッカーをやめてTracを使うようにした。
・BuildBotを導入してビルドエラーを自動検出するようにした。
・Doxygenを使ってドキュメントを自動生成できるようにした。
●2008年に決定した戦略
・wxMacについてCarbonベースからαレベルではあるがwxCocoa(wxOSX)に移行を開始した。
   これにより32/64bitの両環境に対応しUnixスタイルのdynamic libraryからframeworkに移行できる。
・ライブラリの品質向上。
   これにより(長くメンテされておらず、バグが多く非互換性が強くなった)ODBCのサポートがドロップする。
   同様にかなり酷い状況だったwxSocketとwxURLがクリーンアップされた。
   全てではないがいくつかのwxGridの問題が修正された。

297 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 17:45:28 ]
(続き)
●機能追加
・wxPorpertyGridがwxWidgetsに含まれた。
・wxDataViewCtrlと関連クラスが結構良くなった。
・wxRichTextCtrlが多くの小さな修正で重要な改善を果たした。
・wxGrid/wxListCtrlのカラム表示サポートの一部としてwxHeaderCtrl、
 wxRearrangeListと関連クラスが追加され、カラムの順序変更が実装された。
・wxWrapSizerが追加された。
・wxCalendarCtrlがネイティブ実装になった。
・wxMessageDialogが改良され、特にボタンにカスタムラベルが使用可能になった。
・wxStaticTextがいくつか改良され、内容の省略をサポートした。
・wxGLCanvasがアンチエイリアスをサポート。
・AUIの主要な変更はwxAUIToolBarの追加。
・ついにwxBaseにイベントのサポートが追加された。
・忘れてるだけで他にもあるかも。
●他
・2.9.0の開発ブランチをプレビューリリースできなかった。
   Unicode関連のフィードバックを取り込むため可及的に早くしたい。
・wxButtonで画像をサポートして欲しいという要望が多い。簡単なのですぐやる。
・今年はwxOSXを完成させて3.0をリリースしたい。

298 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 17:46:52 ]
[The Wonderful World of wxWidgets 3.0]

Documentation in Doxygen
・3.0までにカスタムLaTexでドキュメントを整備する。
・ドキュメントの質を上げるためDoxygen形式を採用するが、手作業がかなり必要。
・これで3.0までに内容が見やすく正確になり、
 ビルトインサーチや多くのコントロールのスクリーンショットが含まれる。

C++ features and template support
・STLはバギーな環境・コンパイラが多かったので避けてきた。
・が、大分良くなったので以下のようなSTLが有効な部分で使用する。
   コンテナwxVector<T>、スマートポインタwxSharedPtr<T>、弱参照wxWeakRef<T>等々。
・Visual C++ 6.0のような古いシステムではwxが使えないか、機能制限される。

Platform features and backwards compatibility
・プラットフォームの新機能を取り込む一方、
 最新のシステム向けの開発を阻害しない範囲で互換性もサポートしてきた。
・特にOSXとGTK+2が問題で、10.4Tiger未満のOSXと2.4未満のGTK+2は非サポートに。
・クロスプラットフォームなDB APIは本来範囲外だろということでwxODBCはドロップ。

299 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 17:48:24 ]
Unicode: A Single Build for Everyone
・3.0までは歴史的経緯によりUnicodeビルドとANSIビルドの2つが存在する。
・WindowsやJavaはUTF-16を使いGTK+やOSXがUTF-8を使う時代になった。
・ANSIモードは削除。WindowsではUTF-16、それ以外ではUTF-8を使うことを決定。
   UnixとGTK+での呼び出しで異なるUnicode表現間の変換は不要になる。
   wxString、wxPrintf()等はUnicodeと8bit-stringの両方を必要に応じ受ける。
・wxアプリのユーザには見えないが、基礎的な変更で、3.0の主要な動機だった。

New 2D Drawing Code
・2D描画API(wxDC, wxPen等)は常にwxの一部だったが、初期からほぼ変わらず、
 単一のフロントエンドに対し多数のバックエンドが分岐して
 バイナリ互換性を気にすることなく簡単にプラットフォームの差違を吸収してきた。
・古い描画APIは多くのタスクと1990年代の描画能力に対し十分であったが、
 WindowsのGDI+やLinuxのCairo、OSXのCoreGraphics等、
 透過やアンチエイリアス、マトリックス変換といった現代的2Dシステムの
 先進的機能を使用できなかった。
・このため新描画API(wxGraphicsContextとか)が追加される。
   ビットマップでのαチャネルのサポート
   ビットマップのRAWデータへのアクセスをサポート
   定数を変更、wxMODERN→wxFONTFAMILY_MODERN、wxSOLID→wxBRUSHSTYLE_SOLID等。
・参照カウントが合理化されプラットフォームで共通になる。

なんかバカバカしくなったのでここまでで終了。
しょせん気まぐれだ、許せ。

300 名前:295 mailto:sage [2009/01/12(月) 19:19:24 ]
>>296-299
翻訳超乙。Unicode化の理由と、Graphicsの改善のあたりが良く分かった。
とりあえず、3.0は期待して損はなさそうだね。

301 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 21:10:20 ]
一服して若干気を取り直したので続きを投下。

Changes to wxBase
(訳注:wxBase自体の紹介は省略)
・wxStringとコンテナクラスには多くの変更がある。
・wxBaseの一番大きな変更はwx3.0でイベントベースのプログラムを書くための
 イベントループ、タイマー、ソケット等の追加。
・ソケットのコードは重複部分を削除、C/C++で分かれていたコードをドロップ。

302 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 21:10:54 ]
New controls and other major GUI additions for all ports
全ての修正とマイナーチェンジを羅列できないので、GUIの変更の概要のみ。
・柔軟な表現が可能なwxDataViewCtrl/wxDataViewTreeCtrlを実装。wxListCtrl/wxTreeCtrlを一部代替。
・wxGridの表形式はwxHeaderCtrlに分離したネイティブなヘッダを実装。
・wxPropertyGridの追加。
   名前-値のペアを表現する一般的クラス。
   wxDataViewCtrlと同様、数値、テキスト、リスト、フォントなどの
   組み込みのエディタ(in-place, ポップアップ、コンボボックス等)を提供する。
・wxHyperlinkCtrlをGTKでネイティブに、他では一般的方法で実装。
・ファイルダイアログのカスタマイズのためwxFileCtrlを実装。
・wxRichTextCtrlに親・子スクリプトのサポートを始め高速化など色々改良。
・wxTreeCtrlに状態アイコン表示機能追加。チェックボックス的にも使える。
・wxCalendarCtrlを刷新しMSWとGTK+でネイティブに。その他改良。
・wxTextCtrlとwxComboBoxでオートコンプリート機能を実装。
・wxAUIのクラス群にwxAUIToolBarを追加。より柔軟で自然に。
・wxBitmapComboBoxを再実装、MSWとGTKではネイティブに。
・wxBitmapToggleButtonを全プラットフォームに。
・wxStaticTextは全プラットフォームで省略表現をサポート、GTK+でマークアップ書式をサポート。
・全プラットフォームでwxListBoxの選択イベントの発起方法を書き直し精確にした。
・GTKとOSXでwxCollapsiblePaneをネイティブ実装。
・複数行に渡ってwrap可能な新しいsizer、wxWrapSizerを追加。
・OpenGlキャンバスにマルチサンプル、アンチエイリアスサポート追加。
 wxGLCanvasとwxGLContext分離。
・wxTopLevelWindowをネイティブウィンドウハンドルから構築するため
 MSWとGTK+にwxNativeContainerWindowを追加。

303 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 21:11:29 ]
wxMac specific changes (now called wxOSX)
・wxMacという呼称は廃止、wxOSXと呼称、iPhoneとiPodを一部サポート。
・Carbon, Cocoa, CocoaTouchの3つの一般コードに整理。
・OSXのCoreFoundationへのラッパでったり一般的なクラスへのラッパだったり。
・CarbonがwxMacのコアで安定していたが、iPhone対応にCocoa(Touch)が必要で、
 64bitのOSXでは非推奨となるため、現在はCarbonでも今後はCocoaにフォーカス。
・リストラクチャリングの一貫としてQuickDraw APIを使ったコードは削除。
 今後はCoreGraphicsを使用する。
・同様にOSX10.4にないCarbonの関数を使用したコードは削除。
 OSX10.4が最低動作環境になる。
・IconRefのサポート拡充。
・英語以外のロケールでのメニュー項目の重複を修正。
・ボタンにアクセラレータが使用可能に。
・CFLocaleを使用したwxLocal::GetInfo()の実装。

wxGTK specific changes
・GTK+のAPIが後方互換性がなくなって来たためGTK+2.4を最低環境とする。
・wxToolbarは新しいGTK+のツールバーAPIを使用。
・wxChoiceはGtkOptionMenuでなくGtkComboBoxを使用。
・wxComboBoxは非推奨のGtkCombでなく常にGtkComboBoxを使用。
・URLのドラッグはwxURLDataObjectで"text/x-moz-url"を使用。
・GtkPrintとCairoのダイアログを使用した新しいプリントバックエンド。
・アイドルイベントの生成コードを書き直し。
・タブの走査はGTK+でネイティブに。
・wxFrameのメニューバー、ツールバー、クライアントウィンドウとステータスバーは
 GtkVBoxを使用したレイアウトに書き直し。
・ウィンドウマネージャに帰属するウィンドウの装飾に係わらず
 トップレベルウィンドウSetSize()/GetSize()を正しく実装。
・wxYield()の呼び出しを避ける(リエントラント問題回避)ため
 wxClipboardの非同期APIを追加。
・Nokiaのタブレットで使われるMaemoプラットフォームの
 Hildonコントロールをいくつかサポート。

304 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 21:13:12 ]
wxMSW specific changes
・後方互換性が確保されており、ユーザ数が多いため最も安定しており、
 他のプラットフォームに比べ大きな変更はない。
・wxCheckListBoxがよりネイティブな感じに。
・長いツールチップが可能に。
・wxCheckBoxとwxToggleButtonで複数行ラベルをサポート。
・より正確なプリントプレビュー。
・サイズ変更可能なダイアログでリサイズグリップを表示。

以上、>>294曰く「御託だけで何もしない無職」の大雑把な訳でした。



305 名前:300 mailto:sage [2009/01/12(月) 23:38:51 ]
>>301-304
引き続きサンクス。wxOSXが結構面白そうに思えたんで、Mac Miniの中古でも
買ってみようかな。
あと、御託云々はあんまし気にしなくても良いと思うよ。

それよか、スタティックリンクでソース公開しなくてもいいwxWidgetsを使って
金儲けできると良いんだけど、クロスプラットフォームでお金になりそうなアプリって
どんなのだろ?どうにもイメージが沸かない。

306 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 07:22:12 ]
2ちゃんでちょっと煽られたくらいでむきになるようだと
実社会で辛くないか

307 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 07:46:14 ]
翻訳しただけでムキになってるとか決めつけるようだと
実社会ですぐ口論にならないか

308 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 18:05:10 ]
まぁ、どう見ても煽られたのが原動力にはなってるがな

309 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 18:18:57 ]
翻訳人は無能ではないことを証明したし
英語読めない人は3.0の改善項目がわかったし
みんな幸せってことでいいんじゃなかろか

310 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 00:58:01 ]
英語読めるようになりたいな

311 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 01:40:22 ]
これからはアラビア語の時代だけれどもね。

312 名前:デフォルトの名無しさん [2009/01/14(水) 13:11:27 ]
つまらん、次

313 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 13:56:31 ]
これからはアラビアゴムの時代だけれどもね。

314 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 22:09:16 ]
MinGWでコンパイルしたwxWidgetsを使って
minimal sampleを動かそうとしたんだが
意味不明なタイミングでSIGSEGVが出て起動すらしない

◆gdbのスタックのコピー
スレッド [1] (中断中 : シグナル 'SIGSEGV' を受け取りました。説明: Segmentation fault)   
    9 wxFontMapperBase::Get()  0x0044e816   
    8 wxFontMapperModule::OnInit()  0x00546e3b  
    7 wxModule::DoInitializeModule()  0x00478632    
    6 wxModule::InitializeModules()  0x0047878c 
    5 wxEntryStart()  0x004bb64a    
    4 wxEntryReal()  0x004bb879 
    3 wxEntry()  0x00430e9e 
    2 WinMain() KirbyClone.cpp:117 0x00401406   
    1 main()  0x005340d1    

ソースコードはほとんどそのままなんだけど、(少なくとも上に載っている関数は触ってない)
原因があるとしたらどこ?



315 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 22:13:06 ]
それにしても、今日wxWidgetsの勉強を始めたばかりなんだが、
configureのオプションをいじると恐ろしいほどビルドに失敗するね
disable系を何個かつけると高確率でmakeが止まる

316 名前:314 mailto:sage [2009/01/14(水) 22:47:14 ]
sample自体をそのままmakeすると成功するみたいだ

となると、俺が自力で書いたMakefileが悪いのかな…

317 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 10:31:46 ]
>>316
MinGW はさわったことがないので山勘ですが。
メモリマップの方法がライブラリと本体で違うとか?


318 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 19:07:46 ]
商用版とGPL版しかなかったQtにLGPL版が出たね。
static linkできないのはちょっとアレだけど、なんかで使ってみてもいいかなー

319 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 23:12:46 ]
このままじゃ対抗できないからwxもWt(ワット)に改称してキャッチーな感じで攻めようよ。

320 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 22:44:34 ]
wxWidgetsにスタティックリンクしたプログラムをgdbでデバッグする。

コンパイル時に-gでデバッグ情報をつけるわけだが、
この時にライブラリの方もデバッグバージョンを使わないといけないのか?

なんかリリースバージョンをリンクした状態でデバッグしようとしたら
gdbが異常終了するんだが…

321 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 23:46:48 ]
>>320
俺の環境ではデバッグ無しでビルドしたwxをスタティックリンクしてもgdbは問題なく機能したよ
もちろん自分で書いたソースの範囲内でね
gcc3.4.5 gdb6.8と、あとは大体新しいやつ

322 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 00:16:34 ]
>>321
gdbを6.8に変えたらちゃんとエラーメッセージが出るようになった!

んで、開発にEclipse使ってるんだが、「共用ライブラリーシンボルを自動的にロード」
のオプションを外したら何もエラーが出ずにデバッグできるようになった

gdbのバージョンが古いと勝手に落ちる、「共有〜」にチェックつけてるとgdbが落ちる、
っていう前例も見つかったわ。
両方とも結構問題になってるみたいだ。

結果的にwxWidgetsは関係なかったな…でも解決したからいいや、ありがとう。

323 名前:220 mailto:sage [2009/01/17(土) 00:26:59 ]
すいませんお礼忘れてました汗
レスくださった方々ありがとうございましたm(_ _)m
結局ディスクがおかしかったみたいでchdiskで直りました。

ところで・・QTがLGPLで使えるようになるようですね。。
正直乗り換えるかもしれない(爆

324 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 00:55:18 ]
>>323
いますぐ全部ファイルをバックアップして
HDD とりかえたほうがいいと思う

ハードディスクは消耗品だからいちど壊れはじめるとはやいよ。



325 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 06:58:04 ]
不治痛のHDDは壊れやすい
凍死場に九州されるみたいで不安

326 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 15:13:35 ]
挙動が怪しいHDDはマジやばい
ファイルシステムが壊れてるだけならいいけど
物理的にエラーがでてて代替セクタとか使い出すと
見た目普通のままコロっと逝く時があるよ

初心者でも使いやすくてHDDの状態が大体わかる
CrystalDiskInfoを勧めちゃう

327 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 21:07:43 ]
>>326
なんで急にオカマ口調なの?

328 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 22:29:44 ]
CrystalDiskInfoって確かMFCで作られてるから
wxWidgetsでクロスプラットフォーム化するのってそんな手間じゃないのかな。

329 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 01:27:50 ]
ここのところ wxpython-usersに
Subject: will Qt mean the end of wxPython ?
っていうメールがめちゃめちゃ流れててワロタ



330 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 05:56:41 ]
APIはQTのほうがすっきりしているからな。
モッサリだけど。

331 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 18:12:19 ]
少くともQtでOS毎に自然な外観提供できて
複雑なライセンス体系が無くならない限り移行はできないなあ。。

332 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 18:17:28 ]
LGPLになったんだから、ライセンス簡単だろ?

333 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 18:36:23 ]
>>332
結局商用アプリ作るとかになったら、どうせ金クレクレモードに突入するじゃん。

334 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 18:45:40 ]
LGPLだと無問題だお?



335 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 18:53:39 ]
>>334
すまん、よく調べたらそうだった。
商用版も継続するってことは結局商用には使用料とるのかと思ってたよ。

こりゃやばいなwx。。

C++でクロスプラットフォームGUIライブラリが充実する
って流れは大歓迎だけどね。

336 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 18:56:53 ]
wx使う前はイメージヨカタんだが、IDEが悪いせいかMFCっぽくコントロールに連番ふってて、ダメだこりゃとオモタ。
この辺、Qtで解消すんのかなぁ?

337 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 19:11:28 ]
統合開発環境が簡単にインストールできれば、wxも生き残れるだろうが、
今のところ、qt 優勢。

338 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 19:38:40 ]
俺はEmacs使うからIDEはいらんから、軽いRADツールがあるのが一番かな。

339 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 21:24:28 ]
良RADさえあれば一気に巻き返せそうな気はするんだが

340 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 21:31:41 ]
wxのRADって有力なのはDialogBlocksとwxFormBuilderぐらい?
俺はここ来るまでwxGladeとXRCedしか知らなかった。
ウェブ検索してもこれ以外あんまり引っかからなかったし。

341 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 23:39:01 ]
あー,そういえば最新のDialogBlocks(4.29)で
プロジェクト開ける人いる?
linuxで引数としてプロジェクトを指定すると
can't open /hoge/moge/"hage.pjd"
的な事を言われる.
ダブルクォーテーションのせいかしら.


342 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 07:37:07 ]
IDEとしての方が意味が大きいけどCode::Blocksも入るんじゃない?
ただし作業自体はRAD的でもXRCじゃなくコードが挿入される形だけどね
あのコード見るとJavaでGUI作るときの苦々しさを思い出す・・・

343 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 03:00:39 ]
code::blocksはQtのプロジェクトも組める。あれでRADに
dialogblocks程度の操作性があれば良かったんだけど。
吐くソースはcode::blocks(wxSmith?)の方が親切な気がするし。

344 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 08:45:41 ]
>code::blocks

操作感が気に入らない゚听

wx-devcppの操作感が好き。
吐き出すコードは?だけど。



345 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 03:48:17 ]
>>344
wxSmithが我慢出来ない人はwxFormBuilder使うといいよ。
イベントもconnectとEVENT_TABLE選べるみたいだし、
とりあえずSizerの領域を均等に割り振る様な事もない。
wxGlade、DialogBlocks、wxSmith、wxFormBuilderと触ってみたけど、
操作性はDialogBlocks、ソースはwxSmithがいいと思った。
ソースはユーザーの弄り易さだけで、質はまだよく判らないんだけど。

それよりcode::blocksはnightyなんて出してないで、判りやすいバグを
放置したリリース版をリプレースするべきだ。
30分も触ると落ちるのは、どうかしてる@win32

346 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 08:35:21 ]
30分さわって強制終了なんて一回も経験したことないな
特定の使い方をして落ちてるか、環境が悪いかのどちらかじゃないか?

347 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 10:44:42 ]
DialogBlocks人気っぽいから入れてみたけど
軽快だし操作感がやたらいいな。

348 名前:344 mailto:sage [2009/01/22(木) 11:37:56 ]
そんなに沢山の選択肢示されても、無理。

349 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 15:51:12 ]
>>346
環境バカはかえれ

350 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 17:09:59 ]
>>346
Thread searchタブを右クリックしてThread searchのチェックを外すと
マウスオーバーでThread searchの部品が浮かび上がる。
あるいはScript consoleタブにThread searchのレイアウト(のみ)が表示される。
その後view menuからThread searchのonoffを行えば1分も経たずに落ちる。
他にも2byte圏のlocaleを使用するとhelp pluginが動かなかったり。
30分はwxSmithとbuildのみを使用して落ちる時間。
日本語化すると少し挙動が変わるから、その辺も不完全みたいだ。
以上は自宅のwindows xp sp3及び2000sp4での話。
落ちた事が無い=ほとんどまともに使ってない、と理解する。

>>347
動作自体はかっちりしてる。editorはscintilla使ったcode::blocksの方が高機能だけど。

351 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 19:59:10 ]
>>350
日本語化して動作が不安定になるなら、英語版を使ったほうがいい
日本語版と英語版で使い勝手に差が有るなら、日本語化を行なっている作者に文句をつけるべきだ

どうやら話し口調からして、いくつか特定の「落とし方」を知っているようだから、
それらをまとめて公式のフォーラムで報告することをおすすめする
オープンソース系のソフトを「まともに使っている」と自負できる人間なら、自分で修正してビルドするのもいい

一ついえることは、ここで文句を言っても、お前を含めて誰も得をしないということだ

352 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 20:29:17 ]
>>351
トラブルは全て英語の話で、日本語化もgettextを使った物だからbuildは一緒だ。
そもそも初めて使って5分で出る症状を、1年近く経ってから一々報告してどうする。
30分じゃ落ちた事がないと、使ったこともない奴が宣ってるから、実例を上げただけで、
ある情報に対しての損得は、その人次第だろう。

353 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 22:15:44 ]
ひさしぶりにwx-Devcppのサイト覗いたらバージョン上がってるんだけど、
使っってる人いたら教えてください。正常にデバッグができますか?

354 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 23:59:37 ]
>>352
何か勝手に「使用経験なし」だと思っているようだが、
俺はCodeBlocksを使って何本かソフト作ったことがあるぞ?
それこそ強制終了など一度も経験せずに。(むしろgdbがよく落ちた記憶がある)

報告してどうするって、バグフィクスを期待するに決まっているだろう
ユーザーがバグ報告するというのはソフト制作の大事な一環じゃないか。
修正とまでは行かなくとも、バグ回避の方法が製作者から聞けることだってある。

「文句を言うという行動は生産的ではないから、自分で何かしら行動したほうがいい」
ということがいいたいのだ。

とはいっても、こんなことは2chで言うべき言葉ではなかったかもしれないな



355 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 02:38:38 ]
俺もcode::blocksが落ちたことはないな
特定のペインが表示されなくなって困ったことはあるが

356 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 20:14:55 ]
WindowsのMinGW-5.1.4とMSYS-1.0.10を入れた環境で、wxWidgets-2.8.9をconfigureした後makeしたんですが、下記のようなエラーが出て先に進まなくて困っています。

0 [main] sh 2996 open_stackdumpfile: Dumping stack trace to sh.exe.stackdump

ご助言を頂けないでしょうか。

357 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 12:10:51 ]
WindowsだったらVisual Studioでやったらいいと思うんだけど

358 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 14:05:13 ]
せっかくフリーで可搬的なライブラリ使ってるのに
Windows上でだけ特別にVSなんか使いたくないわな。

359 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 16:14:06 ]
とりあえず>>356のエラーメッセージは糞の役にも立たないわな。
役に立たないレベルでは50歩100歩だが、同様の環境でwxWidgets-2.8.7はビルド成功してるんで参考までに。

360 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 17:15:08 ]
configureやdumpの内容も書いてない状況でした。
失礼しました。
同様の環境で出来たとのお話もあったので、
ライブラリ周りを見直してみたら上手くいきました。
助かりました。ありがとうございます。

361 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 19:14:42 ]
マウスイベントでWindowsAPIのSetCaptureに相当するものってあったっけ?

362 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 19:18:07 ]
自己解決
CaptureMouse();
ReleaseMouse();

363 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 17:32:00 ]
マウスの動きに連動して描画させると
非同期に描画命令が発行されるんだけど
つまりマウスの動きに合わせてPaintイベントが何度も呼ばれる
全部処理してから最後の描画が終わるまで画面が更新されない
そのせいでマウス移動中に画面がぐちゃぐちゃになるんだが
完全に表示が終わるまでマウスを動かなくするとか
他の描画が来たらそれ以前のはすべてキャンセルさせるとか出来ないの?

364 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 18:17:32 ]
>>363
他からPaintイベントが出るなら
マウス操作中は自分だけが処理するように
OnPaintを自前で用意すればいい。

マウスの移動だけではPaintイベント出ないとは
思うんだけど…



365 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 19:45:18 ]
マウスの動きに連動して描画させると

366 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 23:14:50 ]
描画(が何してるかわからんけど)でOnPaint出たっけ?

367 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 23:23:21 ]
>>363
マウスイベントハンドラで Refresh() を呼んでPaintイベント出してるとかいった状況?
もしそうなら、Refresh() 呼んだ直後に Update() 呼べば、同期的に画面更新できるよ。
(つまり、Update() から戻ってきたときにはPaintイベントが処理されて、画面更新が終わってる)

368 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 23:39:52 ]
>>367
マニュアル見る限りではUpdate()呼ぶならRefresh()要らんと思う

369 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 23:49:37 ]
>>368
マニュアルのUpdate()のとこに、
Use Refresh first if you want to immediately redraw the window unconditionally.
ってあるから、Refresh()いると思うよ。
無効領域がない状態でUpdate()しても何も起こらないと書いとる。

370 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 23:54:52 ]
ごめんRefresh()のinsteadだけ見てた

371 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 09:11:40 ]
質問があります。
ボタンの上での右クリックイベントを捕捉したいのですが、
button->Connect(ID_RIGHT_CLICK,
wxEVT_COMMAND_RIGHT_CLICK,
wxCommandEventHandler(MyFrame::OnRightClick),
NULL, button);
としてもうまくいきません。
どうすればよいでしょうか。

372 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 12:28:29 ]
>>371
OSは何? wxEVT_COMMAND_RIGHT_CLICKは Windows 95 and NT のみサポートらしいよ。
wxEVT_RIGHT_UPあたりで妥協しとくのが無難かもしれん。


373 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 12:36:07 ]
>>371
あ、Connect() の最後の引数はbuttonじゃなくて、thisとかじゃない?
eventSink引数には、イベント発生元オブジェクトじゃなくて、イベントハンドリングするオブジェクトを渡す。
だから、この場合はMyFrameオブジェクトを渡さないといかんです。

374 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 15:19:10 ]
>>372
OSはWinXP Home Editonです。wxEVT_RIGHT_UPにするとイベントを捕捉できました。
ありがとうございました。
>>373
eventSinkにはMyFrameオブジェクトをわたせばいいのですね。
ありがとうございました。



375 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 18:50:14 ]
タイマーイベントを使っていて反復実行している時
処理が混みだすとイベントがキューに溜まったような
状態になり他のイベントをリアルタイムに実行できなく
なります。
溜まったイベントを削除する方法はあるんでしょか。


376 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 11:48:39 ]
>>375
タイマー間隔を少し長くするか、wxIdleEventでRequestMore() しまくるなんてのはどうかな?
たまったイベントの削除関数とかは見かけたことないなぁ(あるかもしれないけど)

377 名前:375 mailto:sage [2009/02/01(日) 17:54:01 ]
回答有難うございます。
Win32APIにはイベントを削除する方法があった気がしたので
どうかなとおもったんですが。
時間管理を見直してみます。

378 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 14:12:47 ]
一番良いIDEは?
ダイアログイパーイ作る場合ね。

379 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 14:34:46 ]
Sizerの使い方を覚えたら、もうバカらしくてGUIで
ダイアログ作ろうだなんて思わないけどね

380 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 14:40:26 ]
コードでGUIを設定するのがバカらしいというのが一般的だが。

381 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 16:11:56 ]
RADどれ?って質問だったら万人に薦められるのはwxFormBuilderくらいなんだがな
RAD単体でPythonいらずってとこから
IDEとなると自分で全部試せとしか言えない

382 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 16:15:11 ]
>wxFormBuilder

ラジャ
使ってみるお。

383 名前:323 [2009/02/10(火) 14:06:40 ]
>>324
>>325
>>326

ありがとうございます!



384 名前:デフォルトの名無しさん [2009/02/11(水) 15:15:05 ]
wxFormBuilderって、コンストラクタでnewしたインスタンスを
デストラクタでdeleteしてくれないんだけど、これは自分で書くの?



385 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 17:37:33 ]
自動でdeleteしてくれるライブラリ(スマートポインタとか)使わないなら
newした分だけdeleteするように書くしかないよ

386 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 17:58:47 ]
公式つながんない。

387 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 23:24:55 ]
wxDevC++!

ごめん嘘

388 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 11:42:37 ]
 ↑
何がウソで何がホントかハッキリしる!

389 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 13:35:51 ]
>>384
SizeにAddしたオブジェクトは勝手に削除される。
自分でdeleteしちゃだめ。

sizer.cpp の551行目

390 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 14:54:15 ]
ひょっとして>>384はGenerate Codeで吐き出されたコードに追記しようとしてるのか?
Generate Inherited Classで継承したクラスに自分のコードを書くのが正しい使い方だぜ?
そうじゃないと細かい修正でGenerate Codeしたらまた書き直さなきゃならないだろ

391 名前:384 mailto:sage [2009/02/12(木) 23:12:05 ]
>>390
いや、継承して書くのはわかってたけど、吐き出されるコードも
読んでおこうと見てみたらdeleteしてなかったので、
どうすんだろうなぁと。

で、>>389で納得しました。
ありがとうございました。

392 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 23:16:13 ]
wxWidgetsはフレームワーク側で色々ゴニョゴニョしているから
正直、自分で組んでて不安になって来るんだよな。細かい挙動とか、特に。

393 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 00:44:18 ]
Mac OS X 10.5にデフォルトで入ってるものを利用し、簡単なプログラムを組んだんだけど、
実行すると固まって操作できないのはそういうものでしょうか。
最新2.8.9のものをmakeして利用すれば問題ないのでしょうか。
っていうか、wxOSXっていつ頃になるの?

それからWindows上でwxFormBuilderを使ってみたのですが、
イベント部のコードを吐いてくれるのはいいけど、
マージしてくれないので、使いにくい。
そうゆうもんですか。
DialogBlocksは有償だけあって使いやすかったけど、レジストしてないから制限に引っかかる。
金ないからorz
なんかいいGUIのBuilderが欲しいと思った。


394 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 01:43:50 ]
>>393
>Mac OS X 10.5にデフォルトで入ってるものを利用し、簡単なプログラムを組んだんだけど、
デフォルトでは wxPerl とか wxPython しか入ってないとおもったけど、どうやるの?
OS X は実行ファイルは .app パッケージに入れないとイベント受け取れないから
固まったように見えますよ。
wiki.wxwidgets.org/WxMac_Issues#Building_a_MacOSX_application_bundle
とか参照。




395 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 07:52:22 ]
>>394

あ、そうなんですか。
Makefile書いてメイクしたのですが、minimalサンプルみたらxcodeのファイルがありますね。
MacはMacの作法にのっとってオブジェクトを配置しないといけないんですね。
ちょっとやってみようと思います。

因に私がやったメイクは、LinuxのwxGTKを使うように、
wx-config でインクルードとライブラリをあててmakeしました。
wxMacを特別に入れた記憶はありません。


396 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 09:11:03 ]
>>395
なるほど、wxPerl とかだけでなくて wxWidgets そのものが
デフォルトでインストールされてるんですね。そりゃそうか。

397 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 14:17:50 ]
もうすぐ2月が終わる
2.9.0来るかなぁ

398 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 16:32:53 ]
Eclipse CDTでwxしようとしてるんですが、ビルドとかは問題なくできるものの
補完のためのインデクサが

 Syntax error: DECLARE_EVENT_TABLE();

とかポップアップしてきて機能しません。

ビルド自体には影響してませんが、これだとエラーと非エラーが混ざって
使い勝手が悪いので、なんとか正常に処理させたいのですが、同じように
困ってる話は見つかっても解決方法が見当たりません。

どうすればいいでしょうか?

399 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 23:10:17 ]
wxPython2.8のAnimationが返す値おかしくね?
DisposalMethodがどうも-1ずれてるみたいし
BackgroundColourもなんか変だ
俺のだけ?


400 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 13:38:10 ]
ソースあるんだから自分で調べたらいいじゃんか

401 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 19:05:13 ]
うんその言葉で読む気になったわ
、で-1ずれてんのはcoincideだってさ
BackgroundColourは最初のフレームから
背景色に初期化しなかった俺のミス

ここで聞くよりソース読んだほうが
確かに早いけど誰もその情報は共有できん
のだ
いい意見有難う

402 名前:デフォルトの名無しさん [2009/03/10(火) 10:16:05 ]
質問
レイアウト制御において

Sizer > Panel > Sizer
Sizer > Sizer

ってやっぱり違うんですか?( > は入れ子の関係を表してます)
コントロールをまとめる枠としての Panel の存在意義がイマイチわからないっす。

403 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 02:02:27 ]
Panelは子コントロールの親になる
Sizerはあくまで下層要素のサイズを制御するだけ

404 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 07:05:48 ]
>>403
ありがとうございます。
単にレイアウトを制御したいだけなら Sizer を直に入れ子にして、
コントロールを論理的にグループ化したい場合は Panel でまとめる、という感じですね。



405 名前:デフォルトの名無しさん [2009/03/11(水) 08:02:25 ]
いつも使ってて思うことなんだけど、Sizerというクラスをなくして
レイアウトの機能もWindowに含めてほしい(統合してほしい)
そうなっていないということは、そうすると何か問題があるのだろうか

406 名前:405 mailto:sage [2009/03/11(水) 08:03:13 ]
ごめんageてしまった

407 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 08:19:10 ]
>>405
コントロールのレイアウトのためだけにWindowを入れ子にするのは
メモリ効率が悪いからじゃないでしょうか

だからレイアウトアルゴリズムだけをクラスとして抜き出して Sizer なんてものを
作ったのでは

408 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 23:22:44 ]
レイアウトアルゴリズム増やそうとする度に
wxWindowクラス書き換えて肥大化していくのは困るでしょ

409 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 10:16:25 ]
GoF でいうところの Strategy パターンというやつだな

410 名前:デフォルトの名無しさん [2009/03/13(金) 19:16:34 ]
質問させて下さい。
wxRuby でちょっとした GUI ツールを書いているのですが、
ウィンドウを close してアプリを終了してもプロンプトが返ってきません。

ウィンドウを XRC から作るように変更したところでこのような
現象が発生するようになりました。

具体的には
Wx::XmlResource.get.load_frame_subclass(self, nil, "MyFrame")

があると上記の問題が発生します。
on_exit も呼ばれず、どうも何かが解放されずに残っていてアプリの終了を
邪魔しているような印象です。
どのような原因が考えられますか?

411 名前:410 mailto:sage [2009/03/13(金) 19:18:34 ]
補足
ウィンドウはきちんと表示されており、イベントハンドラの設定もうまくいっています。

412 名前:410 mailto:sage [2009/03/13(金) 22:04:27 ]
CloseEvent に対するデフォルトのハンドラが呼ばれなくなったと推測
XRC からリソースをロードした段階で CloseEvent をトラップする別のハンドラが
設定されたのか?

よくわからん。調査続行

どなたかヒントでもあればお願いします m(__)m

413 名前:410 mailto:sage [2009/03/13(金) 23:24:53 ]
evt_close {|event| exit }

でとりあえずプロンプトは戻るようになった。

414 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 10:35:35 ]
俺もその現象あった
XRCは使ってなかったけど、Frameのサブクラス作ったからそのせいかも



415 名前:410 mailto:sage [2009/03/14(土) 11:31:46 ]
>>414
自分も Frame のサブクラス作ってますが、それだけでは上記の問題は
発生しませんでした。
GUI が複雑になってきたので XRC をロードするように変更したところ
close でプログラムが終了しなくなりました。

閉じられるウィンドウが最後の一枚だったら exit というハンドラを自分で
設定すれば元の動作に戻るはずですので、そうしようと思ってます。

416 名前:デフォルトの名無しさん [2009/03/19(木) 19:09:19 ]
なんで SetCellAttr はないんだ? セル単位で制御したいのに
まあ、自分で書いたらいいだけだけど

417 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 11:26:29 ]
2.8.10安定版リリース

418 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 21:19:15 ]
保守総一郎

419 名前:デフォルトの名無しさん [2009/03/31(火) 21:23:43 ]
Qtに流れ始めたかのぉ??

420 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 11:07:04 ]
最近 wxWidgets 使い込み出したのに廃れてもらっては困るぜ!

421 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 11:58:06 ]
廃れてるんじゃなくて、枯れてんだよ。
だから安心して使うがいい。

422 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 12:44:39 ]
Qtとどっちがつおい?

423 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 13:21:00 ]
字面でみると wxWidgets の圧勝w
Qt のクラス名って全部 Qなんたらで間抜け面

きゅうりのQちゃんかよw

424 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 14:09:34 ]
その発想は全くナカタ



425 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 15:08:01 ]
ガンダムだって WX はあるけど Q はないしなw

426 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 17:42:54 ]
ここはデスクトップアクセサリを作る人も見ていいところですか??

427 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 17:44:11 ]
と思ったけど、なんか違うみたいですね?
あのYahoo! Widgetとは別もんですか。

428 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 17:48:41 ]
全然違うよ。
これはクロスプラットフォームなGUIライブラリ。
アプリケーション全般を作るためのライブラリ

429 名前:デフォルトの名無しさん [2009/04/04(土) 19:59:33 ]
素朴な疑問
wxWidgets ってウィンドウを座標(-1, -1)に配置できなくね?
というか、DEFAULT_POSITION と座標(-1, -1)を区別できないような……

実用上困ることはないけど、デフォルト値がなにかと -1 なのはどうかと思った。

430 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 10:56:39 ]
最小値が -1 の GridCellNumberEditor も作れねえ
サブクラス作りなさいってことか

431 名前:デフォルトの名無しさん [2009/04/11(土) 17:18:38 ]
ブラウザコントロールって何かお勧めありますか?
Windows, Linux両方でまともに動くやつで。

432 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 20:31:04 ]
>>431
使ったことないけどwxHtmlWindowってのがあるね

433 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 13:35:48 ]
ライブラリビルドでwx.dswとwx_dll.dswの違いって何ですか?

434 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 16:15:04 ]
static linkとdynamic linkの違い
前者は実行ファイルが巨大になる
後者は実行ファイルは省サイズだが配布時にdllを含める必要がある



435 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 21:21:03 ]
Ubuntu8.04、C++で開発してます。wxGLCanvasで点を描画したいのですが、
glPointSizeで点のサイズを3に設定して描画しても点のサイズが1と変化がありません。
ちなみに、fedora9, Vmware用のUbuntu8.04では意図どおりにサイズが変更されます。
下のようなコードなのですが、同じような経験をされた人いませんか?

void MyFrame::OnPaint(wxPaintEvent& event)
{
gl->SetCurrent();

glPointSize(3);
glClearColor(0.f, 0.f, 0.f, 0.f);
glClear(GL_COLOR_BUFFER_BIT);

glBegin(GL_POINTS);
glColor3f(1.f, 0.f, 0.f);
glVertex2f(0.f, 0.f);
glEnd();

glFlush();

gl->SwapBuffers();
}


436 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 21:54:40 ]
glGetIntegervでGL_POINT_SIZE_RANGEの値を調べてみては?

437 名前:デフォルトの名無しさん mailto:sage [2009/05/19(火) 11:58:21 ]
TreeCtrl上でキー入力すると最初の文字がマッチした項目に移動するんだけど、この動作って無効にできない?
Keydownイベントとか設定しても、マッチしないキーを押すとポンポンエラー音みたいなのが鳴ってうっとうしいんだよね・・・


438 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 10:18:31 ]
>>437
イベントを skip しなければいいのでは?

439 名前:437 mailto:sage [2009/05/21(木) 15:16:31 ]
>>438
特にskipする記述はしていないのですが、上記の動作をしてしまうんです。
明示的にskipしないようにする記述がいるのでしょうか?

なんかkeydownイベントの前に動作している気がするんですが、他の箇所に書く必要があるんですかね?

まだあまりよくわかってないので質問ばかりになってしまい申し訳ありません。

440 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 07:08:10 ]
wxではあまり細かいことは気にしないのが吉。
下のレイヤのデフォルト動作の違いによるプラットフォーム間での差異とか結構あるし。

441 名前:437 mailto:sage [2009/05/22(金) 12:46:37 ]
>>440
なるほど、そうゆうものと割り切った方がいいんですかね。
なんか方法があるだろうと思ってはまってたんで、ちょっと気が晴れました。ありがとうございます。

結構細かいことをやりたかったんで、他のものも含めて考え直してみようと思います。

QTとかどうなんですかねぇ。似たような感じもしますが・・・

442 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 15:31:21 ]
>>441
Qtはwxとは思想が逆。OSネイティブGUIアプリとの違いは出やすいが
自作クロスアプリでのOSごとの違いを少なくするのはやりやすい。


443 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 15:42:42 ]
 ↑
分かるようで分からない文章だな

444 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 16:14:32 ]
どこがわからない?

そのOSの他のソフトと同じような動作にしたい→wx
OSが何であろうと同じソフトなら同じように動作させたい→Qt

ならわかる?



445 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 16:48:57 ]
文章は分かったが、実態は分からないw

446 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 16:58:15 ]
少なくとも>>441の疑問には即してないな
俺はどうでもいいが

447 名前:441 mailto:sage [2009/05/24(日) 16:59:35 ]
Qtいろいろ試してみました。
442さんのおっしゃるとおり思想の違いなのか結構細かいことまで設定できるようです。

キーイベントはデフォルトの動作を上書きできるみたいですね。
ポンポンエラー音みたいなのも鳴らないし、いい感じです。

Qt Creatorが使いやすくてレイアウトがとっても楽なのもうれしいですね。
ここにQtのことを書くのはあれなんでこれぐらいにしときますが、自分の要件には合ってる気がするんでこれでいってみようかと思います。

遅くなりましたが以上報告でした。お騒がせしました。

448 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 01:06:28 ]
そうかそうか。おれはどっちも好きなんでガンバレ。

そういうわけで、俺と>>441の間では通じてたようなのでOKだな。

449 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 21:37:25 ]
>>448
終わりよければすべて良しってやつか

450 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 14:26:51 ]
ウックス

451 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 08:17:18 ]
すみません、2.8.8をスタティクライブラリとしてコンパイルするにはどうすればいいのでしょう。
調べてはみたのですが、DLLにするやり方しかのっていないのです。


452 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 09:05:37 ]
install.txtとかくらい読め

453 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 15:33:40 ]
>>451
環境くらい書けよ。Macか?

454 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 18:21:01 ]
>>452
すみません、なにしろ初心者なものでして…
>>453
申し訳ない、環境はWindowsXPでCode::Blocksで開発する予定です。



455 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 21:27:52 ]
すみません、家帰って>>452さんのいっていたやつ読んだら解決しました。

ちょっと首吊ってきます・・・

456 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 15:25:04 ]
ようやくスタートラインに立てたんだから
がんばれよー

457 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 21:37:23 ]
みなさんシリアル化とかどうしてます?

458 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 09:29:42 ]
wxWidgetsを使った日本発のオープンソースプロジェクトってありますか?
もしあれば参考にしたいので教えてください。

459 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 09:42:02 ]
sourceforge.jpとかで検索してみるとか。

www.google.co.jp/search?hl=ja&q=wxwidgets+site%3Asourceforge.jp+-site%3Ailaliart.sourceforge.jp+-site%3Awxwindowsjp.sourceforge.jp

460 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 10:06:47 ]
ありがとうございます。wxRubyやwxPythonじゃなくて
C++のを探していたのですが、あまり見つからないですね。
MalonNoteというのがあったので見てみます。

461 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 22:42:46 ]
wxPython の wx.lib.floatcanvas と同等の機能を持った
wxWigets の C++ ライブラリってないでしょうか?

462 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 19:24:12 ]
2.8.10を使っていますがJaneStyleのスレ覧タブみたいなものはなんていうコントロールなのでしょうか?

463 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 11:17:00 ]
>>462
標準のだと wxNotebook
拡張されているのは wxFlatNotebook

464 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 16:48:09 ]
>>463
thx!



465 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 22:00:06 ]
wxMSW-2.8.10を使っています。

wxMessageBoxやwxAboutBoxを使うとビープ音が鳴りますが
これを鳴らさなくする方法はありますか?もしかしたら
wxWidgetsじゃなくてWindowsが出してるのかもしれませんが。

466 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 10:39:41 ]
>>465
うん、出しているのはWindows。
それが嫌なら wxDialog あたりを継承して自作するのが楽だと思うよ。

467 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 17:31:34 ]
>>466
ありがとうございます。自作することにします。

468 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 06:48:33 ]
クロスプラットフォームなアウトライナーみたいなのを作ってます
wxRichTextCtrl使ってみようと思ってサンプル動かしてみたんですが
wxGtkではwxRichTextCtrlでインライン入力できないんですか?


469 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 10:53:48 ]
>>468
wxGTK は触ったことないからなんとも言えないな〜
wxWidgets は IME 関連の制御をしていないと思うから、
なんらかのメッセージを処理すればいいんだとは思うけど。

470 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 06:15:03 ]
wxWidgets 3.0っていつごろリリースされそうですか?

471 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 07:28:49 ]
>>470
ロードマップだと
trac.wxwidgets.org/wiki/Roadmap

We hope to make 3.0 before the end of 2009.

年末じゃねえの。まあこういうのは早くなることはなく、大概おくれるもんだけどなw

472 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 07:57:52 ]
>>471
thx

473 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 16:42:31 ]
wxFormBulderって生成するコード変じゃね?
ダイアログにボタンが一個だけのプログラムを書いてみた。

ダミーのイベントハンドラをvritual宣言しておくから、
サブクラスを作って、そこにボタン処理などの本来のイベントハンドラを
まとめて書きなさい、という方針はすばらしい。
けど、登録するイベントハンドラのアドレスが、サブクラスのアドレスじゃなくて、
継承元のダミーのアドレスでは、飛ぶはずないじゃん。
作者、なにを勘違いしているんだろ。
さわり始めて2日目の俺のほうが勘違いしている?

474 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 12:28:24 ]
>>473
つ Code::Blocks



475 名前:473 mailto:sage [2009/08/15(土) 17:39:20 ]
Code::Blocks 調べました。ちゃんと動きました。
ubuntuだと日本語が入力ができないとか、
標準入出力を扱うウィンドウがないとか、
多少ありますが、素晴らしいと思いました。
進歩しているんすね。癖になりそうです
ありがとうスッ。

476 名前:デフォルトの名無しさん [2009/08/27(木) 13:32:21 ]
元となったデザインがMFC構造で古すぎるので消えるって、本当でつか?

477 名前:デフォルトの名無しさん mailto:sage [2009/08/28(金) 15:34:59 ]
yes

478 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 07:08:07 ]
wxPythonのサイト大丈夫か?
www.wxpython.org/

<a target=_top href="accountinから始まるカジノがどうって行は前は無かったと思うが。

479 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 09:20:35 ]
Ou voyez vous?

480 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 00:37:02 ]
wxCode の wxCurlって使ってる人いますか?

どうにもこうにもSetOptが効かなくて困ってます。

wxCurlHTTP http("https://hogefugamoge.jp");
http.SetOpt( CURLOPT_USERAGENT, "MyUserAgent" );
http.Get( filepath );

って感じでやってるんですが、何事も起きなくて・・・・

SetOptのreturnはtrueなんで、wxCurl君は正常に処理してるつもりっぽいのですが・・・


ちなみにSSL通信がしたくてwxCurlを使ってるんですが、
他のライブラリでもSSLでPUTとかDELETEとかできればそっちでもOKです。


すみませんがよろしくお願いします。

481 名前:480 mailto:sage [2009/09/08(火) 00:40:33 ]
すみません書き忘れです。
wxWidget本体は wxMSW 2.8.10
wxCurlはsvn版 ( 2009-09-01にsvnリポジトリからダウンロード )
開発環境は Code::Blocks 8.02 mingw同封版
です

482 名前:480 mailto:sage [2009/09/08(火) 05:44:40 ]
すみません
やっとこさ自己解決しました。

どうやらどのHTTPメソッドを発行する関数でも、
SetCurlHandleToDefaults という関数でヘッダー諸々の初期化を行っており、
wxCurlHTTPクラスを継承したクラスを作り、
この関数をオーバーライドしてやらないとダメみたいです。

似たようなことをwxCurlBaseを継承したwxCurlHTTPで行っているので、
それを参考にすればOKかと。


お騒がせしましたー

483 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 09:26:06 ]
すみません
すみません
すみません
omedeto-

484 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 12:49:07 ]
wxWidgets 2.9.0 がリリースされたね。
www.wxwidgets.org/



485 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:11:21 ]
VC6だけじゃなく、VC7からVC9までのプロジェクトファイルがある!
こいつは嬉しい。


486 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 00:02:34 ]
初心者なのでつまらない質問でスマンけど...

wxWidgetsをビルドする時、makeのオプションでBUILD=debugにすると、デバッグバージョンの
ライブラリがビルドされるけど、これってwxWidgets自体をデバッグしたい時だけに必要で、
wxWidgetsを利用するアプリ側だけデバッグしたいときはreleaseバージョンのライブラリ
使ってもいいの?

それともアプリをデバッグする場合(Step inでwxWidgetsのコードに入っていかなくても良い場合)でも、
ライブラリはdebugバージョンじゃないとダメなの?


487 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 00:50:49 ]
yes

488 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 00:51:31 ]
no

489 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 01:19:57 ]
wxWidgetsというよりコンパイラやライブラリの仕様によると思うけど

MSVCみたいにデバッグ用のランライムライブラリがある場合
アプリとライブラリでdebug/releaseを別にしちゃうと
リンクするランタイムライブラリが別になるから
スレッド関連とか例外の取り扱い、スタックフレーム、
その他リソースを確保するコード等でおかしなことになるかもしれない

例えば、メモリリークを検出するようなデバッグ機能がある場合
ライブラリで確保したメモリをアプリで解放したりすると
管理情報の整合性が取れなくなるかもしれない

490 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 09:53:45 ]
リリースバージョンじゃないとwxASSERTとかそのへんも効かなくなるから
デバッグやるならデバッグバージョンの方がいいんじゃない

491 名前:486 mailto:sage [2009/09/14(月) 13:50:52 ]
皆さんレスサンクス。素直にdebugバージョンとreleaseバージョンをbuildして使い分けることにします。

492 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 14:30:19 ]
そこらへんCodeBlocksとかwxDevC++とか使ってみると参考になるかもよ

493 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 17:32:34 ]
ダイアログ上に置いたwxStaticTextの表示/非表示をボタンで切り替えるようなことを
やろうと思って,wxBoxSizer(wxVertival)をダイアログ上に縦に並べて,上のサイザーに
表示/非表示するwxStaticTextを入れ,下のサイザーに切り替えボタンを入れたんだけど,
wxStaticTextのスタイルをwxST_NO_AUTORESIZEにしておいても,Hide()とかShow(false)を
呼ぶとStaticTextそのものが消滅してしまうようで,配置が狂ってしまう。

非表示の場合はSetLabel()で空文字を設定し,表示する場合は表示したい文字を設定すれば
一応できることはわかったんだけど,もっとスマートなやり方ありませんか?

494 名前:493 mailto:sage [2009/09/14(月) 18:03:47 ]
>>493
自己レス。StaticTextの入っているBoxSizerにSetMinSize()で最小サイズを設定してみたけど
やっぱりダメ。

StaticTextのHide()をダイアログのコンストラクタからOnInit()移動してみたけどやっぱりダメだ。
どうすればいいだろ?



495 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 21:20:53 ]
とりあえず俺はLayout()呼んで一応うまくいってる

496 名前:493 mailto:sage [2009/09/15(火) 10:45:08 ]
>>495
Layout()でうまく行った。よく読むとヘルプにも書いてあるね。サンクス。
しかし,サイザーを使いこなすのは難しいなぁ...


497 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 13:34:05 ]
またまた質問させてください。

sizerを使って,DialogやFrameのサイズを中身にあわせるというのはわかったけど,
逆にDialogやFrameのサイズを固定にしておいて中身を配置したい場合もあるでしょう?

wxWidgetsの設計思想に反するのかもしれないが,うまいやり方はありませんか?
Code::BlocksやwxDev-C++でいろいろ試してみてるけど,うまく行かない。
Frameの中にBoxSiserを貼って,その中にPanelを貼ってパネルのサイズを設定し,
さらにその中にBoxSizerを貼ってみたけどやっぱりダメだった。

LaTexの\vssや\hssみたいに,自由に伸び縮みできる要素があれば出来そうなんだけど...

498 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 13:39:58 ]
sizerを使う

499 名前:497 mailto:sage [2009/09/15(火) 13:45:53 ]
>>498
いや,sizerを普通に使うと,DialogやFrame全体のサイズが中身に合わせて変わってしまうでしょう。
sizerをどう使えば全体のサイズを固定に出来るのか教えてください。

見えない色にしたStaticLineをつっかえ棒みたいに入れるとか,いろいろ考えてはいるんだけど,一般的には
皆さんどうやってるのか知りたい。

500 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 13:51:39 ]
expand

501 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 18:20:11 ]
>>499
Sizerを使わない
ウロだけどCodeBlocksのwxSmithならSizer置かなくてもポトペタできるはず
あと最近はCodeBlocksに移っちゃったからこっちもウロだけど、wxDevC++もSizerなしでポトペタできるはず

502 名前:497 mailto:sage [2009/09/15(火) 18:59:43 ]
>>500, >>501

サンクス。やってみます。
あと,C::BだとFrameのコンストラクタ内に生成されるコードの後で,SetClientSize()を呼ぶ手も
あるみたい。つーか,Frame内にsizerを追加するコードの前にSetClientSize()が自動で記述
されてしまうのが,原因のような気もする。


503 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 11:56:43 ]
>>502
ちと手元に資料がないんだけど、幅と高さだけを指定する
空の Sizer がなかったっけ?

504 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 13:44:56 ]
そいやCodeBlocksのwxSmithで、
メニューに項目追加って出来無くない?

いくらやってもメニューバーと同じ階層に子メニューついかされちゃうんだけど・・・



505 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 23:50:32 ]
>>504
亀レスだけど,MenuBar editorで同じ階層に新しい項目を追加し,それを選択しておいて > ボタン
を押すと一つ下の階層に移動するよ。

質問の意味がイマイチはっきりしないけど,メニュー項目の下の階層に子のメニュー項目を
追加したいって意味だよね? File->Open みたいに。

506 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 23:55:31 ]
>>484
2.9.0のsetup.hを読むと,wxUSE_UNICODE のところに「ANSIモードはobsoleteで,将来
なくなるぞ」って脅しが書いてあるな。

3.0ではANSIモードは削除されてUNICODEだけになるんじゃないか?

507 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 03:38:41 ]
wxWidgetsが依存しているlibsdlがx86_64でようやくコンパイル通るようになったと思ったら
libsdl_mixerで死んだ。

508 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 00:23:15 ]
2.8.10なんだけど、外部アプリケーションを実行するクラスってある?

509 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 03:34:22 ]
wxExecute
wxShell

510 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 10:33:19 ]
>>509
サンクスでございます。

511 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 12:06:53 ]
wxWidgetsのunicode対応ってサロゲートペアに対応してる?

512 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 12:47:47 ]
>>505
ほあああ!!
THX!!
メニューバーエディタなるものの存在を知りました。

513 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 00:20:56 ]
wxwigets2.8.1ってtdm版gcc4.4.1でコンパイルできる?

514 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 07:33:53 ]
>>513
2.8.1じゃなくて2.8.10だよね。TDM版MinGWでコンパイルは可能だけど,4.4.1は問題があるので
一度4.4.1をインストールしておいて,後から4.3.3のcoreとg++のZIPファイルだけをダウンロードして
上書きしてから使うのが良い。全部TDM MinGWのHPのトップからダウンロードできる。
もちろん4.4.1のインストール時にcoreとg++をインストール対象から外しておいてOK。

何が問題なのかは,「Cygwin + MinGW + GCC相 談室 Part4」の最近の書き込みを見て。
簡単に言うと,コンパイルした.exeの実行がやたら遅くなる。
TDMのサイトの上の方にも[WARNING!]として書いてある。次期バージョンでは多分
解消されるんじゃないかな。

TDM氏はCode::BlocksのForumによくカキコしているから,当然wxWidgetsとの相性もよくなる
ように考えているはず。




515 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 19:42:11 ]
自分のアプリケーションがいまどこのディレクトリに存在するかを取得する関数って何?

516 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 09:57:00 ]
_argv[0]から実行ファイルのフルパスを取得して,最後のファイル名部分(なんたら.exe)だけ
削除すれば得られるでしょ?
別にwxWidgetsに限った話じゃないと思うが...

それともwxWidgetsにそういうユーティリティ関数がないか?って話?
wxAppにargvってメンバ変数があるし,GetAppNameってメンバ関数が
あるから使えるんじゃないか? 試してないけど。


517 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 11:41:06 ]
wxStandardPaths

518 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 17:30:33 ]
>>515
docs.wxwidgets.org/stable/wx_filefunctions.html#wxgetcwd
これのことか?

519 名前:515 mailto:sage [2009/09/28(月) 21:01:42 ]
>>516-518
thx!

>>516
そういやそういう手もあった。

>>517
求めてたのはこれ。

520 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 02:13:10 ]
pwd()

521 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 07:59:29 ]
カレントディレクトリと勘違いしてるヤツが多いな。

522 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 22:20:12 ]
__file__

523 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 23:45:46 ]
それはプリプロセッサが現在処理中のファイル名に置き換えてくれる
定義済みマクロじゃないのか? __file__ じゃなくて __FILE__ だと
思うけど。

524 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 03:01:27 ]
os.path.fullpath(__FILE__)



525 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 20:53:30 ]
コンパイル後、実行形式ファイルを他ディレクトリに移動したらアウツじゃねーの?


526 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 21:04:39 ]
no problem

527 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 10:33:07 ]
WINDOWSで,wxWidgetsを使ってアプリをタスクトレイに入れる方法はありませんか?

528 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 10:49:22 ]
あります

529 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 20:10:45 ]
具体的に教えてください。

530 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 21:03:20 ]
調べたらわかりました。

531 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 22:24:07 ]
なんか変なのが住みついたな。>>520から偶数番号のレスしてるやつ。

532 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 23:54:35 ]
お、俺じゃないぞ!

533 名前:527 mailto:sage [2009/10/08(木) 08:04:46 ]
自己解決しました。
wxTaskBarIconから派生させたクラスを作って使うんですね。
サンプルの taskBar にありました。

534 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 13:58:57 ]
>>528のおかげじゃないか



535 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 18:12:37 ]
えーっと、軽く質問なんですが・・・

wxWidgetでは、二つ以上ウィンドウを表示するソフトを作ることはできますか?

536 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 22:17:14 ]
できます。

537 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 23:52:19 ]
楽勝です

538 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 00:14:18 ]
もしかしてMDIのことを言ってるの?

539 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 15:15:51 ]
wxPerlの話題・質問はここでいいんでしょうか?
ここはC++限定?

540 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 15:19:49 ]
内容によるんじゃなかろか
とりあえず書いてみたらいかが

541 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 17:01:45 ]
>>539
ああ、それなら wxPython の方が簡単に出来るよ。



542 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 17:04:21 ]
C++限定じゃないと思うけど、C++とPython以外のことは
俺には答えられないぜ!

543 名前:デフォルトの名無しさん [2009/10/13(火) 19:23:06 ]
頭のいかれたとても恥ずかしい人は放置した方がいいぞ

544 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 07:48:05 ]
どうせ大半の話題は共通するんだから
wxPerlだろうとwxRubyだろうとwxBrainf**kだろうとここで問題なし

ただし言語に由来する質問は答えられる人が居ない可能性あり



545 名前:535 [2009/10/14(水) 23:22:35 ]
Show(frame)を二つ作ったら楽勝でした。ありがとうございます。

546 名前:デフォルトの名無しさん [2009/10/15(木) 16:22:53 ]
wxPython でのサンプルを読んでまず適当にフレームを
表示させて描画してみているんですが,いくつかのサンプルにて
wx.Frame や wx.Panel の __init__ への引数として

1)親ウィンドウがNoneというのはどういう意味でしょうか
2)id = -1となっているのはどういう意味でしょうか

意味もわからずとりあえずそうするとフレームは表示されますが・・

547 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 16:37:04 ]
Frameの中にPanelを置いてPanelの親をFrameにしたときと
しなかったときを比べてみれば分かる
idはアクセスする必要がなければとりあえず-1


548 名前:デフォルトの名無しさん [2009/10/15(木) 16:43:16 ]
>>547
ありがとうございます
あれこれいじりつつあるんですが
wxPython では stdout と stderr がコンソールではなく
何か特別なウィンドウに奪われてしまうみたいです。
すぐに消えてしまって例外のメッセージが見えないのですが
普通にコンソールに表示するようにはできるのでしょうか?

ちなみに環境は Windows 上の Eclipse + PyDev でやっています

549 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 16:44:28 ]
一番手っ取り早いのはcmdの中でhoge.pyを実行

550 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 16:50:40 ]
Panel の parent を None にすることはできないんですよね?
Panel つーのはかならず親に Frame を指定しないとだめみたい

551 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 16:54:11 ]
実は Panel が理解できていない・・その存在意義が。
フレームの中にサイザーでくるんでコントロールを配置する。
という基本は理解したつもりなのですが、
パネルってなんだよ・・・と。

パネル・・・・・パネ・・・

552 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 17:10:01 ]
単に固定サイズの領域を作るだけのもの・・なのか?
少しずつ画面がにぎやかになってきてうれしいのですが
次々と文字列が出力されるログウィンドウのようなものを
複数開きたいと思っています。

こういう用途には wx.TextCtrl で作ったテキストコントロールに
次々とAppendTextしまくればいいということなんでしょうか?
ほかに何書こう便利なコントロールが用意されていたりします?

今まで matplotlib で数値計算結果をプロットしてたのですが
計算経過を表示しつつアニメーションも表示しつつという
アプリケーションを書いてみようとしています。

553 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 17:29:22 ]
demoみた?

554 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 17:31:14 ]
ttp://www.manning.com/rappin/



555 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 17:34:07 ]
で、Qtとwxの使い分けはどうすればいいの。

いまwx使うのって、ネイティブな見た目にしたい時ぐらいしか利点ないのかな。

556 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 17:43:56 ]
Qtもwxと同程度に同じ見た目にできるよ。
LGPLで高品質なQtか、自由に利用できるけど品質に難があるwxWidgetsか。

557 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 17:55:03 ]
QtはRADツールQt Creatorの出来がイマイチなのと,Qt Creatorだとコードを書かなくても
シグナルとスロットの指定だけで動作するようなものが出来てしまうので,それがかえって
都合悪い(可読性とかメンテ性の面で)。

まぁ,Qt Creatorの出来については生まれたてだから仕方ないかも。今後に期待。

wxWidgetsは俺はQtよりシンプルでわかりやすいと感じる。
あとRADツールもC::BとかwxDev-C++とか,出来のよいものが幾つかあるし。
wxDev-C++はとても良いんだけど,Subversionでソースコード落としてみたら
Delphiで書いてあったのでちょっとがっかり(将来大丈夫なのか?)。

俺は元々C++ Builder使いなので,GUIとプログラムソースコードのシームレス開発に
主眼を置いてるから,他の視点から見ればまた違った評価も当然あるだろうね。

558 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 18:30:11 ]
> Qt Creatorだとコードを書かなくても
> シグナルとスロットの指定だけで動作するようなものが出来てしまうので

コード書かない方法での指定方法じゃ、
何もつくれんだろ。

ボタン押したら終了するぐらいで
自作のスロットは、コード書かないとしていできない。

559 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 19:22:41 ]
言語によっても差があるよね
RubyならほぼWxRuby一択

560 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 19:58:23 ]
Python で GUI なネットワークアプリを作ろうとすると
twisted のリアクタと wxPython のイベントループが
相性がいいみたいなので wxPython 使ってます。

Qt 先に覚えたら Qt マンセーになってたのかもしれないけど
先に wxPython 使い始めちゃったからなぁ。

各OSの標準的なコントロールを出来るだけ使うようにしているのはどっち?

561 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 20:25:03 ]
標準的なコントロールを使っているのかは知らないが
ネイティブに見えるのはwxだと思う。

俺もwxの方がシンプルだと思うから好きだけど、
シンプルというより古いのかなって気はする。

562 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 23:41:59 ]
japan.internet.com/webtech/20070604/12.html
「Qt 4.3 では対応をさらに進め、Vista スタイルに合わせるために
別途『QwindowsVistaStyle』クラスを実装した。そのため、
Qt ベースのアプリケーションは、Vista 環境でネイティブなルック&フィールを持つことになった」


さて、ネイティブに見えるのはQtの方かもしれんぞ。

563 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 00:01:30 ]
wxWindows使ったときないけど、Qtいいお(´・ω・`)
ここのみんなも使ってみてね。

564 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 00:12:07 ]
>>557
確かにQt Creatorはちょっと...俺のPCだとよく落ちる。
斜向かいのヤツなんか、一度起動しなくなったと思ったら再インストールしても
二度と起動できなくなった。

コンパイル/リンカオプションをマニュアルでテキストファイルに書いとかなきゃ
ならないのも、完成度まだまだだと思う。Code::Blocksなんか、多種類のコンパイラ
に対応してるのに、オプションの指定は使用するコンパイラに合わせて細かく
GUIから指定できるもんね。

>>558
Qtそんなに触ってないけど、スライドバー動かすと数字が変わる程度のことは
コード書かなくても出来るtのをとなりのヤツがやってるの見たよ。

>>561
その古さがかえって都合いいこともある。
大型装置制御のアプリ作ってるんだけど、Windowsの進化に従ってlook & feelが
変わったらオペレーターが戸惑う。

それならLinux使えって言われそうだが、デバイスドライバがWindows用しかない
拡張ボードとか一杯使ってるからそうもいかない。



565 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 23:53:49 ]
>>556

> LGPLで高品質なQtか、自由に利用できるけど品質に難があるwxWidgetsか。

LGPLだって事実上ほぼ自由に利用できるよ。
で,wxWidgetsの品質の難点って具体的にどんなところ?

566 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 01:23:46 ]
>>565
wxGTKがgtkのim周りをきちんと実装してないから、ダイアログボックスの
テキストフィールドで変換を確定しようとしたらOKボタンを押した扱いになって
入力が消える。
WindowsでwxGridでIME ONのまま入力を開始しても、フォーカスが当たってる
セルが編集モードにならない。
こんな感じで、特に日本語環境であちこち穴が開きっぱなし。

567 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 02:23:53 ]
www.wxwidgets.org/about/newlicen.htm
The wxWindows Licence is essentially the L-GPL (Library General Public Licence)
wxWindows ライセンスは 本質的にはLGPL

QtがLGPLになって企業サポートがついたいま
wxWindowsに利点があるのだろうか?

568 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 05:10:37 ]
LinuxではGTK使ってくれてた方が好き。
あと開発コミュニティがオープンソースっぽくていい。

あまり大した利点じゃないな…。

569 名前:564 mailto:sage [2009/10/17(土) 07:21:35 ]
>>566
wxGTKは使わないから知らんが,

> WindowsでwxGridでIME ONのまま入力を開始しても、フォーカスが当たってる
> セルが編集モードにならない。

いつの話?
wxWidgets2.8.10(安定版最新)ではそんなことにはならないが...

で、俺は別に wxWidgets > Qt と主張したいわけじゃない。

>>567の言うとおり,QtにはNOKIAが付いたし,日本ではSRAがサポート
してるから安心感はある。以前LGPLについて詳しく問い合わせた時も,
ちゃんとした回答がすぐ返ってきた。

ただ,まともなRADツールがない。Qt Creatorは今のところ失格。
安定感、使い勝手とも×。自分だけで使うならいいかも知れないが、
チーム全体で使えるような代物じゃない。

Visual Studio用のアドオンも隣の席のヤツに評価してもらったが、
Visual StudioのIDEがQt用のRADツールに変身するわけじゃない
そうで、俺も見せてもらったが、大したもんじゃないなぁと思った。

3rdパーティー製でもいいから、VBやC++ Builder/Delphi並に
サクサク仕事のできるQt用のRADツールってないのかな。

今までC++ Builderで仕事してきて、工数が小さく仕事ができるので
非常に助かってたんだが、C++ Builderの雲行きが怪しくなってきた
ので、今のうちに他をあたっとこうと思って評価中なんだ。

570 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 09:22:29 ]
お前さんは隣の席のやつに絶大な信頼を置いてるのかもしれないけど
俺らにとってはどうでもいいわけで・・・
煽ってるわけじゃなくてな

571 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 09:31:54 ]
つーか、C++Builder並のRADはありえんだろ。要求高すぎw
LazarusのC++実装とか?


572 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 11:12:33 ]
↑wxWidgetsなら,Code::Blocks,DialogBlocks,wxDev-C++あたりが
かなり近い線まで行ってる。

573 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 11:33:20 ]
昔は、

wx はネイティブのラッパーだから OS の変化に追随してくれる
Qt は独自実装だから OS のルック&フィールが必ずしも反映されない

って感じがしてたけど、今でもそうなのかな。
あと Qt は moc がね…

574 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 11:39:54 ]
オライリーのqt4の本には、
Windowルック&フィールはWindowsでしか使えません。
なぜならWindowsコンポーネント使っているから(MacOSXも同様)
みたいなこと書いてあったと思うんだが・・・

昔の話じゃね?独自実装なのは。
もちろんMotifとかは独自実装だけど。



575 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 11:43:25 ]
独自実装なのもあるし、そうじゃないのもある(´・ω・`)

576 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 11:49:58 ]
今のQtはWindows上ではWindowsの部品使うし、なんとGnome上では
GTKの部品を使って描画するので、ルックアンドフィールの統一感はあるよ。

577 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 11:51:51 ]
逆にGTK+がQtの部品使って描画するのってある?

578 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 11:52:34 ]
Qtって独自の文法なかったか?あれは躊躇する。

579 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 11:57:48 ]
独自の文法は無い。
ただのマクロ

580 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 12:05:23 ]
独自のマクロはデバッグが面倒くさそうだ

581 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 12:31:31 ]
>>572
そのレベルならQt Creatorと大差ないじゃん。まぁバギーなのはあるが。

582 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 12:46:45 ]
Windows上でQt Creator使っているけど、
まぁ、試用レベルなんだけど落ちたことは無いなぁ。

Qt Creatorに後何が加われば、C++ Builder/Delphiなみと
いえるのだろうか? 個人的にはGo to Slotがわかりにくかった。

プロパティリストの欄のタブを変更すると
イベントハンドラ(Slot)リストがあるべきだろw
オブジェクト名が変更されると、Slot名も追尾してくれると嬉しい。

リファクタリングブラウザ機能は最近の先進的なIDEならついているけど、
昔からIDE使ってきている俺としては、あればラッキー無いほうが普通だと思ってるw

そんくらいだなぁ。

583 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 13:14:35 ]
Qt Creatorが良い線いってると思って使ってる僕は異端児なの?

584 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 13:16:36 ]
>>581
使ってみて言ってる?
俺は全部評価したが、Qt Creatorは今のレベルじゃ使う気にならない。
つーか今までC++ Builder一本槍だった開発部隊全員に使わせるのは
きつい。痒いところに手が届かなすぎ。

Delphi/C++ Builderなんかに比べるとかなり劣る。
>>572で挙げた3つは、Delphi/C++ Builderに肉薄するレベルに達してる。

Qt用でもっとまともなRADツールがあれば、wxWidgetsより安心感のあるQt使いたい
んだが。Qt Creator一つしかないってのが痛い。もちろんQt Creatorの今後の動向は
ウォッチするつもり。

SRAにLGPLのサポート料払ってヤンヤ言ったらQt Creatorどんどん改良してくれんかな。

>>582

> Qt Creatorに後何が加われば、C++ Builder/Delphiなみと
> いえるのだろうか? 個人的にはGo to Slotがわかりにくかった。

それもまぁ一つだね。全体的に操作が直感的でない気がする。
VC++使ってたヤツもそう言ってたから、C++ Builderに慣れすぎてる
からだとばかりも言えないようだ。

> プロパティリストの欄のタブを変更すると
> イベントハンドラ(Slot)リストがあるべきだろw
> オブジェクト名が変更されると、Slot名も追尾してくれると嬉しい。

これも同意。

一番大きいと思ったのは、いろんな設定がGUIからロクにできないこと。
.proファイル(だっけか?)にテキストで書けって...



585 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 13:36:00 ]
>>584
もちろん使ってみて言ってる。

Code::Blocks,DialogBlocks,wxDev-C++あたりとQt Creatorはどっちもどっち
だなあと思う。俺はQt Creator のGo to Slotは「なるほどこういう手もあるね」
と感心したクチで、ダブルクリックだけが正解じゃないと思った。

ちなみに俺も仕事のメインはDelphiだからあの操作性を求めるのはわかるよ。
でもDelphiと同じ動きで作業できるかよりはそのツールなりの操作性がこなれ
てるかどうかの方が重要だと思う。そういう意味ではCode::Blocksでいいんで
あればQt Creatorでもいいと思うし、「あんなのDelphiに比べれば糞」と言えば
どっちも糞だと思う。

よって、職場のチーム丸ごと「C++Builderやめて○×にしようぜ」と言える
ツールはまだなくって、でも「wx(あるいはQt)で開発してください」という
仕事が来た場合には十分できる環境がある、というのが現状だと思っている。

586 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 13:44:20 ]
仕事でQt Creatorつこうてる僕は何(´・ω・`)

587 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 13:55:51 ]
>>584
> 使ってみて言ってる?
> 俺は全部評価したが、Qt Creatorは今のレベルじゃ使う気にならない。

お前の方こそ、使ってみていっているとは思えない。
つまり、中身が何も無い。

使ってみたという証拠を出せ。

588 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 13:58:34 ]
Qtの宣伝うぜえな
スレ違いだからよそでやれ

589 名前:デフォルトの名無しさん [2009/10/17(土) 14:31:54 ]
>>585
> Code::Blocks,DialogBlocks,wxDev-C++あたりとQt Creatorはどっちもどっち
> だなあと思う。俺はQt Creator のGo to Slotは「なるほどこういう手もあるね」
> と感心したクチで、ダブルクリックだけが正解じゃないと思った。

この辺は感じ方の違いもあると思うが、「ダブルクリックだけが正解じゃない」というのは同意。その辺は
たいした問題じゃない。やっぱりコンパイラオプションやリンカオプション、子プロセスとしてコンパイラや
リンカを起動する場合の環境変数の設定あたりがやりにくいのが俺には受け入れ難い。あるいはQt Creato
r評価した際に取り組みが足りなかったのかもしれん。

> よって、職場のチーム丸ごと「C++Builderやめて○×にしようぜ」と言える
> ツールはまだなくって、でも「wx(あるいはQt)で開発してください」という
> 仕事が来た場合には十分できる環境がある、というのが現状だと思っている。

ウチはソフトの受託開発をやってるわけじゃないので、ちょっと事情が違うかな。自社製品用のソフトを開発
してるので、自分達で今後を決めていく環境にある。顧客別のカスタマイズが非常に多いので、少々環境
設定なんかのスキルの低い人間でもサクサクっと作れる事が第一優先なので、面倒見の大変なのはチト困る。

>>586
それは使いこなせるスキルがあるとも言えると思うよ。

>>587
おいおい、Qt Creatorにケチつけられたのがそんなに気にくわんか? 「中身がないって」>>584に書いたことじゃ
足りないか? 「証拠を示せ」ってどうやって示すんだ?まずは見本を見せてくれ。
俺は何度も書いたけどできればQt使った方が安心感があると思ってるんだが、RADツールの問題で躊躇してる
だけ。Qt Creatorが早く改良されればベストだと思ってる。

>>588
俺がQt Creatorの批判したから、俺にも責任あるね。まぁ、ここはQtスレに比べたらずっと書き込み少ないから、
それだけマイナーだってことなわけで、wxWidgetsの方が形勢不利なのは目に見えてる。
つーか、他のwxWidgets派は応援してくれんのか...

590 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 16:16:41 ]
エディタでゴリゴリ書くのが好きだから…

591 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 16:20:47 ]
俺もエディタ派

592 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 17:55:59 ]
エディタ派って単に慣れているからってだけじゃ・・・
キーバインドだけのために、新しい優れたものを使えない体に
なってしまっただけじゃ・・・

593 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 17:58:48 ]
何でそういう難癖を付けたくなったのかは知らんけど、それは間違いだぜ。
昔からツールボックスアプローチとキッチンシンクアプローチという概念があるんだ。
この世界で『真に新しくて優れたもの』なんてそうそう無いよ。

594 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 18:58:29 ]
IDEはツールボックスだけのものじゃないし。
開発するとき、ヘルプ見ない?
ヘルプ見るのならIDEは便利だよ。



595 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 19:02:38 ]
俺はヘルプを見るときはウェブブラウザってのを使ってる。
分からないメソッドを右クリックするとグーグルというので情報を探してきてくれる。
これ結構便利だよ。

596 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 19:19:18 ]
>>594
まぁ冗談はさておき、エディタ派の人は最新の IDE がどういう物かは
知った上でエディタでコーディングする事を選んでるんだよ。
君がウェブブラウザやグーグルを知ってるのと同じくらいね。

それと当然だけどエディタだけを使って開発している訳じゃないよ。
エディタを補助するツール群を揃えているから、ソースを書く時には
エディタだけで十分という作業スタイルなだけで。
IDE にプラグインを入れまくる人って居るでしょ。その逆だと思えば良い。
IDE から機能を削ぎ落として、テキスト入力以外の機能は別のツールを
組み合わせて使っているんだよ。だからいわゆる IDE は必要ないのです。

597 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 19:26:35 ]
エディタを使うメリットは、ネットブックでも動作が軽快な事、
他の環境に移行し易い事、問題があっても自分で直し易い事かな。
他にもあると思うけど、今思いつくのはこれくらい。

598 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 20:11:21 ]
うーん。
やっぱりコード書いている途中にピリオドを押したら
すぐにヘルプ見るのと同じ効果があるってことは
思いついていないみたいだ。エディタ使っている人は。
なんかギャップを感じるね。

599 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 20:12:44 ]
シェルの補間機能があるのと
ないぐらい以上の差があるのにね。

600 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 20:16:20 ]
全てを記憶しているから問題無い

601 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 20:23:59 ]
>>598
Qt のスレでもピリオドに拘ってる人が居たけど、要らない物は
要らないとしか言いようが無い。それが便利だと思ったら
愛用のエディタに手を入れるか IDE に転ぶかするだろうけど、
今のところは必要ないよ。引き算ができない人は機能一覧を埋める
事ばかり考えるけど、そういう人ばかりじゃないという事です。

人によって考え方や作業フローが違うという事を受け入れられない内は
理解するのは難しいと思われ。

602 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 20:30:09 ]
シェルの補完機能でも zsh の最新版の高度な機能を欲する人も居れば
csh レベルで良いから軽い方が嬉しい人も居る訳で。

まさかその違いが分からない訳じゃないよね?

603 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 20:42:47 ]
まぁ、自分が欲しい物を他人も必ず欲しがると思うのがナンセンスなんだよな。
世界に価値基準が一つしか無いと思ってると大人になって苦労するぞ。

604 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 20:46:04 ]
欲しいか欲しくないかは個人の趣味だけど、
便利か便利じゃないかといえば、
IDEの方が便利だよな。



605 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 20:49:34 ]
便利かどうかを判断する価値基準は無数にあるんだよ

606 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 20:54:34 ]
>>604
俺にとってはIDEじゃない方が便利
そういう話だ

607 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 20:56:12 ]
>>604
扇風機と団扇はどっちが便利?
掃除機と箒は?

608 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 20:59:42 ]
>>604
自動車があるのに自転車に乗るのは馬鹿な事なの?
それとも自動車と自転車を一緒くたに考える人が馬鹿なの?

609 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 21:25:54 ]
吊りだとわかってても反応したくなるな
箒や扇子は電気の無い家の外で使えるから便利だし
自転車は狭い路でも走れるから便利っつー話なんだが


610 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 21:37:53 ]
要らん時までパカパカ補間ウインドウひらくわりに肝心なときには補間できないという難点がある品。
調べたいことがあったらその時バッファにカーソル下の該当ワード拾ってヘルプウィンドウ開くさ。
Windows流の窓最大化文化ばかりが全てじゃないって話。

611 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 21:53:39 ]
一つ気になるのは、PyQtを動かすためにQtが必要であること。
まぁQtへのバインディングと考えれば必要なのは理解できるんですが、
これを各マシンにインストールするのは面倒すぎます。
もし可能であればネットワークにQtを置いて、環境変数でそこを指すようにして、
ネットワークで共有、ってことをやりたい。
それが出来るんならまぁ使ってもいいかな、って気がします。

ところで、wxPythonと比較してPyQtは何に優れてるんですかね。
AutodeskがPyQtを推す意味って何なんだろうか。



612 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 21:53:54 ]
>>609
電気があれば扇風機の方が涼しいし、ウチのオフィスの清掃業者は掃除機を使ってるよ。
ちょっと遠くへ行く時や、同じ距離でも雨の日や荷物がある時は自動車が便利。
便利という指標は考え方や使う人、使う状況によって変わるものだよ。清掃業者が
箒を使わない事を批判している人が居たら、それはちょっとまずい人に見えるよね?

コーディングを行う際にエディタが便利か IDE が便利かも同じ事。
IDE が生まれたのは Smalltalk や Lisp Machine まで遡れる訳だから 30 年以上は
経っている訳だよね。IDE は素晴らしく見えるかもしれないけど、別段新しい物でも
ないんだぜ。この手の論争は少なくとも 10 年以上前からあるし、多分もっと昔から
宗派に分かれて戦ってきたんだろうけど、結論は変わらず『好きな物を使え、他人の
主義にケチをつけるな』だよ。結局、どっちが便利かなんて使う人次第なんだから。

613 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 22:32:31 ]
> これを各マシンにインストールするのは面倒すぎます。
なぜ?

> もし可能であればネットワークにQtを置いて、環境変数でそこを指すようにして、
> ネットワークで共有、ってことをやりたい。
そっちの方が面倒すぎます。

現にあなたやり方すらわかって無いでしょ?

614 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 22:38:41 ]
スレタイ見てくれw



615 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 22:47:18 ]
wxPython+py2exeで造ったプログラムって
wxWidgetsが入っていないPCでも動くよなぁ

>PyQtを動かすためにQtが必要であること
必要なの?

616 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 23:01:45 ]
py2exeがwxWidgetsライブラリを含めた実行ファイルを作るから。

617 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 23:03:07 ]
それってQtも同じじゃね?

618 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 23:41:36 ]
う、うん……(´・ω・`)

619 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 00:02:50 ]
なんかIDE論議になってるけど,IDEの一番のメリットはデバッガーだと思うんだが。
そりゃコマンドライン派はgdbやcdbでもソースレベルデバッグできると言うだろうが...

IDEのエディタ上で,デバッグ中に変数にマウスカーソル当てると,中身がツール
チップヘルプで表示されるなんて,この上ない便利さだと思わない?

少数のエキスパートを除いて,最大公約数的どちらが仕事が速く出来るか?
と言われれば,やはりIDEの優位性は揺るがないだろう。

620 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 00:05:12 ]
そういう細かい点を日ごろ使って無い人は
わからないんだろうね。

621 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 00:05:38 ]
>>611
>一つ気になるのは、PyQtを動かすためにQtが必要であること。

wxPythonを動かすためにwxWidgetsが必要なのは気にならないの?

622 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 00:17:45 ]
スレが伸びてたからwktkして開いたのに何これ?

623 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 00:30:51 ]
>>619
論点がずれてる。
元々は >>592 にある様に IDE を使えないのは能力の衰えた人という話だった。
君が言う様に IDE を使わないのは少数のエキスパートという事だと、話が真逆。
議論に乗り遅れたのはかわいそうだけど、元々の話と内容が変わってるから、
続けたいなら別スレ立てた方が良いんじゃない?

これだけやっておいてなんだけど完全にスレ違いだしさw

624 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 00:44:47 ]
ではIDE対エディタの続きはこちらでどうぞ
pc11.2ch.net/test/read.cgi/prog/1244310984/



625 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 02:11:59 ]
>621
ttp://blog.taikomatsu.com/2008/06/21/pyqt4メモ/

626 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 07:17:41 ]
>>623
もうやめとくけど,>>619 に書いた「エキスパート」は皮肉だよ。真に受けないで欲しかった。


627 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 07:24:49 ]
もうやめとくと言いながら未練がましく最後っ屁をかますとは人間ができてますなあ

↑皮肉ってこういう事だよ

628 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 07:26:08 ]
あ、真に受けないでね

↑これも皮肉

629 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 07:50:53 ]
>>619 が皮肉になっていないのは捻っているようで全く捻ってないから。
『エキスパートは IDE を使わないでも仕事が速く出来る』という命題は
文字通り解釈出来てしまうから皮肉にならない。

むしろ『中身がツールチップヘルプで表示されるなんて,この上ない
便利さだと思わない?』という表現の方が皮肉っぽいよ。例えば
『中身がツールチップヘルプで表示されるなんて,この上ない便利さ
だと思わない?(見た目に騙される初心者め)』みたいな感じで
解釈可能だからね。『ツールチップヘルプ? ログに残したい時は
どうするのさ。デバッガの使い方くらい覚えた方が良いぜ』みたいに
続けると良い感じかもね。

もしまだ続きがしたいなら >>625 のスレへどうぞ。

630 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 07:51:40 ]
あ、スマソ。>>624 のスレでした。

631 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 07:54:03 ]
Python書くときはvim、C書くときはEmacsだけど
JavaはEclipse、趣味はDelphiな俺が通りますよ〜。

ぶっちゃけどれもそれぞれ使い安いよ。最高!

632 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 08:37:43 ]
Java/Python/LaTeX → Eclipse
C/C++ → Visual C++
その他 → Emacs

633 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 09:47:11 ]
ログに残したいときはそうすれば良いし、
ツールチップでも見れること何が悪いのか
さっぱりわからんw

ツールチップという見た目に対して文句つけてるの?

634 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 10:07:37 ]
>>633
ツールチップで見られるならそれは便利だろう
でもだからといって、他の難点に目をつぶってIDEを使う気にはなれない
エディタ全体・IDE全体としてどうかという話



635 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 14:15:37 ]
このスレ、スレタイ間違ってる?
IDEのスレなのになんでwxナントカって書いてあるけど…

636 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 14:24:25 ]
wxナントカはもう死にました。

637 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 14:34:12 ]
そっか。じゃあIDEの話で盛り上がっていいんだね?!

638 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 15:13:18 ]
まずIDEの議論をして、その結果の良いIDEをwxで実現する予定です

639 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 15:15:18 ]
すみません
wxPython-src-2.8.10.1をインストール死ようとすると
wxWidgetsのコンパイルは性交したらしいのですが
build途中で死ぬんです


640 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 15:20:35 ]
639 途中でした

src/gtk/_gdi_wrap.cpp: In function ‘PyObject*
_wrap_DC_SetDeviceClippingRegion(PyObject*, PyObject*, PyObject*)’:
src/gtk/_gdi_wrap.cpp:20612: error: ‘class wxDC’ has no member named
‘SetDeviceClippingRegion’
src/gtk/_gdi_wrap.cpp: In function ‘PyObject*
_wrap_GraphicsRenderer_CreateBitmap(PyObject*, PyObject*, PyObject*)’:
src/gtk/_gdi_wrap.cpp:31407: error: ‘class wxGraphicsRenderer’ has no
member named ‘CreateBitmap’


641 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 15:24:22 ]
環境は?
環境設定ミスってないか?

642 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 16:23:13 ]
パッチが出てるみたい

ttp://code.google.com/p/devide/source/browse/trunk/johannes/patches/wxpython28101_gdiwrap.diff

--- wxPython/src/gtk/_gdi_wrap.cpp.orig 2009-08-08 16:26:48.000000000 +0200
+++ wxPython/src/gtk/_gdi_wrap.cpp 2009-08-08 16:32:50.000000000 +0200
@@ -4195,6 +4195,10 @@
     virtual wxGraphicsBrush CreateRadialGradientBrush(wxDouble , wxDouble , wxDouble , wxDouble , wxDouble ,
                                   const wxColour &, const wxColour &)  { return wxNullGraphicsBrush; }
     virtual wxGraphicsFont CreateFont( const wxFont & , const wxColour & ) { return wxNullGraphicsFont; }
+
+    // patch required as explained in
+    // groups.google.com/group/wxPython-users/browse_thread/thread/129ba27e2f868c3c?pli=1
+    wxGraphicsBitmap CreateBitmap( const wxBitmap &bitmap ) const { return wxNullGraphicsBitmap; }
 };


643 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 17:59:42 ]
>>642
出来ました
ありがとうございました


644 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 22:28:11 ]
ライブラリAPI使いまくりの部分はIDEが断然楽だけど、
自前コードが多いとこは、なれたエディタのほうが軽快かな



645 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 00:09:56 ]
wxWidgetsってネイティブ以外にonGTKとかonX11とか
あるんだからonQtっつーのも有っても良いような気がする


646 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 01:01:32 ]
>>645
同意。

647 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 05:43:27 ]
>>644
なんでIDE vs エディタ論争になるのかぜんぜんわからん。
俺は両方使い分けてる。IDEの外部ツールに使い慣れたエディタ登録
して,エディタ編集したくなった時は起動すれば,現在編集中の行・列
にカーソルがある状態で編集開始できる。
排他制御問題も,IDE側/エディタ側の双方の設定で解決できるし。

...ってそういう話じゃないのか?

648 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 06:10:25 ]
>>647
話の腰を折るな!

649 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 07:34:16 ]
はぁ?
オマエ見当違いすぎ

650 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 08:35:32 ]
いいからどっちも他のスレでやれ

651 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 23:15:17 ]
ケンカはやめて(><)

652 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 03:38:19 ]
私のために…

653 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 03:39:02 ]
「赤いきつね」と「緑のたぬき」の具材を強化した新商品が、
コンビニ限定商品として10月19日から販売が始まった。

654 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 09:24:18 ]
私のために?



655 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 11:13:38 ]
争わないで!

656 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 12:05:33 ]
もうこれ以上

657 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 13:15:41 ]
すれ違いの話を

658 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 07:52:30 ]
今、VC++2008でwxWedgetsプログラミングしてるんですけど、
他のパソコンでも実行できるようにしたいんですけど、
どのdllをリンクさせる必要がありますか?
何か教えてください(> <)

659 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 08:17:27 ]
それは使ってるもジールによって変わるから
別のPCでエラーが出なくなるまで
必要なファイルを順番に追加(ry

660 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 08:19:14 ]
これのことじゃね?
Microsoft Visual C++ 2008 再頒布可能パッケージ (x86)
ttp://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf

661 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 18:15:10 ]
wxCodeのwxThingsに含まれるwxSpinCtrlDblが使いたくて,SourceForgeからダウンロードしたら,
やたら古くてコンパイルエラーが出るので,SVNでチェックアウトしたらwxCodeからwxThingsが削除
されてた。でもCVSリポジトリを下記のURLでブラウズすると含まれている。

wxcode.cvs.sourceforge.net/viewvc/wxcode/wxCode/components/wxthings/

なのでSourceForge.jpにユーザー登録してCVSでチェックアウトしようとして,SSHの公開鍵を
登録しようとしたら,シェルアカウント情報:に「どのプロジェクトにも所属していないため、
UNIX シェルアカウントはありません。」と書かれていて登録できない。
SourceForge.netの方にもユーザー登録したけど,やっぱり公開鍵の登録ができない。

CVSからwxThigsをチェックアウトする方法があったら教えてください。

662 名前:661 mailto:sage [2009/10/22(木) 18:20:59 ]

ちなみにpserver経由のAnonymoousログインではパスワードを求められたのでパスワードなし
でログインしようとしたらはじかれた。

663 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 01:37:08 ]
>>661
pserverでちゃんと取得できたぜ
やり方間違ってたんじゃないの?
sourceforge.net/scm/?type=cvs&group_id=51305
cvs -d:pserver:anonymous@wxcode.cvs.sourceforge.net:/cvsroot/wxcode login
cvs -z3 -d:pserver:anonymous@wxcode.cvs.sourceforge.net:/cvsroot/wxcode co -P wxCode/components/wxthings


664 名前:661 mailto:sage [2009/10/23(金) 10:16:54 ]
>>663
そのサイトにからコマンドラインをその通りにコピペして実行したんだけど,ログインの段階で
でパスワードを求められて,何も入れずにEnter押すとはじかれる。

Windows XPのコマンドプロンプトでTortoiseCVSに含まれてるcvs.exeでやったんだけど
(PATHを通しておいて),何かまずいのかな?

わざわざ試してくれてありがとう。
「出来た」と言う情報だけでも助かる。昨日はサーバー側に何かあったとか言う可能性もあるし,
コマンドライン版のCVSだけダウンロードしてやってみるとか,幾つか試してみます。



665 名前:661 mailto:sage [2009/10/23(金) 11:24:28 ]
>>663
原因判明。会社のFirewallでCVSのポート(2401)が閉じられてた。
恒久的に開けるには手続が必要で数日かかるとのことなので,一時的にあけてもらって
無事チェックアウト成功。

アリガト。

666 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 00:08:53 ]
wxDev-C++は現在のVer.7.xを最後にDelphiでの開発をやめて、wxWidgets+C++に移植して
新たにwxDevIDEと言う名前で再スタートするらしい。

wxforum.shadonet.com/viewtopic.php?t=25679&highlight=delphi

まだ中身はないけど、既にHPも作成されているし、SourceForgeにも登録されてる。

wxdevide.sourceforge.net/
sourceforge.net/projects/wxdevide/

SourceForgeではSVN上で開発が進められているのがわかる。

今までDelphi 6で開発されてたので、Vista以降のWindowsでは開発環境すら起動しなく
なるだろうからどうするのかなぁと思ってたら、思い切った改革に乗り出した。
建前は「メンテナンスと改良が難しくなったから」と書いてあるが...

wxDev-C++は使いやすいし、All in oneでインストールできる(MinGWや、MinGWと
VC++用のビルド済wxWidgetsライブラリも付いてくる)のでラクチンだけど、Delphi
で開発してると知って尻込みしてたんだが、wxDevIDEが起動に乗ったらWindows上
ではC::Bと戦える(思想は対照的かもしれないけど)強力なRADツールになるかも。
Linuxへの展開も狙ってるみたいなこともチラッと書いてある。

ついでにTDM's MinGWにも対応してくれると嬉しいんだが...
αテスター募集してるみたいだから参加してみようかな...

667 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 13:41:10 ]
既出かもしれませんが、wxTextCtrlで日本語入力(ATOK)中にESCを押すとIME
ではなくダイアログを抜けるので、それまで確定した内容が消えてしまいます。
入力中だった文字はそのままの状態で消えたダイアログの親に行きます。

IME入力中のESCキーがIMEのウィンドウ?に飛ばず下のDialog or TextCtrlに
飛んでいるように見えますがが、回避するにはどこを見たらいいでしょうか。

668 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 14:49:33 ]
うちはそんなことないよ

669 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 15:04:00 ]
>>667
環境を書かないと。OSもコンパイラもバージョンも何も書いてないんじゃ...


670 名前:667 mailto:sage [2009/10/25(日) 15:33:48 ]
>>669
失礼しました。WindowsXP SP3 / ATOK2008 です。
RapidSVN 0.12.0 のリリース物件なのでコンパイラはちょっとわからないですが、
バージョン情報には wxWidgets 2.8.9 とあります。
Audacity 1.2.5 (wxWindows 2.4.2) の設定ダイアログでも同じことが起きています。

671 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 15:43:14 ]
ATOK2008

672 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 16:04:43 ]
>>667
IME関係なくESCだけ押してみたけどDialog閉じないよ
自分で書いたコードでなんか拾ってるんじゃないの?

673 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 17:06:11 ]
・何がしたいのか
・現状どうなっているのか
・それに対する自分の意見
・自分の環境は何なのか(OS,CPU,GPU)
・IMEを他のものにして同じ症状があるのかどうか、ないならそのIMEは何なのか。

・可能ならサンプルをアップローダーに。

このくらいは質問するなら情報として欲しいわ。

674 名前:667 mailto:sage [2009/10/25(日) 19:02:54 ]
>671
MS IME 2002 でも同じでした。
Off の状態でも同じ動作をしますが、これは開発者が意図したものだと思います。
>672
ESC キーでダイアログが閉じるのは wxDialog の標準的な動きではないという
ことですか?
このへんを追っかけてみるとCommitDlgがキーボードのイベントを拾っている所は
見つけられなかったんですが、どうでしょうか。
ttp://rapidsvn.tigris.org/svn/rapidsvn/trunk/src/commit_dlg.cpp
ttp://rapidsvn.tigris.org/svn/rapidsvn/trunk/src/rapidsvn_generated.cpp
>673
>何がしたいのか
コミッターでも何でもないですが、RapidSVN で上述のような現象が起きて不便
なので、パッチを投げたいです。



675 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 19:39:58 ]
キャンセルボタンを貼り付けてなければ閉じなかった
デフォルトボタンが拾ってると思う

676 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 10:52:28 ]
>>658
static link で作ればいいと思うよ。
リリース版を、マルチスレッド/DLL じゃなくて、マルチスレッド(/MT)にする。

677 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 10:55:24 ]
>>674
ESCでダイアログが閉じるのはWindowsの基本的な動作。
>>675 が言うとおり、キャンセルボタン(wxID_CANCEL だっけ?)があるとそうなる。
回避したいのであれば、ボタンを標準じゃなくて、自分でwxButtonで作って、
適当な ID を割り振ればいいんじゃないかな?

678 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 11:27:10 ]
なるほど、未確定中にESC押すと入力文字が消え、その後再度ESC押すとダイアログが閉じるのが
普通の動作だが、RapidSVNは未確定文字のキャンセルとダイアログのクローズが同時に起こるな。

679 名前:658 mailto:sage [2009/10/26(月) 14:56:45 ]
>>676

返信ありがとうございます。
マルチスレッド(/MT)でコンパイルだと一筋縄でいかないようで、
LIBCMT.libを無視するように設定したりしたら、エラーが減ったんですが、最後、

1>リンクしています...
1>xxx.obj : error LNK2001: 外部シンボル ""public: void __thiscall wxStringData::Free(void)" (?Free@wxStringData@@QAEXXZ)" は未解決です。
1>E:\Documents and Settings\xxx\My Documents\Visual Studio 2008\Projects\morphingpot_v1a\Release\xxx.exe : fatal error LNK1120: 外部参照 1 が未解決です。
1>ビルドログは "file://e:\Documents and Settings\xxx\My Documents\Visual Studio 2008\Projects\xxx\xxx\Release\BuildLog.htm" に保存されました。
1>xxx - エラー 2、警告 0

のエラーが対処できません。
コンパイルしているのは、サンプルでOpenGLを使ってるプログラム、penginをベースに変更したものです。
しかし、一番簡単なサンプル、minimalでもこのエラーは発生するみたいです。

680 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 15:39:40 ]
>>679
string.cpp 150行目

#if defined(__VISUALC__) && defined(_MT) && !defined(_DLL)
# pragma message (__FILE__ ": building with Multithreaded non DLL runtime has a performance impact on wxString!")
void wxStringData::Free()
{
free(this);
}
#endif

ってなってるから、DLLだとうまくいかないけどstaticリンクなら大丈夫なはず
なんか間違ってない?

681 名前:658 mailto:sage [2009/10/26(月) 18:07:00 ]
>>680
またも返信ありがとうございます。
あれからいろいろありました。

まず、レスについてですが、stringのソースはその通りでした。
それから、staticリンクというのがよくわからないので、
どうすれば良いかよくわからないです。


それと、一応解決しました。
マルチスレッドDLLでコンパイルしたものの、Releaseファイルの中で、
wx_dll.dspをビルドした時に出てきた、
C:\wxWidgets-2.8.10\lib\vc_dllにあるdllファイルを入れたら、
一応動きました。
なんかもう今はとりあえず動けば良いのでこれで良いです。

682 名前:667 mailto:sage [2009/10/27(火) 01:08:50 ]
>675 >677
ESCでID_CANCEL,ENTERでID_OKの動作になるのはWindowsの仕様なんですね。

>678
samples/dialogsの[Entry dialogs][Text entry]で再現しました。(2.8.10 w/ VC2005)

textctrl.cpp の OnKeyDown, OnChar, MSWShouldPreProcessMessage
window.cpp の MSWProcessMessage, MSWShouldPreProcessMessage には
ESC(IME on/off とも)の入力が飛んでこないようです。
どこなら引っ掛けられますかね?

683 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 10:37:38 ]
>>681
それだと MSVCRT(のDLL) がない環境で動かないかも?
/MT で使う場合は wxWidgets のライブラリも /MT でコンパイルしないと駄目だけどやった?

684 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 10:39:56 ]
>>682
確かダイアログの場合は特殊で ESC を雄と WM_COMMAND の ID_CANCEL が
飛んでくるんじゃなかったっけ?
wxWidgets の場合は…なんだっけ、EVT_? マクロを使うんだったかな?



685 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 12:42:25 ]
>>682
IsDialogMessage()あたりだろうと探してたりしてみたけど、結局同じwindow.cppにある
キーボードフックからESCを検出して独自にIDCANCEL送ってるわ。
フック周りをIMEを意識した作りに直さないと無理そう。

686 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 12:46:10 ]
一応送ってるとこ書いとくけど、dlgcmn.cppのwxDialogBase::OnCharHook()で呼んでる
EmulateButtonClickIfPresent(wxID_CANCEL)ね。

687 名前:667 mailto:sage [2009/10/27(火) 13:17:31 ]
みなさんありがとうございます。FEP の On/Off で SetEscapeId() を
かけたら良さそうな気がした(まだ試してない)んですが、msw 以下の
ソースでも wx のヘッダばかり include してますよね。
仮に Imm 系の API を呼ぶようなパッチが作れたとして、wx の本家には
受け入れられないものですか?

688 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 13:42:48 ]
各OS固有の部分はどうする?

689 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 14:54:57 ]
あんまり場当たり的なことはよしたほうが・・・
とりあえず、実験的なコードだけどwindow.cppのwxKeyboardHook()の先頭で

HWND hWnd = GetFocus();
HIMC hIMC = ImmGetContext(hWnd);
BOOL immOpen = FALSE;
if (hIMC)
{
 if (ImmGetOpenStatus(hIMC))
 {
  int size = ImmGetCompositionString(hIMC, GCS_COMPREADSTR, NULL, 0);
  immOpen = (size > 0);
 }
 ImmReleaseContext(hWnd, hIMC);
}
とやって、immOpenがTRUEなら既存のルーチン、FALSEならそのままCallNextHookEx()
呼んだら希望の動きはしたよ。
でもまあ、imm32.libのリンクがいるし、この部分もLoadLibrary()+GetProcAddress()にして
リンク不要にしたらいいかもね。window.cppはWindows固有のコードみたいだしね。

690 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 15:05:00 ]
おっとミス、TRUEとFALSE逆ね、まあわかると思うけど。

691 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 15:53:57 ]
つまり EURT と ESLAF が正解。

692 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 16:59:38 ]
>>691
暇人乙

693 名前:658 mailto:sage [2009/10/27(火) 18:17:38 ]
>>683
一応やったけど、違うエラーがいっぱい出てきたので、
よくわかりませんでした。

694 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 10:49:43 ]
>>693
違うエラーってどんなのよ。
VC++使ってんだよね?
手順説明すると、Releaseの構成を使うとしたらwxのプロジェクト開いた状態で、
ビルドメニューの構成マネージャ開いてアクティブソリューション構成のとこから
新規作成を選択、名前をMT Release とかにして、設定のコピー元をReleaseにしてOK押して
MT Releaseが選択されてる状態を確認したら、プロジェクトをシフトクリック等で全部選択して
右クリックでプロパティを出して、構成プロパティのC/C++のコード生成のランタイムライブラリを
マルチスレッド(/MT)にしてOK
その後ソリューションのビルドすりゃlibができるよ。




695 名前:デフォルトの名無しさん [2009/10/28(水) 14:28:15 ]
Adobe Source Librariesって使ってる人いる?
stlab.adobe.com/

ちゃんと見てないけど、これってwxWidgetsの代わりになるもんなのかどうだろう?

696 名前:658 mailto:sage [2009/10/29(木) 16:38:29 ]
>>694
何処にも書いてなかった手順ありがとうございます。

しかしですが、
手順どおりやって、
サンプルプログラムminimalをマルチスレッドでコンパイルしたら、
1>wxbase28.lib(dir.obj) : error LNK2001: 外部シンボル ""void __cdecl operator delete(void *)" (??3@YAXPAX@Z)" は未解決です。
とか
1>wxbase28.lib(filefn.obj) : error LNK2019: 未解決の外部シンボル _strstr が関数 "public: __thiscall wxFile::~wxFile(void)" (??1wxFile@@QAE@XZ) で参照されました。
とかのエラーが
合計1740個出てきて、? でした。

前に色々いじったのが悪かった可能性がありますが・・・

697 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 16:47:37 ]
>>696
すべての規定ライブラリの無視(/NODEFAULTLIB)を「はい」にしてないか?
いいえにしとけ

698 名前:デフォルトの名無しさん mailto:sage [2009/10/31(土) 23:35:03 ]
C++で初めてWxWidgetsを使ってプログラム書いてみています。
複数行のwxTextCtrlに、複数行の文を書いた状態で、GetLineText(0)のようにして、
任意の1行を取り出して、それをそのまま、wxMessageDialogでダイアログ表示させているのですが、
この1行が、半角のアルファベットの時などはきちんと1行全体が表示されるのですが、
この1行が、4文字以上の日本語の場合は、最後の文字だけが欠けて表示されてしまいます。
(例:あいう→あいう、あいうえ→あいう、あいうえお→あいうえ)

C++のほうも初心者ですのでどこか間違っているのかもしれませんが、
解決方法をご存知の方が居られましたら、教えていただけませんでしょうか。お願いします。

699 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 03:15:07 ]
ソース貼れ

700 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 10:37:03 ]
すみません。本当に質問そのままでしたのでソースを書きませんでした。失礼しました。
尚、開発環境は、Visual C++ 2008 Express Editionを使用しています。
wxWidgetsのバージョンは、2.8.10です。
以下、再現できるソースです。宜しくお願いします。

#include "wx/wx.h"
#include "wx/msgdlg.h"
class Test : public wxApp{
public:
virtual bool OnInit();
};
IMPLEMENT_APP(Test)

bool Test::OnInit(){
wxFrame *mainf = new wxFrame(NULL,-1,wxT("サンプル"),wxPoint(-1,-1),wxSize(300,250),wxCLOSE_BOX | wxSYSTEM_MENU | wxCAPTION);
mainf->Show(TRUE);
wxTextCtrl *inp = new wxTextCtrl(mainf,-1,wxT("あいうえお"),wxPoint(0,0),wxSize(-1,-1),wxTE_MULTILINE,wxValidator(),wxT("Form0"));
wxMessageDialog *d = new wxMessageDialog(NULL,inp->GetLineText(0),wxT("サンプル"),wxOK,wxPoint(-1,-1));
d->ShowModal();
return TRUE;
}


701 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 11:56:49 ]
見てみた。
EM_LINELENGTHがマルチバイトの文字でも文字数を返すのに
バイト数で確保してるせいだね。
あいうえお→5にNULL文字1+長さ指定のための2バイト確保で8バイト分しか用意してないから
「あいうえ」になるみたい。

702 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 12:19:22 ]
なんか状況によるみたい、ググってもデバッグ環境での違いとかよくわからん。
UNICODE文字セットだとうちでは問題でないけど、どうかな?
manifest書けばいいのかもしれないが。

703 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 13:22:08 ]
>>701
ありがとうございます。そういう原因でしたか。
素人なりに、EM_LINELENGTHまわりの処理をしているようなコードがないかと考え、
wxWidgetsのファイルを探したのですが、よくわかりませんでした・・・。
GetLineTextを使うのを諦めて、他に違う方法を考えるしか無いでしょうか?

704 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 14:31:27 ]
ファイルの場所は、こないだ出たwindow.cppと同じくsrc/msw/にあるtextctrl.cppね。
XPの途中(SP2以降)から仕様変更ってほんまかいな。
うちで試したのはVista64で、たしかに文字数が返ってきてた。

そういやimm〜もLibのリンク不要版書いたけど、見たい人いるかなあ。



705 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 15:07:19 ]
UNICODE版に汁

706 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 15:57:38 ]
>>705
アドバイスありがとうございます。
setup.hで、wxUSE_UNICODEを1にしてビルドしたところ解決しました。
これでwxWidgetsの内部処理がUNICODEになったと考えて良いのでしょうか?

707 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 08:42:01 ]
zetcode.com/wxpython/

708 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 11:31:25 ]
zetcode.com/tutorials/pyqt4/

709 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 13:55:43 ]
>>706
そうだけどサロゲートペアには対応してないっぽい

710 名前:658 mailto:sage [2009/11/02(月) 15:10:21 ]
>>697
久しぶりにプログラミング再開しました。



できました。ありがとうございます。

すべての規定ライブラリの無視(/NODEFAULTLIB)は
いいえのままでしたが、
何かとごっちゃになって、無視するライブラリにLIBCMT.libとかがありました。
とりあえず、できた奴を他のパソで起動してみます。


711 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 22:57:11 ]
どうも。wxWidgets2.8.10、Unicnde Buildを使っているのですが、ShiftJIS->Unicode、Unicode->ShiftJISを一発でするにはどうするばいいですか?
どうもEncodingConverterクラスはchar/wcharでの変換しか想定していないようなのです。(wxStringを返すことも出来るようなのですが、実際にやると実行時にエラーになりますorz)

712 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 23:11:52 ]
Linux版使ってるひと?

713 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 00:06:11 ]
>>712
実行時環境を書き忘れていました。実行時環境はWindowsXP SP3です。

具体的なエラー内容は、WXDEBUGをdefineしてビルドするとwxAssertが働いて、wxEncodeConverter::Init()を使用前に呼び出しているにも関わらず「Init()で初期化してください」と表示されるのです。(リリースビルドでも失敗します。)

714 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 00:29:22 ]
>>713
俺はWIN32 APIで変換してるよ。手順がチトややこしいので、無名名前空間内に変換用の関数を
書いたヘッダファイルを用意して使ってる。細かい方法は仕事場に行かないと書けないので、
明日にでも...




715 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 01:47:45 ]
WCHAR *SJIS2WCS(string sjis)
{
if(sjis == "") return NULL;
int wlen = MultiByteToWideChar(CP_ACP, 0, sjis.c_str(), -1, NULL, 0);
WCHAR *wbuf = new WCHAR[wlen + 1];
if(wbuf == NULL) return NULL;
*wbuf = L'\0';
if(MultiByteToWideChar(CP_ACP, 0, sjis.c_str(), -1, wbuf, wlen) <= 0){
delete [] wbuf;
return NULL;
}
return wbuf;
}
string WCS2SJIS(WCHAR *wbuf)
{
if(wbuf == NULL || wbuf[0] == L'\0') return "";
int slen = WideCharToMultiByte(CP_ACP, 0, wbuf, -1, NULL, 0, NULL, NULL);
char *sbuf = (char *)_malloca((slen + 1) * sizeof(char));
if(sbuf == NULL) return "";
*sbuf = '\0';
if(WideCharToMultiByte(CP_ACP, 0, wbuf, -1, sbuf, slen, NULL, NULL) <= 0) return "";
sbuf[slen] = '\0';
return sbuf;
}

716 名前:714 mailto:sage [2009/11/04(水) 09:51:54 ]
おぉ,先に書いてくれましたね。私の使っているコードも殆ど同じ。
一旦,必要なバッファの長さを取得してからもう一度同じ関数で変換する必要があるのがミソ。
C++的には >>715 の関数をstaticな大域関数にするのではなく,

namespace {
WCHAR* SJIS2WCS(string sjis)
{
//中身
}
}

のように無名名前空間に入れたヘッダファイルを用意して,この関数を利用するソースモジュール
からインクルードして使うのが良いようです(参考書なんかによく書いてある)。

717 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 15:39:45 ]
>>716
ありがとうございました。

718 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 21:13:49 ]
>>716
ヘッダファイルに関数の中身まで書くの抵抗あるんだけど
C++だと書いて良いというかそういうもんなの?

719 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 22:38:43 ]
>718
翻訳単位毎に実体ができちゃうから抵抗があるというのは正しい感覚だと思われ。
ヘッダをインクルードしただけで使いたいってんなら自分なら inline にしておくかな。

720 名前:716 [2009/11/04(水) 23:38:45 ]
>>719

> 翻訳単位毎に実体ができちゃうから抵抗があるというのは正しい感覚だと思われ。
> ヘッダをインクルードしただけで使いたいってんなら自分なら inline にしておくかな。

おっしゃる通りで...
無名名前空間でヘッダファイル内に定義して、それを異なる翻訳単位で複数使うと、
中身が同じオブジェクトファイルが複数できてしまうよね。

異なる翻訳単位でも共通に使えるようにするのなら、コード効率を考えなければinlineに
するのが良いだろうし、コード効率を重視するのならシングルトンパターンでも使って、
実体が一つしかできないようにしてクラスにするのが良いと思われ。

昔のC流でグローバルな関数にするのが一番簡単だったりして...


721 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 05:33:21 ]
inline にしておけば翻訳単位ごとに実体ができようが
リンク時に1つにまとめられるぜ

722 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 06:16:24 ]
多分、最適化のこともインラインのことも勘違いしてるんだろうね。

インライン展開とは、関数を実行したのと同じ「意味」になる処理を呼び出し側に埋め込んで
関数呼び出しのコストを無くすことであって、
「意味」を変えないためには>>526のようなことが必要になる。
これは最低限の自分の存在理由を満たしているだけであって、「最適化」などではない。

一方、彼の考えるインライン展開は、引数として渡した「記述」を切り貼りして
コードの姿を組み立てて、それを呼び出し元に貼り付ける、というような物らしい。
でも、それはマクロがやってることだ。

マクロといえば、簡易的なLisp処理系を作って、強力と名高いLispのマクロを実装してみると、
このへん勉強になるかもね。
Lispの言葉でいうなら、C++の関数は「引数はすべて評価してから関数に渡される」。
つまり f(g(), h());の時、fが受け取る(そして扱う)のは「g()の戻り値」と「h()の戻り値」。
だからインライン展開するにあたって、>>526のようにすることでそれを実現する。
それに対して、Lispのマクロは「引数を評価せずに渡し、戻り値で呼び出し側を置き換える」。
こっちが彼の考えるインライン展開に近い。



723 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 06:40:41 ]
???

526 :デフォルトの名無しさん [sage] :2009/10/06(火) 21:04:39
no problem

724 名前:716 mailto:sage [2009/11/05(木) 08:30:56 ]
>>722
そもそも誰に対するレス? アンカーも間違ってるので,言っていることがイマイチよくわからん。




725 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 10:30:25 ]
>>721

> inline にしておけば翻訳単位ごとに実体ができようが
> リンク時に1つにまとめられるぜ

それはないだろう。
もうしそうだとすると、inline関数の呼び出し時に、通常関数の呼び出しと同じように
呼び出しアドレスや引数がスタックに積まれることになってオーバーヘッドが大きく
なってしまうから、inline関数の意味がなくなってしまう。

そもそもその話の出典はどこ?

726 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 13:15:10 ]
pc12.2ch.net/test/read.cgi/tech/1231640024/

727 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 14:20:58 ]
>>721, >>726

なぁんだ、>>722はSTLスレのコピペだったのか。
(STLスレのinlineの話は長すぎて読みきれん!)

で、>>721だけど、inline関数の中から呼び出される関数の実体は一つにまとめられる
と言いたいのかな?それともコンパイラがインライン展開できなかったときは一つに
まとめられるという話かな?

ANSI C++規格書の7.1.2の2と4にそのあたりのことが書いてあるけど、俺の英語力では
「inline関数への呼び出しはリンク時に一つにまとめられる」とは読めないなぁ。

仮にまとめられるとすると、スタックを使わないでどうやってその関数を呼び出すの?
「inline関数を使うと、スタックによる関数呼び出し手続きを省くことができるので、
オーバーヘッドを省くことが出来る」と、多くの参考書等にも書いてあると思うが。

728 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 15:23:16 ]
レジスタ渡しで呼ばれてるんだろうなw

729 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 15:59:45 ]
それは最早呼び出し規約(fastcall)の話であってinlineじゃないな…w
つか、wxWidgetsのスレでやる話なんだろうか

730 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 16:03:57 ]
>>728
wが付いてるから冗談だということで...

>>729
んだね。スマソ

731 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 15:50:36 ]
wxWidgets用のGUIビルダーやRADツールで、カスタムウィジット(例えばwxCodeに登録されているウィジット)を
登録して、ペタポトできるようにする仕組みを持ってるものってある?

あったら具体的に教えてもらえると嬉しい。

732 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 18:14:35 ]
XRCed

733 名前:731 mailto:sage [2009/11/08(日) 22:45:41 ]
>>732
サンクス。XRCedリソースエディタとしてC++用にも使えるんですよね。
まだ試してないんですが、やってみます。

734 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 13:20:51 ]
XRCed使ってみた。巷で言われる「癖のある使い勝手」はsizerベースであることを考えれば
オレは気にならないけど,イベントハンドラの名前すら記述できないし,xrcしか出力できない。

wxrc使っても,これじゃ結局イベントハンドラそのものと,イベントとイベントハンドラを接続
するコードは手書きするしかないんじゃないの? オレには向いてないみたい。



735 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 18:27:47 ]
すいません・・・
今、wxStringの文字列を、C言語のchar型に変換する方法を探ってるのですが、
なかなか見つかりません・・・

static char *C文字列;

で宣言したのを、

C文字列 = wx文字列(wxConvUTF8);

とやったら、

1>xxx.cpp(562) : error C2440: '=' : 'const wxChar *' から 'char *' に変換できません。
1> 変換で修飾子が失われます。

と言われた所です。

736 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 18:56:13 ]
そもそもconstを非constに暗黙の変換はできない
C言語(C++ですらない)の教科書に当たるか
const_castでググるべし

737 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 20:59:45 ]
テキストボックスでRead Onlyなのに日本語入力だと普通に書き換えられるのは仕様なの?

738 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 23:36:34 ]
>>735
c_str()

739 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 00:11:36 ]
>>735
Unicodeビルドか?Ansiビルドか?
話はそこからだ。

740 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 04:25:02 ]
overviewsの wxMBConv classes overview, Unicode support in wxWidgets,
それから wx/strconv.h あたりを読むよろし。

741 名前:735 mailto:sage [2009/11/10(火) 17:11:59 ]
const char 変換物;

変換物 = 変換元.c_str();

char *変換物 = const_cast<char*>(変換物);



ってやれば、とりあえずコンパイルは通りました。
ありがとうございます。

const charでやっといて、const付きで変換して、
あとではずすって感じですね。


んで、今度は文字コードが上手くいってないんですが・・・
コンパイルはVC++で、文字セット「設定なし」です。
一体どうすれば・・・

742 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 17:25:42 ]
どういうコードでどういうデータを使ったらどううまくいかないのさ

743 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 22:36:10 ]
>>741
char *変換物 = const_cast<char*>(変換物);
変換元が無くなったら死ぬよね

744 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 00:22:46 ]
>>741
質問するならもっと詳しく書け。
そんな質問じゃエスパーが現れるまで誰も答えられん。



745 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 03:23:39 ]
ただの愚痴だな
質問ですらない

746 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 10:37:13 ]
>>741
コンパイル通ればいいてものじゃないでしょ。
char *p = strdup(unicode_string.c_str());
とでもすればいいのに。
あと、文字セットは Unicode か MBCS(マルチバイト文字)
じゃなきゃ駄目だと思うよ。
wxWidgets 使うなら Unicode でがんばって。

747 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 10:51:51 ]
みんな wstring って使ってる?

748 名前:デフォルトの名無しさん [2009/11/11(水) 16:12:34 ]
wxWidgetsは、どう発音するの?
ダブリュ・エックス・ウィジッツ?

既出かもしれないけど教えて。

749 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 16:36:55 ]
日本人相手なら普通はダブルエックス・ウィジェッツ
でいいんじゃね?

750 名前:デフォルトの名無しさん [2009/11/11(水) 16:42:32 ]
>>749
ありがとう

もしかしたら、ウィックスウィジェッツとか発音するのかと思ってた。


751 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 12:45:23 ]
>>748
www.youtube.com/watch?v=xiKoaXobwk8

この00:09の所でダブリュ・エックス・ウィジッツと発音してるね。

752 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 16:47:45 ]
2.9.0になって中身がだいぶ変わったな
今までのがビルド通らないし、動きもしない・・・
バグじゃなくて仕様変更だからしょうがないんだけど。

753 名前:735 mailto:sage [2009/11/16(月) 14:46:14 ]
解決しました。ありがとうございます。

754 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 10:37:38 ]
Visual C++ 2008 Express EditionでwxWidgets2.8.9を使用しているのですが、
wxURLを使おうとすると、リンクするときにどうしてもエラーになってしまいます。
(そもそも、wxURLを書いただけでエラーになります。
wxURL以外は幾つかしか使っていないのですが、普通にうまく動きます。)

test.obj : error LNK2001: 外部シンボル ""public: virtual __thiscall wxURL::~wxURL(void)" (??1wxURL@@UAE@XZ)" は未解決です。
test.obj : error LNK2001: 外部シンボル ""public: __thiscall wxURL::wxURL(class wxString const &)" (??0wxURL@@QAE@ABVwxString@@@Z)" は未解決です。
****\****.exe : fatal error LNK1120: 外部参照 2 が未解決です。

初心者で、解決しようにも原因さえわからないのですが、
アドバイスを宜しくお願いします。

以下、再現できるコードです:
#include "wx/wx.h"
#include "wx/url.h"
class MyApp : public wxApp{
public:
virtual bool OnInit();
};
IMPLEMENT_APP(MyApp)
bool MyApp::OnInit(){
wxURL url(_("example.com/"));
return TRUE;
}




755 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 11:40:44 ]
>>754
普通に通るけど、、、ライブラリは自分でコンパイルしたやつ?
バイナリ使ったのならどれかな?

756 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 13:21:44 ]
>>755
ありがとうございます。結構前に入れたものなのでよく覚えていないのですが、
wxMSW-2.8.9-Setup.exeをダウンロードしてインストールし、
build\msw\wx.dswを、VC++ 2008 Expressで開いて、「ソリューションのビルド」をしたものだと思います。

757 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 13:35:02 ]
>>755
すみません・・・。
freepg.fc2web.com/cpp/topic_wx_vc.html
をなどを参考にして環境を構築していたのですが、
自分のPCにある、lib\vc_libを見て、「追加の依存ファイル」に無いファイルがあることに気づき、
とりあえずwxURLと関係のありそうな、wxbase28_net.libがありませんでしたので、
それを、プロジェクトのプロパティで、追加の依存ファイルに追加したところ、
エラーが出ずに、ビルドができました。とりあえずエラーは出ないようになったので先に進めます。
初心者の質問につきあっていただき、ありがとうございました。感謝しています。

758 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 14:02:57 ]
関係ないけど
追加の依存ファイルの入力枠って
なんであんなに使いづらいんだろう

759 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 14:05:11 ]
使いづらいよねw
#pragma comment使えってことなのかなあ。

760 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 14:41:33 ]
includeパスもlibパスも使えねー
嫌がらせだろあれはw

761 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 16:13:55 ]
>wxDev-C++
をインスコしたら、
>C:\Program Files\Dev-Cpp
フォルダに、
vcl60.bplとかrtl60.bplがあるみたいなんだけど、
これってC++ Buider か何か?

762 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 16:19:04 ]
うん

763 名前:761 mailto:sage [2009/12/02(水) 16:28:52 ]
嬉しいけど、
C++ Builder を購入してる自分的には、
2種類のソフトと思ってたのが実は1種類みたいに思えて、
損した気分w


764 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 16:51:31 ]
えっ



765 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 17:10:36 ]
えっ

766 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 17:43:44 ]
それはあれだぞ
WindowsのゲームはDirectX使ってるから実は1種類だ!!
って言ってるのとかわらんぞ・・・?

767 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 17:51:31 ]
それじゃドズ1種類じゃね?
他に、ウィィとかP$3買えば3種類

768 名前:デフォルトの名無しさん [2009/12/03(木) 11:43:52 ]
wxwidgetsのデザイナ入ってるIDE、codeblocksとかwxdevとかで
デバッグ機能を使って、STLのvectorとかlist使った配列の中身見れるやつある?



769 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 21:37:55 ]
win32api と wxWidgets の違いって何?

wxWidgets でクロスプラットフォーム GUIアプリを作ろう
0xcc.net/pub/uu-2004-08/

↑を見るとwin32をラッパしているだけ、と書いてあるのだが
windows限定で開発している俺には何もメリットない認識でおk?

770 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 23:25:16 ]
MFCで開発してる奴が少ない労力でLinuxやMacで動かせるようになる点がメリット。
ということは、どういうことか分かるよな?

771 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 22:27:34 ]
文字列扱いやすいし,windowsだと冗長になってしまうコードも
簡潔に書けるってのもいいんじゃない?

772 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 23:33:40 ]
文字列扱いやすいなんてのはSTLやMFC使えば一緒だよ

773 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 00:10:00 ]
そう?MFCは使ってないからなんとも言えないけど
STLやQtとか他のライブラリと比べると操作関数が豊富だったと思う
所詮好みの問題だけどさ

774 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 01:42:25 ]
詳しい文書があり、またPythonで使えるのも良い。
GUIの挙動とか確認したい時に一々コンパイルせずともPythonでトライアンドエラー出来るのは楽。



775 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 01:10:00 ]
SSLのソケットは簡単に作れないですかね。
クライアント・サーバどちらも使いたいんですが。

776 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 02:46:55 ]
wxssl.sourceforge.net/
ちなみに中身はまったくみていない

777 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 04:43:06 ]
求)リードプログラマー
か・・・

778 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 07:28:10 ]
>>769
Code::BocksのwxSmithやwxFormBuildeや、wxDev-C++みたいな
ポトペタRADツールを使うと、MFCよりサクサク開発できる。
MFCは書かなきゃならないコードが多すぎる。

779 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 02:33:04 ]
>>769
何もメリットないってことはないけど、俺ならクロスプラットフォーム
でもないのにあえてwxWidgetsを選ぶことはないな。

780 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 03:26:04 ]
Win32API とか MFC のダサさを回避したいときには
敢えて wxWidgets や Qt4 とか使うのは間違いではないよ

781 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 12:43:16 ]
同感。C++ Builderは既に死に体だし。

> 敢えて wxWidgets や Qt4 とか使うのは間違いではないよ

最近の流れだと wxWidgets は Qt に比べて分が悪いね。
Qt より単純で好きだったんだけど。

782 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 13:20:52 ]
wxWidgetsは、気に入らない部分を書き換えてビルドできちゃうところがいい

783 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 16:24:55 ]
スタティックリンクも出来るし

784 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 00:03:56 ]
3.0まだぁー?



785 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 00:06:43 ]
>>779
で、何選ぶの?

786 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 12:08:16 ]
>>785
この流れでは言いにくいけど俺はC++Builder。


787 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 12:58:26 ]
俺は逆にC++ Builderから逃げようとしている。
Borland⇒CordGear⇒Embarcaderoと母体が変わるうちにどんどん品質低下。
バグを充分に修正しないまま次期バージョンを発売してしまう。
メチャクチャな翻訳やリンク切れ満載のヘルプの酷さは見るに耐えない。

以前は沢山カキコのあったMLも超閑古鳥。
問い合わせしても自分で答えずに一般人のHPのURLをメールに貼って
「ここに情報があります」と言うヒドいサポート。

最新バージョンへの優待バージョンアップも申し込みが少なかったらしく,
昨年末までだった予定を一ヶ月延長する情けなさ。
トライアル版使ってみれば,バージョンアップする気がなくなるw

Windows限定なら使いやすくて仕事が速く出来る最高の製品だった
はずなのに,こんな製品に誰がした!

QtをNOKIAが買ったように,どこかの大きな会社が買ってくれんかな。
wxWidgetsもどこかがバックに付かんかな。

788 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 14:47:56 ]
同意

789 名前:質問 mailto:sage [2010/02/05(金) 12:50:49 ]
wxPythonを使っているのですが、
wx.media.MediaCtrlでマウスクリックのイベントから関数をコールバックすることはできないのでしょうか?
もしできないのでしたら、親ウィジェットでマウスクリックのイベントを受け取ることはできるのでしょうか?

790 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 15:54:21 ]
>>787
どこもバックに付かないから良いんじゃまいか

791 名前:質問 mailto:sage [2010/02/06(土) 00:14:07 ]
すみません、解決しました。

792 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 17:38:58 ]
wxString strを
cout << str << endl;
という風に出力したいんだけど、コンソール入出力用のストリームってある?

793 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 17:42:12 ]
ここには人はいませんよ。ばいばいさるさん。

794 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 18:35:55 ]
よく分かってないけど自己解決



795 名前:デフォルトの名無しさん [2010/02/07(日) 00:44:24 ]
VC++2008EE+wxに越してきたのですがUnicode Releaseってのがあるのですが
やっぱりこっちの方がいいんですかね?

796 名前:デフォルトの名無しさん [2010/02/08(月) 00:21:46 ]
あんまり人いないのかな?

797 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 00:32:22 ]
Qtに引越ししつつある

798 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 00:35:47 ]
>>796
枯れてきたから使用者が多くても質問者は少ないんだろ。

799 名前:デフォルトの名無しさん [2010/02/08(月) 00:39:46 ]
>>797>>798
そうなのか
Qtの方ってOSが搭載してるブラウザコアを組み込んで使えたりするのかな?

wxのHTML処理関連は素のHTMLは問題なさそうだけどcssが駄目そうだし

800 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 01:02:14 ]
QtにはWebKitが付いたんだっけ?

801 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 01:05:52 ]
wxの話では盛り上がらないけど
Qtの話になると盛り上がるwxスレ

802 名前:デフォルトの名無しさん [2010/02/08(月) 01:07:42 ]
Monoで作るというのもあるよ
あれだとC#でかけるのでC++の糞構文に悩むこともない
ただMSの動きとかもろももろでどうなるかなんだよね

803 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 01:11:26 ]
Qt で書かれたアプリはときどき見かけるけど
wx で書かれたのってあまりお目にかからない
どんなのがあるの?

804 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 01:14:24 ]
>>803
python製アプリ見ればほとんどwxだよ。



805 名前:デフォルトの名無しさん [2010/02/08(月) 01:25:36 ]
休みを利用してwx関連をいろいろ試したけどGUI関連のツールが微妙だな
ネットで調べるとすぐにでてくるwxGladeとかもうね・・・

806 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 01:35:40 ]
まぁ、GUIなんて手で書けばいいし

807 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 03:16:08 ]
wx で GUI 独立設計したいなら XRCed がいいよ

808 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 11:11:06 ]
>>795
あんまり頻繁に見ていないんだ、ごめんよ。
で、Windows で使うなら UnicodeRelease/UnicodeDebug でいいよ。
むしろそれ以外は気にしてはいけない。
static か DLL かは好みで。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<236KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef