5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

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

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


2 :デフォルトの名無しさん:2008/06/28(土) 21:51:28
wxWidgets 2.8.8 is out !!!
http://wxwidgets.info/node/49


3 :デフォルトの名無しさん:2008/06/28(土) 23:44:21
退かぬ!! 媚びぬ 省みぬ!!

4 :デフォルトの名無しさん:2008/06/28(土) 23:46:50
>3
省みるからバグフィクスが出るんじゃまいか
とマジレスしてみる
そして>1乙

5 :デフォルトの名無しさん:2008/06/29(日) 09:11:25
昔、ソース覗いたけど、今ってどうなってんだ

6 :デフォルトの名無しさん:2008/06/29(日) 15:45:28
今でも、ソース覗いたよ

7 :デフォルトの名無しさん:2008/06/29(日) 19:48:18
wxMSW2.8.7 のwxTE_RICH を指定したwxTextCtrlのインターフェースで、
縦スクロールバーが出るぐらい文字を入力して、適当な位置にキャレットを動かしてEnterを押すと、改行される毎にキャレットがある行がインターフェースの先頭に行ってしまうというバグがあったんだけど、2.8.8でも直ってない・・・ですね。。
wxRichTextCtrlもなんか変なままだし・・泣

8 :デフォルトの名無しさん:2008/06/30(月) 10:54:27
どんどんでかくなってくよぅ
もっと小さくして下さい

9 :デフォルトの名無しさん:2008/06/30(月) 11:33:17
>>7

>>改行される毎にキャレットがある行がインターフェースの先頭に行ってしまうというバグ
sample の wxMSW widget を実行してみたけど、現象がよくわかりません。
普通に動いている気がするのですが…

10 :デフォルトの名無しさん:2008/06/30(月) 23:31:47
>2.8.8でも直ってない
報告した?

11 :7:2008/07/01(火) 22:07:46
>>9
>>10
すいません自分の勘違いかも??
もうちょっと調べてみます。。

12 :デフォルトの名無しさん:2008/07/02(水) 00:37:56
最近になって本格的にWxWidget触り始めたんだけど
サイザーって理解するのに時間かかるな。特にStaticBoxSizer
addで追加するオブジェクトを間違えると、即座にレイアウトが崩れて……

13 :デフォルトの名無しさん:2008/07/07(月) 11:06:47
>>12
wxGlade あたりでレイアウトしてみて
確認してコーディングしてみるのも
いいかもしれませんよ。

14 :7:2008/07/07(月) 12:40:49
>>7
なんか、EVT_TEXTイベントのタイミングでwxTextCtrl::SetDefaultStyle()を使うとキャレットの位置がおかしくなる、ということのようです。

また、別件になるのですが、EVT_TEXTのタイミングで入力されたマルチバイト文字列をwxTextCtrl::SetStyle()を使ってスタイル変更しようとすると、なぜかfalseが返ってきてしまうのです・・。(ASCII文字なら成功する)
仕方がないので、テキストコントロールの中の文字列が変更される時のイベントで、EVT_TEXTよりあとに発生するイベントのタイミングでSetStyle()を使いたいのですが・・EVT_TEXTより後に発生するイベントって何かあるでしょうか??探しても見つかりませんでした。

Timer使うとまた色々不都合があるんですよね・・

15 :7:2008/07/07(月) 12:47:02
>>キャレットの位置がおかしくなる、ということのようです。
おかしくなることがある、ですね。縦スクロールバーが出ている時に改行すると自分のところではおかしくなりました。
Windows XPです。


16 :デフォルトの名無しさん:2008/07/07(月) 15:31:56
バグレポート

17 :7:2008/07/07(月) 18:33:04
英語自信ないっす。。

18 :デフォルトの名無しさん:2008/07/07(月) 21:56:39
>>14
使っているライブラリオプションは UNICODE でしょうか?


19 :7:2008/07/08(火) 00:24:01
>>18
そうです!


20 :18:2008/07/08(火) 13:23:29
>>19
調べてみるけど、ちと時間くださいな。
あと、そういう時は再現できる簡単なソースを書いておくと
調べる人が多いかもしれません。

21 :18:2008/07/09(水) 15:51:13
>>19
調べてみました。
結論から言いますと Windows の問題で wxWidgets 側でなんとかできる
問題ではないですね。(同じようなコードを MFC で書いてもエラーになる)
Microsoft あたりに文句を言えば、いつかは直るかもしれません?

22 :7:2008/07/09(水) 23:24:43
>>20 >>21
(多分前スレからお世話になりまくっていると思うのですが・・)本当に何度もご親切にありがとうございます。
もしかしてwxWidgetsの開発に関わっている方だったり・・?違うか。

Windows自体の問題とのことなのですが、すいません、>>14 では質問していることが2つあったのですが、どちらがWindows自体の問題だったのでしょうか?


23 :7:2008/07/09(水) 23:45:39
あとすいません、また追加で質問で恐縮なのですが・・IMEの変換状態が変化したときにricheditが送出するEN_IMECHANGEというイベントマスクをwxWidgets側で捕まえたいのですが、
Win32APIが送るイベントマスクをwxWidgets側で拾いたい時はどうすればよいのでしょうか??
IMEの変換状態が変化した時のイベントのようなものは既存のwxWidgetsにはなさそうなので、自分で書き足さなければいけないと思うのですが・・。


24 :18:2008/07/10(木) 10:49:04
>>22
残念ながら違います。
こういったライブラリで遊ぶのが好きなだけです:-)

で、>>14 の質問の
>また、別件になるのですが、EVT_TEXTのタイミングで入力された
>マルチバイト文字列をwxTextCtrl::SetStyle()を使ってスタイル変更
>しようとすると、なぜかfalseが返ってきてしまうのです
この件は Windows の仕様のようです。(MFC でも同じことが起きます)

EVT_TEXT(Windows の EN_CHANGE)で、SetStyle(MFC の
CRichEditCtrl::SetSelectionCharFormat 等)でも同じエラーになります。

ですので、現状では Windows の仕様なのでいかんともしがたいかと。

EVT_TEXT(EN_CHANGE)の後に飛んでくるメッセージは特にないようです。

25 :18:2008/07/10(木) 11:53:44
>>23
独自のメッセージを持ってくる方法があった気がしたけど
きれいさっぱり忘れましたorz
一番手っ取り早い方法は wxTextCtrl::MSWCommand の
継承メンバを作っちゃう方法かな?

26 :デフォルトの名無しさん:2008/07/10(木) 12:18:56
ていうか 7 さんはそこまで Windows べったりのことをするのなら wxWidgets である必要がない気が...

27 :デフォルトの名無しさん:2008/07/11(金) 01:45:57
>>24 >>25
毎回ありがとうございます。
http://docs.wxwidgets.org/stable/wx_eventhandlingoverview.html#customevents
この辺りよんでるんですが・・なかなか書いてあることが理解できません。難しいですね・・

>>26
最近ようやくそう思い始めました汗 しかし、一回手を出してしまった以上他のに乗り換えるのはいやだなと・・

また不具合の話になるんですが、どうも wxTextCtrl::SetStyle() とか GetStyle() を使うと、該当箇所の文字列が一瞬青く反転してしまうようです・・(一瞬選択状態になっている?)
これもけっこう痛いです・・

28 :デフォルトの名無しさん:2008/07/11(金) 07:16:25
>>27
>しかし、一回手を出してしまった以上他のに乗り換えるのはいやだなと・・
世の中見切りの付け所ですよ。

29 :デフォルトの名無しさん:2008/07/11(金) 08:56:57
今の時代の見切りは、Winモンリー開発を見切るんであって、
クロスのWxWidgetsに手を出すのは正しい。
他に乗り換える場合でもクロスGUI。

30 :18:2008/07/11(金) 10:53:29
>>27
何か理由(納期とか…)が無い限り、楽しみながらやるのがいいかと。

>どうも wxTextCtrl::SetStyle() とか GetStyle() を使うと、
>該当箇所の文字列が一瞬青く反転してしまうようです・・
>(一瞬選択状態になっている?)

wxTextCtrl::SetStyle() 内部では、
1 指定範囲を選択
2 EM_SETCHARFORMAT を SCF_SELECTION で SendMessage
3 指定範囲を戻す
という動作をしているからです。
EM_HIDESELECTION を SendMessage してやればいいだけなので
がんばって本家にレポートしてみるとか。

31 :18:2008/07/11(金) 10:59:25
>>27
順番が逆になってしまった。

>http://docs.wxwidgets.org/stable/wx_eventhandlingoverview.html#customevents
>この辺りよんでるんですが・・なかなか書いてあることが理解できません。難しいですね・・

wxEvent 関連を使った方法は私もよくわかりません:-p
そっちではなくて、wxTextCtrl を継承したクラスを作って、MSWCommand を
継承しちゃえばいいかな?ってことです。
class myTextCtrl : public wxTextCtrl
{
public:
virtual bool MSWCommand(WXUINT param, WXWORD id) {
 if ( !wxTextCtrl::MSWCommand( param, id ) ) {
  switch (param) {
  case EN_IMECHANGE:
   〜
   break;
  default:
   return false;
  }
 }
 return true;
}
こんな感じ?
やってみたことないからあっているかどうかの自信はないけど。

32 :デフォルトの名無しさん:2008/07/11(金) 20:02:36
wxMSW以外でもコンパイル通るのかそれ?

33 :デフォルトの名無しさん:2008/07/11(金) 23:12:43
>>32
そりゃ当然 #ifdef とかで囲むんだろう

34 :18:2008/07/12(土) 18:50:28
>>32
EN_IMECHANGE をキャッチしたいとのことだったので
Windows 専用で大丈夫かと思いました。
X や MacOS だと IME 系の処理ってどうやるんでしょうね。

35 :27:2008/07/14(月) 02:20:06
毎度ありがとうございます。。。

>>何か理由(納期とか…)が無い限り、楽しみながらやるのがいいかと
特に納期などはないんですが、なんとしても作りたいものがあってやってるんですがはかどらなくて悶絶してます泣

IMEに入力された文字列のフォントを毎回設定するために渋々win32apiをいじっているのですが、ウィンドウのハンドルを取得するFindWindowW()関数でウィンドウのハンドルがうまく取得できたなくてはまっています。。
(このハンドルがないとIMEにアクセスできないようなのです。)
FindWindowW()の第一引数に該当ウィンドウを生成する時に使っているクラスを指定しなければいけないみたいなんですが、
wxTextCtrlとかではだめで、もっと深い階層にあるwin32apiウィンドウ生成クラス?を指定しなければいけないみたいなんですが、それが何なのか分からなくて止まってます。。

>> 2 EM_SETCHARFORMAT を SCF_SELECTION で SendMessage
>> がんばって本家にレポートしてみるとか。
これはライブラリがそういう仕様になっているということなんですよね。
これを直すのもまた大変そうですし、直してもちゃんと本家でパッチあててもらって公開してもらわないと使えないんですよね。。

なんかもう作りたいプログラムの完成が果てしなく遠いような気がしてきました。
そもそも楽するためにwxWidgetsっていうフレームワークを使っているのにいつのまにかwin32apiをいじる羽目になっているし・・
なんのためにラッパーを使っているのか分からなくなってきました。

悲鳴に近い書き込みすいません。
Visual C++ に呼ばれている気がします。。。

36 :デフォルトの名無しさん:2008/07/14(月) 07:45:51
> なんのためにラッパーを使っているのか分からなくなってきました。

そりゃ根本的に使うものが間違ってるからだろ。
WindowsべったりでWindowsでできることは全部できなきゃダメとか思いながら使
うもんじゃねーよ。

37 :デフォルトの名無しさん:2008/07/14(月) 08:37:19
こういうクロスプラットホームので日本語入力周りが細かく操作出来ると思うのが甘いんじゃないかと思います ... 開発者の大多数が英語環境なわけでね。

とにかくあなたのやりたい用途には日本語周りのサポートの厚いフレームワークをつかわないとだめそう。べつに急に Win 32 API までおりる必要はないわけで。

Windows なら .Net とかつかったほうがいいんじゃない?
Delphi とかも昔はよかったのかも。

38 :デフォルトの名無しさん:2008/07/14(月) 10:26:13
Lazarusもなんか微妙なんだよねぇ。
BorlandがKylixを見捨ててなければ、クロスプラットフォームアプリの
大本命になれたかもしれないのに。

39 :デフォルトの名無しさん:2008/07/14(月) 10:37:25
>Windows なら .Net

そ・れ・は・ない

40 :18:2008/07/14(月) 10:56:40
>>35
wxWidgets の話題から外れるので、軽くだけ。
何をやりたいかよくわからなくて想像だけど、
そういうことをやりたいときは WM_IME_COMPOSITION をとらえて
ImmGetContext から HIMC を取得し、Imm* 系の API を使うんじゃ
ないかな?
wxTextCtrl のようなコントロールを駆使してやるのは難しいと思いますよ。

41 :デフォルトの名無しさん:2008/07/14(月) 12:18:53
>>39
37 ですが、見当外れだったらすいません、日曜 Cocoa 屋さんなもので ...

42 :35:2008/07/14(月) 13:16:44
レスありがとうございます。

>wxWidgets の話題から外れるので、軽くだけ。
すいません、そうですよね。。ありがとうございます。
>wxTextCtrl のようなコントロールを駆使してやるのは難しいと思いますよ。
やはり・・

>> Windows なら .Net
> そ・れ・は・ない
いまさらVisual C++ とかはあんま賢くない選択肢なんでしょうか。

> こういうクロスプラットホームので日本語入力周りが細かく操作出来ると思うのが甘いんじゃないかと思います ... 開発者の大多数が英語環境なわけでね。
それに気づくのが遅すぎました泣
QTなんかはどうなんですかね・・日本での実績もあるのでwxWidgetsよりはマルチバイト文字周りも大丈夫そうですが。


結局開発環境で何を採用すればいいのかという導入部での問題にまたぶつかってしまいました。
最初は、これからはマルチプラットフォーム対応じゃないとと思ってwxWidgetsを選んでみたんですが、結局まだほとんどの日本人はWindowsを使っているわけで、まだしばらくはWindowsをほとんどの人が使っていくんじゃないかとも最近思うので、
素直にVisual C++ から入ればよかったのかなとか思い始めてるんですが・・

こういう話題NGだったらスルーしてくださひ。

43 :デフォルトの名無しさん:2008/07/14(月) 13:19:24
>素直にVisual C++ から入ればよかったのかなとか思い始めてるんですが・・

Windowsソフトを作るにしてもVC++はやめといた方が良い。
M$社内でも使われなかった該吉設計MFCを使うか、
ドトネトとC++を混ぜるというそれだけでウンザリ、
といった環境しかない。

44 :デフォルトの名無しさん:2008/07/14(月) 13:55:31
>>42
>最初は、これからはマルチプラットフォーム対応じゃないとと思ってwxWidgetsを選んでみたんですが、結局まだほとんどの日本人はWindowsを使っているわけで、まだしばらくはWindowsをほとんどの人が使っていくんじゃないかとも最近思うので、

会社の仕事でソフトを書いてるなら他の人が何を使ってるかは重要だけど、
自分ひとりで使うなら何で組んだって勝手だよね。
wxWidgets がすきならそれをつかえばいいし、プラットフォームべったりでも好きなフレームワークがあればそれを使えばいいんだと思うけども、
どうも 35 さんは日本語入力周りをいじりたいというクロスプラットホームには不向きな題材をやりたいようだから...
やっぱやりたいことに即した言語/フレームワークを使うべきだとおもいます。

でもVisual C++ はよくないと思います。C++/CLI は変態で面白い言語だとは思うけど。

45 :デフォルトの名無しさん:2008/07/14(月) 14:07:06
>思ってwxWidgetsを選んでみたんですが

この苦難を乗り越えてこそ、
アプリとかのすぐれたデザインパターンを発見できるだろうし、
ソフトウェア資産になると思うんだが。

それが”WxWidgetsを組み込んだ場合の優良なデザインパターン”となるか、
”質問者の作成するはソフトウェアの要素からWxWidgetsが外される”ことと落ち着くか、
それは自分で決めることだけど。前者も無理じゃないと思うぞ。

46 :35:2008/07/14(月) 14:24:32
どもです。
Visual C++ 人気ないですね。。MFCとか.NETが人気ないってことなんでしょうか。
ATL/WTL ってのがVisual C++ で使えるみたいなんですがこれはけっこう評価が良いような??

あとはVisual C# とかですかね。。

>>45
まだ自分はデザインパターンとか見つけられるレベルではない気がします。。


47 :デフォルトの名無しさん:2008/07/14(月) 14:35:41
別にVC++で問題ないよ。SDKでガシガシ書け。
どうせどんなGUIライブラリ使っても、細かいところはAPI直に触らなきゃならないんだから。

48 :デフォルトの名無しさん:2008/07/14(月) 14:49:18
VC++/SDKなら問題無いかも。
それならその中にWxWidgets使っても無問題。
MFCはやめとけ。
1回生成されたダイアログを使ったソースを見てみれば、
”これ何語?”って感じであきらめることになるだろう。

ドトネトもやめとけ。作るものに限界があるし、そうだと、作っててつまんない。

49 :デフォルトの名無しさん:2008/07/14(月) 15:04:36
>まだ自分はデザインパターンとか見つけられるレベルではない

どっちにせよ、アプリの構造はつねに意識してないとね。
どういう構造が良いのかわかってないと、プログラム修正して良くなったのか悪くなったのかわからんだろ。

50 :デフォルトの名無しさん:2008/07/15(火) 02:39:38
自分か身内だけで使うようなちょっとしたものだと、
C#に.NET3.0↑で書くのが楽すぎる
Windows専用になっちゃうんだけどさ

ってスレ違いだな

51 :デフォルトの名無しさん:2008/07/15(火) 04:26:43
>>46,35
以前に少し使った程度だけど、WTLは結構いい感じだったよ。あとwindowsで
コード組むなら、やっぱりVC++がいいと思う。単純にwindowsとの相性がいいのと
windowsで実行する場合、実行速度が速い。(独特な部分もあるので、注意が必要だけど)
将来移植するかもしれないけど、当分windowsメインなら自分でラッパークラスを作って
移植の時楽になるようにしておくのがいいんじゃないかな。

MFCはやっつけで作るには楽だけど、腰を据えて作る場合はなんか
いらいらすることが多くて、自分はあんまり使いやすく感じなかった。
構造覚えるのも労力かかるし、わざわざ使うことないんじゃないかな。

C#(というか.NET)は、細かいところにこだわりを持つ性分なら薦めない。
使いやすいけど、細かいことにこだわると、結局API叩くことになるから。
あとやっぱり、もっさりした感じになりやすいね。

ついでに書くと、Qtはフリー版で作ったものは、ライセンスがGPLになるのと
バージョンがあがった時に互換性がなくなった、変なプリプロセッサを通して
コンパイルするなどが嫌で、使うのやめたことがある。作り易そうではあるんだけどね。

52 :デフォルトの名無しさん:2008/07/15(火) 08:05:00
>>51
で、wxWidgetsはどうなんだ?

53 :デフォルトの名無しさん:2008/07/15(火) 20:30:58
そういえば、ここはwxのスレだった。
wxは以前に調べた限り、C++でクロスプラットフォームの開発をする場合は
一番妥当なライブラリだと思うよ。
日本語の入力が使えて、継続的に開発されていて、GUIの見た目がOSと
同じようになる。ある程度の実績があり、ライセンス的にもあまり
縛りが強くないってなると、wxしかなかった。
IME周りや日本語フォントなど細かいことをやるには問題があるかもしれないけど。

自分はクロス開発する必要があるものはwxを使って、api叩く必要がある場合は
ラッパークラスを作るようにしている。
あと日本語周りを細かく操作したいなら、どうせAPIを使うことになるから、
それが楽になるライブラリを探すよりは、そのあたりのAPIの使い方を
調べたほうが近道だし、応用が利くと思うよ。

54 :デフォルトの名無しさん:2008/07/19(土) 05:41:43
そうだね

55 :デフォルトの名無しさん:2008/07/19(土) 21:07:43
ところで、暇つぶしに、wx使ってどこまでできるの挑戦で、こんなのつくってみたんだ。

http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/ugmail/Doutor/src/?sortdir=down



56 :デフォルトの名無しさん:2008/07/20(日) 04:59:33
http://ugmail.sourceforge.jp/

57 :デフォルトの名無しさん:2008/07/25(金) 16:02:55
ほしゅ

58 :35:2008/08/01(金) 15:58:28
ご無沙汰です。挫折してしばらく何もしていなかったのですがまた最近やり始めています・・。
結局VC++はIDEの使い方を覚えるのが面倒で、またwxWidgetsに戻ってきてしまいました。

>どうも wxTextCtrl::SetStyle() とか GetStyle() を使うと、
>該当箇所の文字列が一瞬青く反転してしまうようです・・

この問題は、
(void) ::SendMessage(GetHwnd(), EM_HIDESELECTION, 1, 0) ;
wxTextCtrl::GetStyle(position, style);
(void) ::SendMessage(GetHwnd(), EM_HIDESELECTION, 0, 0) ;
こんな感じでGetStyle()をオーバーライドしたら解決しました。win32APIを直書きすればこれぐらいの問題ならば解決できたようです。

今まだ悩んでいるのがEN_IMECHANGEやWM_IME_COMPOSITION を捕捉するところです。
>>31さんに提示して頂いたように
class myTextCtrl : public wxTextCtrl
{
public:
virtual bool MSWCommand(WXUINT param, WXWORD id) {
 if ( !wxTextCtrl::MSWCommand( param, id ) ) {
  switch (param) {
  case EN_IMECHANGE:
   〜
   break;
  default:
   return false;
  }
 }
 return true;
}

みたいな感じで色々試してみているのですが、このやり方だとどうもうまく捕捉できません。 これらのイベントの捕捉のしかたが分かるかたいらっしゃいましたらご教授頂けると幸いです・・m(_ _)m


59 :35:2008/08/01(金) 16:00:52
>>47 >>48 >> 49 >> 50 >> 51
ありがとうございますm(_ _)m お礼がめちゃくちゃ遅くなってすいません。
結局VC++とかWTLじゃなくてwxWidgetsをまだ使ってます。。

60 :18:2008/08/02(土) 16:36:53
>>58
あれ?駄目なのかな。
ちとしばらく忙しくなるので、気長に待ってみて…

61 :デフォルトの名無しさん:2008/08/02(土) 21:37:47
>>58
MSWCommand の先頭で、処理してもだめなのか?

wxStyledTextCtrlの場合でやったときは、

WXLRESULT wxStyledTextCtrl::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam)
{
  WXLRESULT ret;

  switch(nMsg)
  {
    case WM_IME_・・・・
     //じぶんでつくった処理
     break;
    default:
      ret = wxControl::MSWWindowProc(nMsg,wParam,lParam);
      break;
  }

  return(ret);
}

なかんじでできたよ





62 :35:2008/08/04(月) 13:01:51
レスありがとうございます。

MSWWindowProc()の方を試してみたら、VM_IME_COMPOSITIONを捕捉することが出来ました!ありがとうございましたm(_ _)m
EN_IMECHANGE、VM_IME_CHAR、VM_CHAR はなぜか捕捉出来ず。

いまやりたいことが、「VM_IME_COMPOSITIONのタイミングで、IMEで編集中の文字列のフォントを変更する」ということなのですが、
VM_IME_COMPOSITIONを捕捉できてなんとかなったと思ったのですが、VM_IME_COMPOSITIONのタイミングでwin32APIの ImmSetCompositionFont(hIMC, lf) を使っても、フォントが変更されませんでした・・。
1が返ってきているので関数自体は成功していると思うのですが・・。

例えば、テキストインターフェース上で、太文字で強調表示させた文字列の直後にキャレットを置き、そこでIMEをONにし、キーストロークによって文字を打ち込むと、
直前の強調表示された文字列のフォント(太文字)がIMEのフォントにも継承されてしまうようで、
それをどうにかしたくてVM_IME_COMPOSITIONのタイミングでIMEの編集中の文字列のフォントを強制的にデフォルトのものに変えてしまおうという考えだったのですが・・

アドバイス頂けると幸いです。

63 :35:2008/08/04(月) 13:56:38
> wxStyledTextCtrlの場合でやったときは、
wxStyledTextCtrlって、IMEをONにしたときの入力が正常に動かなくなかったですか?

自分の環境では変換待ちの文字列が常に一番上の行に出てしまって、それが嫌でwxStyledTextCtrlを使うのはやめたという経緯がありました。

64 :デフォルトの名無しさん:2008/08/04(月) 20:01:03
「自分の環境」とは?

65 :デフォルトの名無しさん:2008/08/05(火) 00:14:39
>>63
ああ、IMEの処理は実装されていないから、そうなる。

そもそも、IME関係はOS依存?FEP依存?のようで、wxWidgets に対応するものはない。

Scintilla の場合は、Plat??.cpp でマルチプラットフォームを実現してるのだが、
(wxStyledTextCtrlでは、PlatWX.cpp がそれに該当する)
マルチプラットフォーム化する必要のために、IMEの処理を移植できなかったのかと思う。



66 :65:2008/08/05(火) 00:19:11
あと、EN_IMECHANGE、VM_IME_CHAR、VM_CHAR の処理はwxWidgets のソースを見たほうがはやいな。
wxWidgets のソースは簡単だから、そっちをあたることをお勧めする。



67 :デフォルトの名無しさん:2008/08/12(火) 13:24:03
wxJoystickを使うと、レジストリのHKLM\SYSTEM\.. というのを読みに行って失敗する・・・。
HKLM\ってうちのマシンには見当たらない。またwxJoystickEventがEVT_JOYSTICK_EVENTSで拾えない。
GetNumberJoysticksはなんか値が返ってきているから何かしらJoystickは見えているはずなんだけど。
コンパネのゲームコントローラはちゃんと認識しているのでHWの故障でもない。
さぁどうしよう。
飛ばしてwxMediaで遊ぶか。



68 :デフォルトの名無しさん:2008/08/12(火) 20:12:17
HKLMってHKEY_LOCAL_MACHINEのことだけど

69 :デフォルトの名無しさん:2008/08/20(水) 19:47:49
何でだろう、EVT_PAINTを登録するとCPUがブン回る・・・
samplesのプログラムはそうならないけど、何が違うのか分からない。
頭悪いな俺。

70 :デフォルトの名無しさん:2008/08/21(木) 06:59:56
wxPaintDC使ってないだろ

71 :69:2008/08/21(木) 10:01:31
wxPaintDC dc( this );
とするべきなところを
wxPaintDC dc;
と書いていました・・・。
直したら、ちゃんと動きました。
スレ汚ししてすみませんでした。


72 :デフォルトの名無しさん:2008/08/23(土) 16:37:06
質問です
wxGridはデフォだとマルチセレクト且つダブクリで編集モードになりますが、
シングルセレクトにしてワンクリで編集モードに移行するようにできますか?

IDEとかRADのプロパティ表示みたいなことをやりたいんです。
DialogBlocksが多分wxWidgetsで組まれてると思うのであれがそのまま使えればいいんですけど
そのまんまのクラスって無いですよね?

73 :72:2008/08/25(月) 22:14:35
探してみたらwxPropertyGridっていうまんまのコンポーネントが見つかりました。
wxCodeに載ってなくても探せば使えるコンポーネントって結構ありますね

74 :デフォルトの名無しさん:2008/08/28(木) 17:27:01
で、クロス開発する場合、IDEはどれが一番良いの?

wxDev-C++を使ってるけどバージョンうpされないorz

75 :デフォルトの名無しさん:2008/08/28(木) 17:36:46
とりあえず、wx-Dev C++ と Code::Blocks は、どちらが良い?

76 :デフォルトの名無しさん:2008/08/28(木) 18:46:17
GUI作成できるのは、
・wx-Dev C++
・Code::Blocks
・wxGlade
だけでつか?

77 :デフォルトの名無しさん:2008/08/28(木) 22:40:12
>>74
wxDev-C++はHPで近いうちに更新するっていってたよ
>>76
そんなあなたに、このページを送ろう
ttp://wiki.codeblocks.org/index.php?title=Comparison_of_wxSmith_features

78 :74:2008/08/29(金) 10:07:05
>>77
え”、更新ですか!wx-Devは大好きなので嬉しい。

そのページ凄すぎ。
結構1年近くググルでwx系を検索してたんですが3つ4つしか把握できなかったのに、
そのページで全部そろうじゃん。

こんなにいっぱいあるとは。。。

商用のは一旦除いて(商用でもC++ Builder並に良いものなら買うけど、決定打が無さそうなふいんき)、
使ってないやつで良いのがあるかもしれないのでまた調査。

79 :61:2008/08/29(金) 21:03:27
>>76
私的には
Visualwx
ttp://visualwx.altervista.org/indexit.php

あとは、wxStudioとか
http://wxstudio.sourceforge.net/




80 :デフォルトの名無しさん:2008/08/30(土) 13:22:02
dialogblocksが挙がってないのは有料だから?

81 :デフォルトの名無しさん:2008/08/30(土) 13:25:58
すでに72で挙がってるからですな・・・スマソ。

82 :76:2008/09/01(月) 09:19:29
>>79
VisualWxってえらい変わりましたね。
以前はコンパイラ起動できなかったような。

83 :デフォルトの名無しさん:2008/09/01(月) 13:19:08
どれが良いか投票とか、
使える・使えないレビュー、
きぼんにゅ。

84 :デフォルトの名無しさん:2008/09/02(火) 17:15:22
どのIDEが好き?

85 :デフォルトの名無しさん:2008/09/03(水) 00:19:27
まだ、これってIDEやRADがないんだよねー。残念ながら。

俺は今、MinGWのCodeBlocksを入れようと思ってんだけど、
wxmsw28??_core.lib(libwxmsw28??_core.a)や、
wxbase28??.lib(libwxbase28??.a)がないって怒られる
んだけど、下のサイトのようにwxWidgetsをビルドしても
ライブラリが生成されないんだけど。なんで?

http://python.matrix.jp/apps/code_blocks.html

もっと簡単なクロスなIDEはないもんかね?

86 :デフォルトの名無しさん:2008/09/03(水) 01:18:15
趣味プログラミングでしかないけれど、wxFormBuilder 3はフォームデザインのみとはいえ使い勝手いいよ。
自分で書くコードと、wxFormBuilderが生成するコードが、完全に分離されるところが好き。
Makefileは手書き、ソースコードエディタはVim。開発は主にLeopardで行い、一回のmakeでWin/Mac用バイナリを生成……という感じ。
IDEって、突然バージョンアップが止まったり、なんだか変なものを導入したのか
不安定&低速になったりとあんまり信用できない感じ。なんていうか、Delphiで懲りた。

87 :デフォルトの名無しさん:2008/09/07(日) 00:17:44
>>85
そでだけだとよくわからんけど、
debugのバイナリ作ってないのに
デバッグビルドしようとして同じようなことになったことはあるな

Code::Blocksよりdialogblocksのほうが使い易いと思う
タダ版だとカスタムクラスが1つしか登録できないとか
RADツールで使えないクラスがあったりするけど
その辺は勉強もかねてエディタで乗り越えようとすれば問題なし

88 :デフォルトの名無しさん:2008/09/11(木) 18:17:31
wxWidgetsで非矩形ウィンドウや半透明ウィンドウは扱えるのでしょうか。
また扱える場合は関連するメソッドを教えていただけると有り難いです。


89 :デフォルトの名無しさん:2008/09/11(木) 22:13:46
>>88
リージョンは使えるよ。
半透明ウィンドウは、以前そんな話があったみたいだけど、
Windows以外のプラットフォームで出来ないのもあるみたい
なので、実装されなかったみたい。

90 :88:2008/09/11(木) 22:38:14
>>89
なるほど。どうもありがとうございます。
対応プラットフォームが多いと実装もやっぱり大変なのでしょうねぇ。

91 :デフォルトの名無しさん:2008/09/12(金) 11:35:27
IDEランキング調査スタート!

92 :デフォルトの名無しさん:2008/09/12(金) 12:45:41
                    ,. -‐ ' ´  ̄ `` ' ‐- 、
         ,. -─ ‐- 、   /             ``' 、
        ∠-‐' "´  ̄ ` `'‐- 、               `'‐、
      /´             ヽ、               `'‐ 、__
    , ‐'       (⌒'‐- 、         \
 -='´        ='イ   ヽ.       ヽ
 /      ヽ、=_,‐''´   、_,ノ           ヽ
. i  、  ヽ、_, /,. _-,=‐、ゝ'            ',
.{  ゞ_=、<.  ヽ-' ,、r‐;、彡‐==/ニ.ヽ   }-‐- 、            /
 \ ', 、y=;'、    ´ゞ=''_,.´ /  F、ヽ ',  ./    \          /
   \ヽ`ゞッ /       ̄  {   |´ノ / ∠      \          ,/
    `}  ̄〈,. -‐、        !  ヽ/ / `、      `'‐-、ニ、_,./
      !   `         '、  ヽ. /    `'‐- ..,,j-‐'"´
     ヽ.   ' ´ ̄`       ヽ  ∨
.      \   '"     ,.  }  ∧
        ヽ. ____, ,-‐'"  / ,./ ‐ヘ
           )_,,.ハ <_,. -'    \___,,,.. ..,,
           ´    ト、 |       |  /´    ``ヽ.
          _,. -‐'´j ヽ!      ィ /´          ト、
        /´|     i.  ヽ!    ///   _,,,.. ....., 、   |i
       |   |    |\ __  ./ / {,. -‐´ __   `  !.}
     ,-ソ   !    !  /  Y´  /くン-─/´ _,,.. -    / |
 ,. へ'´ 、    リ   ! />-<ヽ. ∠ノ   ̄``'´       / i
‐ 、_ 、_  ヾ   ノ   !' ´     `/                /   !

93 :デフォルトの名無しさん:2008/09/12(金) 15:26:54
                _
         _, - ' ´ ̄ ̄   ̄ ヽー -、_
        /                `ー 、_
      /                _   `ヽ
     /                /´  `ヽ,  `i
    /                 l      i   ヽ
   i                  ヽ、  (_).ノ    ヽ
   | l l    |  /l /l | ハ   /l    ̄       ヽ
    ', l ヽ. ハ  |ヽ| ヽ 、 l ヽ、 l ヽ           ',
    ヽヽ、 _-ヽヽヽヽ、 >_ニ==`ー-、j           i
     冫、 _v ーテ、    - 'テtァ-  ',               |
    /   ヽ .,ヽ゚ノ    ヽヽ=゚'´  ヽ           !
    i      !  /        / ̄           i
    /     ',  ー       /             l
    !     ヽ  ー - -    !             /
    \     \      _ ヽ           _ /
     `ー --'-'- `ー -‐ i ´   `ー'- -'-'-'-'‐'´
                  |      |
                  |      ヽ、
         _____ノ        `ー - -、_
        ヘ                _, - '  `ー、
       /  \          , - ‐ ' ´ /  ̄ ̄  ヽ
       l     ヽ 、 _ , - ‐ ' ´    /         i
        y              /          |
        /                /            l
     /             /       /    /
      (        ` y ´ /       /     /

94 :デフォルトの名無しさん:2008/09/12(金) 16:09:32
Libファイルを作成後に
sampleをコンパイルしてみようと思ったんですが
未解決の外部シンボル
だらけになってしまいます。
どうもまったくlibファイルを認識していないのか何なのか。

sampleはそのままの状態でコンパイルしてはいけないんでしょうか?

95 :デフォルトの名無しさん:2008/09/13(土) 08:52:45
あのさ、こっちだってエスパーじゃないんだから、
自分がどういう環境で何をやってるか相手に判ってもらおうっていう気はないわけ?

96 :デフォルトの名無しさん:2008/09/13(土) 09:46:27
原因を追求する気があるならあんな書き込みはしないだろ。

97 :デフォルトの名無しさん:2008/09/13(土) 23:03:26
wxwidgetsのストリング関係のクラスは
日本語使える(漢字)?

98 :デフォルトの名無しさん:2008/09/14(日) 00:07:06
>>97
使える。Unicode モードと、環境依存エンコーディング決めうちモード(なぜかANSIモードとよばれる)があるよ。

99 :デフォルトの名無しさん:2008/09/14(日) 05:53:11
後者は基本的にユニバイト環境しか考えていない。
たとえばファイルのパス操作など、セパレータが \ かつ文字コードがCP932な
変態環境では問題が生じうる。

100 :デフォルトの名無しさん:2008/09/14(日) 12:21:10
94です
すいません。8時間ぶっ通しで1つの進展も無く悩みすぎて色々おかしくなってました。
2日寝てようやく冷静になりました。

wxMSWのセットアップを使用して、WindowsXpにxwWidgetsをインストール後
VisualC++2005Expressに、\build\msw\ws.dswを読み込ませ各種libファイルをビルドしました。
この時点でエラーはありません。

その後、サンプルをビルドしてみようと
\samplesフォルダにある、samples.dswを読みこんでそのままビルドしてみましたが、
すべてのlib内の関数が「未解決の外部シンボル」と出て認識してもらえませんでした。

試しに、他の\samplesフォルダ内の
各サンプルの.dspファイルを直にVC++2005Expressに読み込んで、同じ様にビルドしてみましたが
すべて同じ症状でした。

生成したlibファイルの存在する\lib\vc_libにはリンク設定はしてるようですし、
インクルードディレクトリの設定にも問題があるようには思えませんでした。

sample内の.dspファイルはそのままの状態でコンパイルしてはいけないんでしょうか?

101 :デフォルトの名無しさん:2008/09/15(月) 23:45:58
Libのモード(リリースビルド、デバッグビルドとか)が、
sample のがあってます?

それと、wxwidgetsのversionは、2.8.8だよね?
とりあえず、VC2003とVC2008の場合は、動作しますよ


102 :デフォルトの名無しさん:2008/09/16(火) 22:11:41
94です。
助けありがとうございます。

wxwidgetsのversionは、2.8.8です。
Libのモード(リリースビルド、デバッグビルドとか)
のパスや名称は合っているようです。

http://forums.codeblocks.org/index.php?action=printpage;topic=7140.0
にあった事例のようです。
I now compiled wxwidgets with VS2005 and
I am now able to build the samples,
but with new projects I still have problems.
It seems that the wizard does something wrong
- the linker wants to have wxmsw28d.lib
but I cannot find it on my system.
I have a lot of wxmsw28d_xxxxx libs...
という話しで
解決方法は
wxmsw28d.lib is for Monolithic debug builds;
you seem to have a Multilib build.
MultiLib is the opposite of Monolithic.
In the wizard un-check Monolithic or you need to build wxWidgets
as a Monolithic build.
とのことです。
つまり、wxmsw28d.libが生成されなければならないのに、
複数に分かれたwxmsw28d_xxx.libが生成されてしまうという問題です。
1つのwxmsw28d.libにまとめられれば、この問題は解決しますが
話が理解できません。
チェックを外すべきMonolithicとは何なのでしょうか?
どうすれば1つにまとまるんでしょうか?

103 :デフォルトの名無しさん:2008/09/16(火) 23:22:59
94 氏とは別件だけど、2.8.8をMinGWでコンパイルで、ライブラリ(〜.a)を
作成したまでは良いんだけど、リンクエラーが出ます。

ヘッダが無いとかが、原因ですかね?

〜\wxWidgets\lib\libwxmsw28d_core.a(corelib_imagjpeg.o):..\src\common\imagjpeg.cpp|238|undefined reference to `jpeg_std_error'

104 :デフォルトの名無しさん:2008/09/17(水) 00:36:56
>>102
ビルドが出来るってことは、WindowsSDKは大丈夫なんだね。
スタートメニューから、Visual Studio Tools でコマンドプロンプトを開ける?
開いたら、cd wxWidgetsのディレクトリ\build\msw して、
nmake /E MONOLITHIC=1 makefile.vc
してみて。

105 :デフォルトの名無しさん:2008/09/17(水) 00:39:20
>>103
undefined referenceが出る場合は、そのシンボルの実態が無いって事だから、とりあえずリンクするライブラリ不足を疑うと良いよ。
jpeg_std_errorでググると、libjpegの中の関数だってわかるから、g++のコンパイルオプション(というかリンクオプション)に -ljpeg を
付けて再チャレンジして見て。

106 :デフォルトの名無しさん:2008/09/17(水) 09:11:10
>>103があと数回は同じ質問を繰り返す様が見て取れるようだ。

107 :デフォルトの名無しさん:2008/09/17(水) 23:25:19
>>104
94です。
たびたび助かります。

104を試したところ
しばらくコンパイルが通った後、
..\..\src\msw\utils.cpp(173) : error C2143: 構文エラー : ')' が '__stdcall' の前
にありません。
..\..\src\msw\utils.cpp(173) : error C2059: 構文エラー : ')'
..\..\src\msw\utils.cpp(175) : error C2143: 構文エラー : ';' が '*' の前にありま
せん。
以下エラー略〜〜な状況です。

この173行目は
typedef int (PASCAL *WSAStartup_t)(WORD, WSADATA *);
こんな内容です。PASCALかWORDかWSADATAのどれかが、定義されていないと思われるんですが、
VCのオプションでも、SDkへのパスは設定してありますし、
Microsoft Platform SDK\SetEnv.Cmdは実行済みなので(試しに直前にもやってみたけど結果は同じ)、
SDKのパスが通っていないとは思えないです。

おそらく、これが最後の関門だと思います。
どうかもう一度よろしくお願いします。

108 :デフォルトの名無しさん:2008/09/18(木) 00:09:03
>>107
__stdcallは、PASCALというマクロが展開された結果。
その前に ')' が必要といわれてるんだから、問題になってるのはそこより手前
本当にそのコンパイルエラーの手前にWarningかエラーない?

109 :デフォルトの名無しさん:2008/09/18(木) 00:33:20
>>107
というか、MONOLITHIC=0がデフォルトなんだから、MONOLITHICじゃないライブラリ使えば良いじゃない。
1. wx_dll.dswを開いて、構成をDLL Unicode Releaseを選択してソリューションをビルド
2. samples.dswを開いて、構成をDLL Unicode Releaseにしてソリューションビルド
で、普通にいけるぞ?

110 :デフォルトの名無しさん:2008/09/18(木) 01:05:55
94です。
>>108
warning C4068: 不明なプラグマがありました。
というwarningが大量にありました。
>>109
>1. wx_dll.dswを開いて、構成をDLL Unicode Releaseを選択してソリューションをビルド
この時点で未解決の外部シンボルの嵐で全然ダメです。
wx_dllは他の構成でも全然ダメでした。

もしかして、何かおかしなことが起こってますか…??

111 :デフォルトの名無しさん:2008/09/18(木) 01:21:30
>>110
とりあえず、WindowsSDKとVC++2005消して、新しい環境を構築しなおせ。
VC++2008Express SP1
Windows SDK for Windows Server 2008 and .NET Framework 3.5

112 :デフォルトの名無しさん:2008/09/19(金) 00:14:55
そうします。
やっぱり何か異常な状態なんですね。

113 :デフォルトの名無しさん:2008/09/21(日) 00:19:51
すいません。Code::Blocks+MinGW+WxWidgets2.8.8の環境構築について
解説しているサイトはないですか?ググったのですが見つからなくて
困ってます。

114 :デフォルトの名無しさん:2008/09/22(月) 17:26:08
wxPythonでのトラブルですがwxWidgets絡みなので
ここで質問させてください。
wxWidgetsのDLLをUPX圧縮した状態でwxを使うツールを
2重起動するとOS毎固まる症状が出ています。
調べた限りではwxのどのDLL,pydを圧縮しても
同じ症状が出るようです。

OS Win98
WxWidgets 2.8(wxPython2.8.7.1 本家のWin版)
UPX 2.0.3

AVSP(1.3.6 python2.4 wx2.6)ではUPX圧縮してあっても
多重起動できているのでバージョンの問題かも
しれませんが、ツールを一纏めにして配布する
予定なので出来るだけ圧縮して使用したいのです。
御教示お願いします。


115 :デフォルトの名無しさん:2008/09/23(火) 08:32:34
ツールを一纏めにして最後にZIP圧縮して配布すればよい。UPX圧縮したのを一纏めにするのとほぼ同等の効果がある。
というより何形式であれ圧縮されたファイルはそれ以上ほとんど圧縮されない。何故なら圧縮されているからだ。

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

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

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

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

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


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

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

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


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

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

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

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

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

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

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

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

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

128 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2008/10/02(木) 11:12:59
>>128
MinGW 使ったことないから外しているかもだけど
setup.h は include している?

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


166 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2008/10/10(金) 03:02:54
>>165
wxTNGの完成予定時期ってどっかに書いてる?

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

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

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

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



173 :171: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 :デフォルトの名無しさん:2008/10/14(火) 09:14:31
>>173
結局、お前には
「ググレカス」
って返事しとけば良かったってことだな

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

177 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2008/10/23(木) 19:46:17
結局簡単な設定とかだけで日本語が通るwxWidgets向けIDE/RADはないってことでFA?

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

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

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

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

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

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

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


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

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


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

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

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

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

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

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

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

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

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


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

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

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

211 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2008/12/07(日) 14:55:01
そのエラーメッセージを書かないことには・・・。

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

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

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

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

219 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2008/12/08(月) 23:57:59
>>220
一旦、すべてアンインストールして、一からやり直したほうが早いんでないかい?

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

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

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

222 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2008/12/12(金) 00:42:03
結局どうなったんだ…?
つかmakefileを直接使う俺は異端なのか…?

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

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

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

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

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

どこが?

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

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

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

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

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

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

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

はい。

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

いや、まずないけどね

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

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

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

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

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

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

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

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

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

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

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


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

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

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


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

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

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

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


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

267 :デフォルトの名無しさん: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:2008/12/30(火) 18:17:14
今気づいたがぜんぜんwxWidgetsと関係ない話に脱線してるな。ゴメンナサイ。

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

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

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

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


272 :263:2008/12/31(水) 17:17:47
>>267

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

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

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

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




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

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

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

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

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


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

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



いいぞもっとやれ

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

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

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


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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

296 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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:2009/01/12(月) 19:19:24
>>296-299
翻訳超乙。Unicode化の理由と、Graphicsの改善のあたりが良く分かった。
とりあえず、3.0は期待して損はなさそうだね。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

こりゃやばいなwx。。

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

356 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2009/01/28(水) 12:10:51
WindowsだったらVisual Studioでやったらいいと思うんだけど

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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


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

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

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

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

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

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

382 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2009/02/11(水) 17:37:33
自動でdeleteしてくれるライブラリ(スマートポインタとか)使わないなら
newした分だけdeleteするように書くしかないよ

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

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

ごめん嘘

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

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

sizer.cpp の551行目

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

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

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

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

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

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


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


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

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

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


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

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

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

 Syntax error: DECLARE_EVENT_TABLE();

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

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

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

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


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

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

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

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

Sizer > Panel > Sizer
Sizer > Sizer

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

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

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

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

406 :405:2009/03/11(水) 08:03:13
ごめんageてしまった

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

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

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

409 :デフォルトの名無しさん: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:2009/03/13(金) 19:18:34
補足
ウィンドウはきちんと表示されており、イベントハンドラの設定もうまくいっています。

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

よくわからん。調査続行

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

413 :410:2009/03/13(金) 23:24:53
evt_close {|event| exit }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

435 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2009/05/09(土) 21:54:40
glGetIntegervでGL_POINT_SIZE_RANGEの値を調べてみては?

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


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

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

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

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

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

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

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

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

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


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

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

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

ならわかる?

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

We hope to make 3.0 before the end of 2009.

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

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

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

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

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

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

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

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

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

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

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

480 :デフォルトの名無しさん: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:2009/09/08(火) 00:40:33
すみません書き忘れです。
wxWidget本体は wxMSW 2.8.10
wxCurlはsvn版 ( 2009-09-01にsvnリポジトリからダウンロード )
開発環境は Code::Blocks 8.02 mingw同封版
です

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

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

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


お騒がせしましたー

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

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

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


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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

502 :497:2009/09/15(火) 18:59:43
>>500, >>501

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

514 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2009/09/27(日) 19:42:11
自分のアプリケーションがいまどこのディレクトリに存在するかを取得する関数って何?

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

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


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

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

519 :515:2009/09/28(月) 21:01:42
>>516-518
thx!

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

544 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2009/10/15(木) 16:44:28
一番手っ取り早いのはcmdの中でhoge.pyを実行

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

569 :564: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 :デフォルトの名無しさん:2009/10/17(土) 09:22:29
お前さんは隣の席のやつに絶大な信頼を置いてるのかもしれないけど
俺らにとってはどうでもいいわけで・・・
煽ってるわけじゃなくてな

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

そんくらいだなぁ。

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

584 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2009/10/17(土) 13:44:20
仕事でQt Creatorつこうてる僕は何(´・ω・`)

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

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

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

588 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2009/10/17(土) 16:16:41
エディタでゴリゴリ書くのが好きだから…

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

↑これも皮肉

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


640 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2009/10/18(日) 15:24:22
環境は?
環境設定ミスってないか?

642 :デフォルトの名無しさん: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
+    // http://groups.google.com/group/wxPython-users/browse_thread/thread/129ba27e2f868c3c?pli=1
+    wxGraphicsBitmap CreateBitmap( const wxBitmap &bitmap ) const { return wxNullGraphicsBitmap; }
 };


643 :デフォルトの名無しさん:2009/10/18(日) 17:59:42
>>642
出来ました
ありがとうございました


644 :デフォルトの名無しさん:2009/10/18(日) 22:28:11
ライブラリAPI使いまくりの部分はIDEが断然楽だけど、
自前コードが多いとこは、なれたエディタのほうが軽快かな

645 :デフォルトの名無しさん:2009/10/19(月) 00:09:56
wxWidgetsってネイティブ以外にonGTKとかonX11とか
あるんだからonQtっつーのも有っても良いような気がする


646 :デフォルトの名無しさん:2009/10/19(月) 01:01:32
>>645
同意。

647 :デフォルトの名無しさん:2009/10/19(月) 05:43:27
>>644
なんでIDE vs エディタ論争になるのかぜんぜんわからん。
俺は両方使い分けてる。IDEの外部ツールに使い慣れたエディタ登録
して,エディタ編集したくなった時は起動すれば,現在編集中の行・列
にカーソルがある状態で編集開始できる。
排他制御問題も,IDE側/エディタ側の双方の設定で解決できるし。

...ってそういう話じゃないのか?

648 :デフォルトの名無しさん:2009/10/19(月) 06:10:25
>>647
話の腰を折るな!

649 :デフォルトの名無しさん:2009/10/19(月) 07:34:16
はぁ?
オマエ見当違いすぎ

650 :デフォルトの名無しさん:2009/10/19(月) 08:35:32
いいからどっちも他のスレでやれ

651 :デフォルトの名無しさん:2009/10/19(月) 23:15:17
ケンカはやめて(><)

652 :デフォルトの名無しさん:2009/10/20(火) 03:38:19
私のために…

653 :デフォルトの名無しさん:2009/10/20(火) 03:39:02
「赤いきつね」と「緑のたぬき」の具材を強化した新商品が、
コンビニ限定商品として10月19日から販売が始まった。

654 :デフォルトの名無しさん:2009/10/20(火) 09:24:18
私のために?

655 :デフォルトの名無しさん:2009/10/20(火) 11:13:38
争わないで!

656 :デフォルトの名無しさん:2009/10/20(火) 12:05:33
もうこれ以上

657 :デフォルトの名無しさん:2009/10/20(火) 13:15:41
すれ違いの話を

658 :デフォルトの名無しさん:2009/10/22(木) 07:52:30
今、VC++2008でwxWedgetsプログラミングしてるんですけど、
他のパソコンでも実行できるようにしたいんですけど、
どのdllをリンクさせる必要がありますか?
何か教えてください(> <)

659 :デフォルトの名無しさん:2009/10/22(木) 08:17:27
それは使ってるもジールによって変わるから
別のPCでエラーが出なくなるまで
必要なファイルを順番に追加(ry

660 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2009/10/22(木) 18:15:10
wxCodeのwxThingsに含まれるwxSpinCtrlDblが使いたくて,SourceForgeからダウンロードしたら,
やたら古くてコンパイルエラーが出るので,SVNでチェックアウトしたらwxCodeからwxThingsが削除
されてた。でもCVSリポジトリを下記のURLでブラウズすると含まれている。

http://wxcode.cvs.sourceforge.net/viewvc/wxcode/wxCode/components/wxthings/

なのでSourceForge.jpにユーザー登録してCVSでチェックアウトしようとして,SSHの公開鍵を
登録しようとしたら,シェルアカウント情報:に「どのプロジェクトにも所属していないため、
UNIX シェルアカウントはありません。」と書かれていて登録できない。
SourceForge.netの方にもユーザー登録したけど,やっぱり公開鍵の登録ができない。

CVSからwxThigsをチェックアウトする方法があったら教えてください。

662 :661:2009/10/22(木) 18:20:59

ちなみにpserver経由のAnonymoousログインではパスワードを求められたのでパスワードなし
でログインしようとしたらはじかれた。

663 :デフォルトの名無しさん:2009/10/23(金) 01:37:08
>>661
pserverでちゃんと取得できたぜ
やり方間違ってたんじゃないの?
http://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:2009/10/23(金) 10:16:54
>>663
そのサイトにからコマンドラインをその通りにコピペして実行したんだけど,ログインの段階で
でパスワードを求められて,何も入れずにEnter押すとはじかれる。

Windows XPのコマンドプロンプトでTortoiseCVSに含まれてるcvs.exeでやったんだけど
(PATHを通しておいて),何かまずいのかな?

わざわざ試してくれてありがとう。
「出来た」と言う情報だけでも助かる。昨日はサーバー側に何かあったとか言う可能性もあるし,
コマンドライン版のCVSだけダウンロードしてやってみるとか,幾つか試してみます。

665 :661:2009/10/23(金) 11:24:28
>>663
原因判明。会社のFirewallでCVSのポート(2401)が閉じられてた。
恒久的に開けるには手続が必要で数日かかるとのことなので,一時的にあけてもらって
無事チェックアウト成功。

アリガト。

666 :デフォルトの名無しさん:2009/10/24(土) 00:08:53
wxDev-C++は現在のVer.7.xを最後にDelphiでの開発をやめて、wxWidgets+C++に移植して
新たにwxDevIDEと言う名前で再スタートするらしい。

http://wxforum.shadonet.com/viewtopic.php?t=25679&highlight=delphi

まだ中身はないけど、既にHPも作成されているし、SourceForgeにも登録されてる。

http://wxdevide.sourceforge.net/
http://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 :デフォルトの名無しさん:2009/10/25(日) 13:41:10
既出かもしれませんが、wxTextCtrlで日本語入力(ATOK)中にESCを押すとIME
ではなくダイアログを抜けるので、それまで確定した内容が消えてしまいます。
入力中だった文字はそのままの状態で消えたダイアログの親に行きます。

IME入力中のESCキーがIMEのウィンドウ?に飛ばず下のDialog or TextCtrlに
飛んでいるように見えますがが、回避するにはどこを見たらいいでしょうか。

668 :デフォルトの名無しさん:2009/10/25(日) 14:49:33
うちはそんなことないよ

669 :デフォルトの名無しさん:2009/10/25(日) 15:04:00
>>667
環境を書かないと。OSもコンパイラもバージョンも何も書いてないんじゃ...


670 :667: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 :デフォルトの名無しさん:2009/10/25(日) 15:43:14
ATOK2008

672 :デフォルトの名無しさん:2009/10/25(日) 16:04:43
>>667
IME関係なくESCだけ押してみたけどDialog閉じないよ
自分で書いたコードでなんか拾ってるんじゃないの?

673 :デフォルトの名無しさん:2009/10/25(日) 17:06:11
・何がしたいのか
・現状どうなっているのか
・それに対する自分の意見
・自分の環境は何なのか(OS,CPU,GPU)
・IMEを他のものにして同じ症状があるのかどうか、ないならそのIMEは何なのか。

・可能ならサンプルをアップローダーに。

このくらいは質問するなら情報として欲しいわ。

674 :667: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 :デフォルトの名無しさん:2009/10/25(日) 19:39:58
キャンセルボタンを貼り付けてなければ閉じなかった
デフォルトボタンが拾ってると思う

676 :デフォルトの名無しさん:2009/10/26(月) 10:52:28
>>658
static link で作ればいいと思うよ。
リリース版を、マルチスレッド/DLL じゃなくて、マルチスレッド(/MT)にする。

677 :デフォルトの名無しさん:2009/10/26(月) 10:55:24
>>674
ESCでダイアログが閉じるのはWindowsの基本的な動作。
>>675 が言うとおり、キャンセルボタン(wxID_CANCEL だっけ?)があるとそうなる。
回避したいのであれば、ボタンを標準じゃなくて、自分でwxButtonで作って、
適当な ID を割り振ればいいんじゃないかな?

678 :デフォルトの名無しさん:2009/10/26(月) 11:27:10
なるほど、未確定中にESC押すと入力文字が消え、その後再度ESC押すとダイアログが閉じるのが
普通の動作だが、RapidSVNは未確定文字のキャンセルとダイアログのクローズが同時に起こるな。

679 :658 :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 :デフォルトの名無しさん: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 :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: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 :デフォルトの名無しさん:2009/10/27(火) 10:37:38
>>681
それだと MSVCRT(のDLL) がない環境で動かないかも?
/MT で使う場合は wxWidgets のライブラリも /MT でコンパイルしないと駄目だけどやった?

684 :デフォルトの名無しさん:2009/10/27(火) 10:39:56
>>682
確かダイアログの場合は特殊で ESC を雄と WM_COMMAND の ID_CANCEL が
飛んでくるんじゃなかったっけ?
wxWidgets の場合は…なんだっけ、EVT_? マクロを使うんだったかな?

685 :デフォルトの名無しさん:2009/10/27(火) 12:42:25
>>682
IsDialogMessage()あたりだろうと探してたりしてみたけど、結局同じwindow.cppにある
キーボードフックからESCを検出して独自にIDCANCEL送ってるわ。
フック周りをIMEを意識した作りに直さないと無理そう。

686 :デフォルトの名無しさん:2009/10/27(火) 12:46:10
一応送ってるとこ書いとくけど、dlgcmn.cppのwxDialogBase::OnCharHook()で呼んでる
EmulateButtonClickIfPresent(wxID_CANCEL)ね。

687 :667:2009/10/27(火) 13:17:31
みなさんありがとうございます。FEP の On/Off で SetEscapeId() を
かけたら良さそうな気がした(まだ試してない)んですが、msw 以下の
ソースでも wx のヘッダばかり include してますよね。
仮に Imm 系の API を呼ぶようなパッチが作れたとして、wx の本家には
受け入れられないものですか?

688 :デフォルトの名無しさん:2009/10/27(火) 13:42:48
各OS固有の部分はどうする?

689 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2009/10/27(火) 15:05:00
おっとミス、TRUEとFALSE逆ね、まあわかると思うけど。

691 :デフォルトの名無しさん:2009/10/27(火) 15:53:57
つまり EURT と ESLAF が正解。

692 :デフォルトの名無しさん:2009/10/27(火) 16:59:38
>>691
暇人乙

693 :658 :2009/10/27(火) 18:17:38
>>683
一応やったけど、違うエラーがいっぱい出てきたので、
よくわかりませんでした。

694 :デフォルトの名無しさん: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って使ってる人いる?
http://stlab.adobe.com/

ちゃんと見てないけど、これってwxWidgetsの代わりになるもんなのかどうだろう?

696 :658 :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 :デフォルトの名無しさん:2009/10/29(木) 16:47:37
>>696
すべての規定ライブラリの無視(/NODEFAULTLIB)を「はい」にしてないか?
いいえにしとけ

698 :デフォルトの名無しさん:2009/10/31(土) 23:35:03
C++で初めてWxWidgetsを使ってプログラム書いてみています。
複数行のwxTextCtrlに、複数行の文を書いた状態で、GetLineText(0)のようにして、
任意の1行を取り出して、それをそのまま、wxMessageDialogでダイアログ表示させているのですが、
この1行が、半角のアルファベットの時などはきちんと1行全体が表示されるのですが、
この1行が、4文字以上の日本語の場合は、最後の文字だけが欠けて表示されてしまいます。
(例:あいう→あいう、あいうえ→あいう、あいうえお→あいうえ)

C++のほうも初心者ですのでどこか間違っているのかもしれませんが、
解決方法をご存知の方が居られましたら、教えていただけませんでしょうか。お願いします。

699 :デフォルトの名無しさん:2009/11/01(日) 03:15:07
ソース貼れ

700 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2009/11/01(日) 11:56:49
見てみた。
EM_LINELENGTHがマルチバイトの文字でも文字数を返すのに
バイト数で確保してるせいだね。
あいうえお→5にNULL文字1+長さ指定のための2バイト確保で8バイト分しか用意してないから
「あいうえ」になるみたい。

702 :デフォルトの名無しさん:2009/11/01(日) 12:19:22
なんか状況によるみたい、ググってもデバッグ環境での違いとかよくわからん。
UNICODE文字セットだとうちでは問題でないけど、どうかな?
manifest書けばいいのかもしれないが。

703 :デフォルトの名無しさん:2009/11/01(日) 13:22:08
>>701
ありがとうございます。そういう原因でしたか。
素人なりに、EM_LINELENGTHまわりの処理をしているようなコードがないかと考え、
wxWidgetsのファイルを探したのですが、よくわかりませんでした・・・。
GetLineTextを使うのを諦めて、他に違う方法を考えるしか無いでしょうか?

704 :デフォルトの名無しさん:2009/11/01(日) 14:31:27
ファイルの場所は、こないだ出たwindow.cppと同じくsrc/msw/にあるtextctrl.cppね。
XPの途中(SP2以降)から仕様変更ってほんまかいな。
うちで試したのはVista64で、たしかに文字数が返ってきてた。

そういやimm〜もLibのリンク不要版書いたけど、見たい人いるかなあ。

705 :デフォルトの名無しさん:2009/11/01(日) 15:07:19
UNICODE版に汁

706 :デフォルトの名無しさん:2009/11/01(日) 15:57:38
>>705
アドバイスありがとうございます。
setup.hで、wxUSE_UNICODEを1にしてビルドしたところ解決しました。
これでwxWidgetsの内部処理がUNICODEになったと考えて良いのでしょうか?

707 :デフォルトの名無しさん:2009/11/02(月) 08:42:01
http://zetcode.com/wxpython/

708 :デフォルトの名無しさん:2009/11/02(月) 11:31:25
http://zetcode.com/tutorials/pyqt4/

709 :デフォルトの名無しさん:2009/11/02(月) 13:55:43
>>706
そうだけどサロゲートペアには対応してないっぽい

710 :658 :2009/11/02(月) 15:10:21
>>697
久しぶりにプログラミング再開しました。



できました。ありがとうございます。

すべての規定ライブラリの無視(/NODEFAULTLIB)は
いいえのままでしたが、
何かとごっちゃになって、無視するライブラリにLIBCMT.libとかがありました。
とりあえず、できた奴を他のパソで起動してみます。


711 :デフォルトの名無しさん:2009/11/03(火) 22:57:11
どうも。wxWidgets2.8.10、Unicnde Buildを使っているのですが、ShiftJIS->Unicode、Unicode->ShiftJISを一発でするにはどうするばいいですか?
どうもEncodingConverterクラスはchar/wcharでの変換しか想定していないようなのです。(wxStringを返すことも出来るようなのですが、実際にやると実行時にエラーになりますorz)

712 :デフォルトの名無しさん:2009/11/03(火) 23:11:52
Linux版使ってるひと?

713 :デフォルトの名無しさん:2009/11/04(水) 00:06:11
>>712
実行時環境を書き忘れていました。実行時環境はWindowsXP SP3です。

具体的なエラー内容は、WXDEBUGをdefineしてビルドするとwxAssertが働いて、wxEncodeConverter::Init()を使用前に呼び出しているにも関わらず「Init()で初期化してください」と表示されるのです。(リリースビルドでも失敗します。)

714 :デフォルトの名無しさん:2009/11/04(水) 00:29:22
>>713
俺はWIN32 APIで変換してるよ。手順がチトややこしいので、無名名前空間内に変換用の関数を
書いたヘッダファイルを用意して使ってる。細かい方法は仕事場に行かないと書けないので、
明日にでも...


715 :デフォルトの名無しさん: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:2009/11/04(水) 09:51:54
おぉ,先に書いてくれましたね。私の使っているコードも殆ど同じ。
一旦,必要なバッファの長さを取得してからもう一度同じ関数で変換する必要があるのがミソ。
C++的には >>715 の関数をstaticな大域関数にするのではなく,

namespace {
WCHAR* SJIS2WCS(string sjis)
{
//中身
}
}

のように無名名前空間に入れたヘッダファイルを用意して,この関数を利用するソースモジュール
からインクルードして使うのが良いようです(参考書なんかによく書いてある)。

717 :デフォルトの名無しさん:2009/11/04(水) 15:39:45
>>716
ありがとうございました。

718 :デフォルトの名無しさん:2009/11/04(水) 21:13:49
>>716
ヘッダファイルに関数の中身まで書くの抵抗あるんだけど
C++だと書いて良いというかそういうもんなの?

719 :デフォルトの名無しさん:2009/11/04(水) 22:38:43
>718
翻訳単位毎に実体ができちゃうから抵抗があるというのは正しい感覚だと思われ。
ヘッダをインクルードしただけで使いたいってんなら自分なら inline にしておくかな。

720 :716:2009/11/04(水) 23:38:45
>>719

> 翻訳単位毎に実体ができちゃうから抵抗があるというのは正しい感覚だと思われ。
> ヘッダをインクルードしただけで使いたいってんなら自分なら inline にしておくかな。

おっしゃる通りで...
無名名前空間でヘッダファイル内に定義して、それを異なる翻訳単位で複数使うと、
中身が同じオブジェクトファイルが複数できてしまうよね。

異なる翻訳単位でも共通に使えるようにするのなら、コード効率を考えなければinlineに
するのが良いだろうし、コード効率を重視するのならシングルトンパターンでも使って、
実体が一つしかできないようにしてクラスにするのが良いと思われ。

昔のC流でグローバルな関数にするのが一番簡単だったりして...


721 :デフォルトの名無しさん:2009/11/05(木) 05:33:21
inline にしておけば翻訳単位ごとに実体ができようが
リンク時に1つにまとめられるぜ

722 :デフォルトの名無しさん:2009/11/05(木) 06:16:24
多分、最適化のこともインラインのことも勘違いしてるんだろうね。

インライン展開とは、関数を実行したのと同じ「意味」になる処理を呼び出し側に埋め込んで
関数呼び出しのコストを無くすことであって、
「意味」を変えないためには>>526のようなことが必要になる。
これは最低限の自分の存在理由を満たしているだけであって、「最適化」などではない。

一方、彼の考えるインライン展開は、引数として渡した「記述」を切り貼りして
コードの姿を組み立てて、それを呼び出し元に貼り付ける、というような物らしい。
でも、それはマクロがやってることだ。

マクロといえば、簡易的なLisp処理系を作って、強力と名高いLispのマクロを実装してみると、
このへん勉強になるかもね。
Lispの言葉でいうなら、C++の関数は「引数はすべて評価してから関数に渡される」。
つまり f(g(), h());の時、fが受け取る(そして扱う)のは「g()の戻り値」と「h()の戻り値」。
だからインライン展開するにあたって、>>526のようにすることでそれを実現する。
それに対して、Lispのマクロは「引数を評価せずに渡し、戻り値で呼び出し側を置き換える」。
こっちが彼の考えるインライン展開に近い。



723 :デフォルトの名無しさん:2009/11/05(木) 06:40:41
???

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

724 :716:2009/11/05(木) 08:30:56
>>722
そもそも誰に対するレス? アンカーも間違ってるので,言っていることがイマイチよくわからん。


725 :デフォルトの名無しさん:2009/11/05(木) 10:30:25
>>721

> inline にしておけば翻訳単位ごとに実体ができようが
> リンク時に1つにまとめられるぜ

それはないだろう。
もうしそうだとすると、inline関数の呼び出し時に、通常関数の呼び出しと同じように
呼び出しアドレスや引数がスタックに積まれることになってオーバーヘッドが大きく
なってしまうから、inline関数の意味がなくなってしまう。

そもそもその話の出典はどこ?

726 :デフォルトの名無しさん:2009/11/05(木) 13:15:10
http://pc12.2ch.net/test/read.cgi/tech/1231640024/

727 :デフォルトの名無しさん:2009/11/05(木) 14:20:58
>>721, >>726

なぁんだ、>>722はSTLスレのコピペだったのか。
(STLスレのinlineの話は長すぎて読みきれん!)

で、>>721だけど、inline関数の中から呼び出される関数の実体は一つにまとめられる
と言いたいのかな?それともコンパイラがインライン展開できなかったときは一つに
まとめられるという話かな?

ANSI C++規格書の7.1.2の2と4にそのあたりのことが書いてあるけど、俺の英語力では
「inline関数への呼び出しはリンク時に一つにまとめられる」とは読めないなぁ。

仮にまとめられるとすると、スタックを使わないでどうやってその関数を呼び出すの?
「inline関数を使うと、スタックによる関数呼び出し手続きを省くことができるので、
オーバーヘッドを省くことが出来る」と、多くの参考書等にも書いてあると思うが。

728 :デフォルトの名無しさん:2009/11/05(木) 15:23:16
レジスタ渡しで呼ばれてるんだろうなw

729 :デフォルトの名無しさん:2009/11/05(木) 15:59:45
それは最早呼び出し規約(fastcall)の話であってinlineじゃないな…w
つか、wxWidgetsのスレでやる話なんだろうか

730 :デフォルトの名無しさん:2009/11/05(木) 16:03:57
>>728
wが付いてるから冗談だということで...

>>729
んだね。スマソ

731 :デフォルトの名無しさん:2009/11/08(日) 15:50:36
wxWidgets用のGUIビルダーやRADツールで、カスタムウィジット(例えばwxCodeに登録されているウィジット)を
登録して、ペタポトできるようにする仕組みを持ってるものってある?

あったら具体的に教えてもらえると嬉しい。

732 :デフォルトの名無しさん:2009/11/08(日) 18:14:35
XRCed

733 :731:2009/11/08(日) 22:45:41
>>732
サンクス。XRCedリソースエディタとしてC++用にも使えるんですよね。
まだ試してないんですが、やってみます。

734 :デフォルトの名無しさん:2009/11/09(月) 13:20:51
XRCed使ってみた。巷で言われる「癖のある使い勝手」はsizerベースであることを考えれば
オレは気にならないけど,イベントハンドラの名前すら記述できないし,xrcしか出力できない。

wxrc使っても,これじゃ結局イベントハンドラそのものと,イベントとイベントハンドラを接続
するコードは手書きするしかないんじゃないの? オレには向いてないみたい。

735 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2009/11/09(月) 18:56:13
そもそもconstを非constに暗黙の変換はできない
C言語(C++ですらない)の教科書に当たるか
const_castでググるべし

737 :デフォルトの名無しさん:2009/11/09(月) 20:59:45
テキストボックスでRead Onlyなのに日本語入力だと普通に書き換えられるのは仕様なの?

738 :デフォルトの名無しさん:2009/11/09(月) 23:36:34
>>735
c_str()

739 :デフォルトの名無しさん:2009/11/10(火) 00:11:36
>>735
Unicodeビルドか?Ansiビルドか?
話はそこからだ。

740 :デフォルトの名無しさん:2009/11/10(火) 04:25:02
overviewsの wxMBConv classes overview, Unicode support in wxWidgets,
それから wx/strconv.h あたりを読むよろし。

741 :735 :2009/11/10(火) 17:11:59
const char 変換物;

変換物 = 変換元.c_str();

char *変換物 = const_cast<char*>(変換物);



ってやれば、とりあえずコンパイルは通りました。
ありがとうございます。

const charでやっといて、const付きで変換して、
あとではずすって感じですね。


んで、今度は文字コードが上手くいってないんですが・・・
コンパイルはVC++で、文字セット「設定なし」です。
一体どうすれば・・・

742 :デフォルトの名無しさん:2009/11/10(火) 17:25:42
どういうコードでどういうデータを使ったらどううまくいかないのさ

743 :デフォルトの名無しさん:2009/11/10(火) 22:36:10
>>741
char *変換物 = const_cast<char*>(変換物);
変換元が無くなったら死ぬよね

744 :デフォルトの名無しさん:2009/11/11(水) 00:22:46
>>741
質問するならもっと詳しく書け。
そんな質問じゃエスパーが現れるまで誰も答えられん。

745 :デフォルトの名無しさん:2009/11/11(水) 03:23:39
ただの愚痴だな
質問ですらない

746 :デフォルトの名無しさん:2009/11/11(水) 10:37:13
>>741
コンパイル通ればいいてものじゃないでしょ。
char *p = strdup(unicode_string.c_str());
とでもすればいいのに。
あと、文字セットは Unicode か MBCS(マルチバイト文字)
じゃなきゃ駄目だと思うよ。
wxWidgets 使うなら Unicode でがんばって。

747 :デフォルトの名無しさん:2009/11/11(水) 10:51:51
みんな wstring って使ってる?

748 :デフォルトの名無しさん:2009/11/11(水) 16:12:34
wxWidgetsは、どう発音するの?
ダブリュ・エックス・ウィジッツ?

既出かもしれないけど教えて。

749 :デフォルトの名無しさん:2009/11/11(水) 16:36:55
日本人相手なら普通はダブルエックス・ウィジェッツ
でいいんじゃね?

750 :デフォルトの名無しさん:2009/11/11(水) 16:42:32
>>749
ありがとう

もしかしたら、ウィックスウィジェッツとか発音するのかと思ってた。


751 :デフォルトの名無しさん:2009/11/12(木) 12:45:23
>>748
http://www.youtube.com/watch?v=xiKoaXobwk8

この00:09の所でダブリュ・エックス・ウィジッツと発音してるね。

752 :デフォルトの名無しさん:2009/11/12(木) 16:47:45
2.9.0になって中身がだいぶ変わったな
今までのがビルド通らないし、動きもしない・・・
バグじゃなくて仕様変更だからしょうがないんだけど。

753 :735 :2009/11/16(月) 14:46:14
解決しました。ありがとうございます。

754 :デフォルトの名無しさん: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(_("http://example.com/"));
return TRUE;
}


755 :デフォルトの名無しさん:2009/11/25(水) 11:40:44
>>754
普通に通るけど、、、ライブラリは自分でコンパイルしたやつ?
バイナリ使ったのならどれかな?

756 :デフォルトの名無しさん:2009/11/25(水) 13:21:44
>>755
ありがとうございます。結構前に入れたものなのでよく覚えていないのですが、
wxMSW-2.8.9-Setup.exeをダウンロードしてインストールし、
build\msw\wx.dswを、VC++ 2008 Expressで開いて、「ソリューションのビルド」をしたものだと思います。

757 :デフォルトの名無しさん:2009/11/25(水) 13:35:02
>>755
すみません・・・。
http://freepg.fc2web.com/cpp/topic_wx_vc.html
をなどを参考にして環境を構築していたのですが、
自分のPCにある、lib\vc_libを見て、「追加の依存ファイル」に無いファイルがあることに気づき、
とりあえずwxURLと関係のありそうな、wxbase28_net.libがありませんでしたので、
それを、プロジェクトのプロパティで、追加の依存ファイルに追加したところ、
エラーが出ずに、ビルドができました。とりあえずエラーは出ないようになったので先に進めます。
初心者の質問につきあっていただき、ありがとうございました。感謝しています。

758 :デフォルトの名無しさん:2009/11/25(水) 14:02:57
関係ないけど
追加の依存ファイルの入力枠って
なんであんなに使いづらいんだろう

759 :デフォルトの名無しさん:2009/11/25(水) 14:05:11
使いづらいよねw
#pragma comment使えってことなのかなあ。

760 :デフォルトの名無しさん:2009/11/25(水) 14:41:33
includeパスもlibパスも使えねー
嫌がらせだろあれはw

761 :デフォルトの名無しさん:2009/12/02(水) 16:13:55
>wxDev-C++
をインスコしたら、
>C:\Program Files\Dev-Cpp
フォルダに、
vcl60.bplとかrtl60.bplがあるみたいなんだけど、
これってC++ Buider か何か?

762 :デフォルトの名無しさん:2009/12/02(水) 16:19:04
うん

763 :761:2009/12/02(水) 16:28:52
嬉しいけど、
C++ Builder を購入してる自分的には、
2種類のソフトと思ってたのが実は1種類みたいに思えて、
損した気分w


764 :デフォルトの名無しさん:2009/12/02(水) 16:51:31
えっ

765 :デフォルトの名無しさん:2009/12/02(水) 17:10:36
えっ

766 :デフォルトの名無しさん:2009/12/02(水) 17:43:44
それはあれだぞ
WindowsのゲームはDirectX使ってるから実は1種類だ!!
って言ってるのとかわらんぞ・・・?

767 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2010/01/02(土) 21:37:55
win32api と wxWidgets の違いって何?

wxWidgets でクロスプラットフォーム GUIアプリを作ろう
http://0xcc.net/pub/uu-2004-08/

↑を見るとwin32をラッパしているだけ、と書いてあるのだが
windows限定で開発している俺には何もメリットない認識でおk?

770 :デフォルトの名無しさん:2010/01/02(土) 23:25:16
MFCで開発してる奴が少ない労力でLinuxやMacで動かせるようになる点がメリット。
ということは、どういうことか分かるよな?

771 :デフォルトの名無しさん:2010/01/03(日) 22:27:34
文字列扱いやすいし,windowsだと冗長になってしまうコードも
簡潔に書けるってのもいいんじゃない?

772 :デフォルトの名無しさん:2010/01/03(日) 23:33:40
文字列扱いやすいなんてのはSTLやMFC使えば一緒だよ

773 :デフォルトの名無しさん:2010/01/04(月) 00:10:00
そう?MFCは使ってないからなんとも言えないけど
STLやQtとか他のライブラリと比べると操作関数が豊富だったと思う
所詮好みの問題だけどさ

774 :デフォルトの名無しさん:2010/01/04(月) 01:42:25
詳しい文書があり、またPythonで使えるのも良い。
GUIの挙動とか確認したい時に一々コンパイルせずともPythonでトライアンドエラー出来るのは楽。

775 :デフォルトの名無しさん:2010/01/07(木) 01:10:00
SSLのソケットは簡単に作れないですかね。
クライアント・サーバどちらも使いたいんですが。

776 :デフォルトの名無しさん:2010/01/07(木) 02:46:55
http://wxssl.sourceforge.net/
ちなみに中身はまったくみていない

777 :デフォルトの名無しさん:2010/01/07(木) 04:43:06
求)リードプログラマー
か・・・

778 :デフォルトの名無しさん:2010/01/10(日) 07:28:10
>>769
Code::BocksのwxSmithやwxFormBuildeや、wxDev-C++みたいな
ポトペタRADツールを使うと、MFCよりサクサク開発できる。
MFCは書かなきゃならないコードが多すぎる。

779 :デフォルトの名無しさん:2010/01/22(金) 02:33:04
>>769
何もメリットないってことはないけど、俺ならクロスプラットフォーム
でもないのにあえてwxWidgetsを選ぶことはないな。

780 :デフォルトの名無しさん:2010/01/22(金) 03:26:04
Win32API とか MFC のダサさを回避したいときには
敢えて wxWidgets や Qt4 とか使うのは間違いではないよ

781 :デフォルトの名無しさん:2010/01/22(金) 12:43:16
同感。C++ Builderは既に死に体だし。

> 敢えて wxWidgets や Qt4 とか使うのは間違いではないよ

最近の流れだと wxWidgets は Qt に比べて分が悪いね。
Qt より単純で好きだったんだけど。

782 :デフォルトの名無しさん:2010/01/22(金) 13:20:52
wxWidgetsは、気に入らない部分を書き換えてビルドできちゃうところがいい

783 :デフォルトの名無しさん:2010/01/22(金) 16:24:55
スタティックリンクも出来るし

784 :デフォルトの名無しさん:2010/01/23(土) 00:03:56
3.0まだぁー?

785 :デフォルトの名無しさん:2010/01/23(土) 00:06:43
>>779
で、何選ぶの?

786 :デフォルトの名無しさん:2010/01/26(火) 12:08:16
>>785
この流れでは言いにくいけど俺はC++Builder。


787 :デフォルトの名無しさん:2010/01/26(火) 12:58:26
俺は逆にC++ Builderから逃げようとしている。
Borland⇒CordGear⇒Embarcaderoと母体が変わるうちにどんどん品質低下。
バグを充分に修正しないまま次期バージョンを発売してしまう。
メチャクチャな翻訳やリンク切れ満載のヘルプの酷さは見るに耐えない。

以前は沢山カキコのあったMLも超閑古鳥。
問い合わせしても自分で答えずに一般人のHPのURLをメールに貼って
「ここに情報があります」と言うヒドいサポート。

最新バージョンへの優待バージョンアップも申し込みが少なかったらしく,
昨年末までだった予定を一ヶ月延長する情けなさ。
トライアル版使ってみれば,バージョンアップする気がなくなるw

Windows限定なら使いやすくて仕事が速く出来る最高の製品だった
はずなのに,こんな製品に誰がした!

QtをNOKIAが買ったように,どこかの大きな会社が買ってくれんかな。
wxWidgetsもどこかがバックに付かんかな。

788 :デフォルトの名無しさん:2010/01/26(火) 14:47:56
同意

789 :質問:2010/02/05(金) 12:50:49
wxPythonを使っているのですが、
wx.media.MediaCtrlでマウスクリックのイベントから関数をコールバックすることはできないのでしょうか?
もしできないのでしたら、親ウィジェットでマウスクリックのイベントを受け取ることはできるのでしょうか?

790 :デフォルトの名無しさん:2010/02/05(金) 15:54:21
>>787
どこもバックに付かないから良いんじゃまいか

791 :質問:2010/02/06(土) 00:14:07
すみません、解決しました。

792 :デフォルトの名無しさん:2010/02/06(土) 17:38:58
wxString strを
cout << str << endl;
という風に出力したいんだけど、コンソール入出力用のストリームってある?

793 :デフォルトの名無しさん:2010/02/06(土) 17:42:12
ここには人はいませんよ。ばいばいさるさん。

794 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2010/02/08(月) 00:32:22
Qtに引越ししつつある

798 :デフォルトの名無しさん:2010/02/08(月) 00:35:47
>>796
枯れてきたから使用者が多くても質問者は少ないんだろ。

799 :デフォルトの名無しさん:2010/02/08(月) 00:39:46
>>797>>798
そうなのか
Qtの方ってOSが搭載してるブラウザコアを組み込んで使えたりするのかな?

wxのHTML処理関連は素のHTMLは問題なさそうだけどcssが駄目そうだし

800 :デフォルトの名無しさん:2010/02/08(月) 01:02:14
QtにはWebKitが付いたんだっけ?

801 :デフォルトの名無しさん:2010/02/08(月) 01:05:52
wxの話では盛り上がらないけど
Qtの話になると盛り上がるwxスレ

802 :デフォルトの名無しさん:2010/02/08(月) 01:07:42
Monoで作るというのもあるよ
あれだとC#でかけるのでC++の糞構文に悩むこともない
ただMSの動きとかもろももろでどうなるかなんだよね

803 :デフォルトの名無しさん:2010/02/08(月) 01:11:26
Qt で書かれたアプリはときどき見かけるけど
wx で書かれたのってあまりお目にかからない
どんなのがあるの?

804 :デフォルトの名無しさん:2010/02/08(月) 01:14:24
>>803
python製アプリ見ればほとんどwxだよ。

805 :デフォルトの名無しさん:2010/02/08(月) 01:25:36
休みを利用してwx関連をいろいろ試したけどGUI関連のツールが微妙だな
ネットで調べるとすぐにでてくるwxGladeとかもうね・・・

806 :デフォルトの名無しさん:2010/02/08(月) 01:35:40
まぁ、GUIなんて手で書けばいいし

807 :デフォルトの名無しさん:2010/02/08(月) 03:16:08
wx で GUI 独立設計したいなら XRCed がいいよ

808 :デフォルトの名無しさん:2010/02/08(月) 11:11:06
>>795
あんまり頻繁に見ていないんだ、ごめんよ。
で、Windows で使うなら UnicodeRelease/UnicodeDebug でいいよ。
むしろそれ以外は気にしてはいけない。
static か DLL かは好みで。

809 :デフォルトの名無しさん:2010/02/09(火) 20:43:35
>>799
たしかwxはMacで使うときだけWebkitに切り替わるようになってる。

>>792
なかったような希ガス。
こうすればいいと思う。(wxでコンソール出力使ったことないから保証はしない)

wcout << str.c_str() << endl;

810 :デフォルトの名無しさん:2010/02/11(木) 03:42:47
>>805
独立じゃなくてポトペタがしたいならCode::Blocksかな
IDEだけど

811 :デフォルトの名無しさん:2010/02/11(木) 06:43:50
wxDev-C++もあるよ。

812 :デフォルトの名無しさん:2010/02/11(木) 09:02:07
>>805
慣れればwxGladeも便利だと思うんだけどな
wxPython用に使ってるけどあんまり不満ないよ

813 :デフォルトの名無しさん:2010/02/11(木) 10:47:46
C/C++/Pythonのソース吐くのは全く好きじゃない
QtDesignerがぎりぎり許せるレベル

814 :デフォルトの名無しさん:2010/02/11(木) 12:52:38
wxWidgets + JavaScript = wxJavaScript = GlueScript


815 :デフォルトの名無しさん:2010/02/12(金) 01:36:56
wxWidgetsってなんかあまり人気ないような気がする

816 :デフォルトの名無しさん:2010/02/12(金) 01:38:22
>>815
まあ他の移植性は魅力だがwxに限っては情報が無さ過ぎるよね>日本語の

817 :デフォルトの名無しさん:2010/02/12(金) 02:20:46
日本語の少なさではQtもどっこいどっこいだと思うが
漏れの気持ちは少なからずQtに傾いてしまっている

818 :デフォルトの名無しさん:2010/02/12(金) 13:19:48
俺の場合Pythonならwx、C++ならQtだな。
別に両方覚えて使いわけてもこまらんよ。

819 :デフォルトの名無しさん:2010/02/12(金) 13:23:18
QTをキュートと読んでるやついるの?
みんなキューティーって読んでるはず

820 :デフォルトの名無しさん:2010/02/12(金) 13:25:36
日本人って一体どうやってGUI作ってるの?
まさかwin32api直打ち?

821 :デフォルトの名無しさん:2010/02/12(金) 14:09:08
>>819
QTはクイックタイムって読んでる。
Qtはキュートかなぁ。たしかに昔はキューティーって読んでたな。

>>820
wxもQtも使わない時はC++BuilderかDelphiだな。俺の場合。

822 :デフォルトの名無しさん:2010/02/12(金) 15:01:01
>>818
おまえはおれか

823 :デフォルトの名無しさん:2010/02/12(金) 15:15:29
なれると本家のdocとソースのexampleでだいぶなんとかなるんだけどねぇ・・・

824 :デフォルトの名無しさん:2010/02/12(金) 16:29:27
wxGladeで生成したCのソースに色々処理を追加したあとで,
またwxGladeでボタン等を追加することはできますか?

825 :デフォルトの名無しさん:2010/02/12(金) 17:33:25
以前試したことがあるけど,大丈夫だったよ。
手書きで変更した部分は上書きされない。

826 :デフォルトの名無しさん:2010/02/12(金) 18:17:07
でもアレ?ってこともあるので
バックアップしといた方がいいよ。

827 :デフォルトの名無しさん:2010/02/12(金) 18:44:55
Gladeはアプリ自体が不安定でいつ落ちるか判らないからな
それで落ちたときにソース壊されたりするのが不安で仕方が無い

828 :デフォルトの名無しさん:2010/02/12(金) 23:32:25
>>821
俺は今も昔もキューテーだが・・・

829 :デフォルトの名無しさん:2010/02/13(土) 00:53:41
俺もキューティーって読んでる。
キュートって呼んでる人は見た事が無い。
Qt の話をしている人も見た事が無いけどw

830 :デフォルトの名無しさん:2010/02/13(土) 00:59:21
おれは心の中ではキューティーって読んでるけど
オフィシャルにはキュートって読むのを知ってるから
人と話すときはキュートって言ってる。

この前もQtの事を知ってる人が話題振ってきたんだけど
普通にキュートって言ってたから多分日本でもそっちが
主流なんだと思ってる。

831 :デフォルトの名無しさん:2010/02/13(土) 01:01:51
そもそも流れはあるのかな…
個人個人で便利に使っているというイメージだったけど

832 :デフォルトの名無しさん:2010/02/13(土) 01:06:36
おまいらMinGWは何て呼んでる?
俺は「ミンジーダブリュー」だったんだけど、どこかで「ミングー」と言うのを見て
なんかピングーみたいで気に入っちまった。

833 :デフォルトの名無しさん:2010/02/13(土) 01:14:38
ミングー

834 :デフォルトの名無しさん:2010/02/13(土) 01:18:34
>>831
あ、主流っていうのは呼び方の話ね。

835 :デフォルトの名無しさん:2010/02/13(土) 01:23:25
おれはミングウィン

836 :デフォルトの名無しさん:2010/02/13(土) 01:23:26
しかし「ダブリューエックスウィジッツ」は呼びにくいな。
人と会話するのがエラク面倒。

837 :デフォルトの名無しさん:2010/02/13(土) 01:24:53
wxはなあ・・・

MFC,ATL,WTLやってみたけど部品少なすぎ

wxのブラウザって独自で作った物なんだっけ?

838 :デフォルトの名無しさん:2010/02/13(土) 01:25:05
どうでも良い話題で盛り上がるなよお前ら

839 :デフォルトの名無しさん:2010/02/13(土) 01:29:57
>>836
ダブルエックスって呼んでるよ
それで通じなかったときだけ、wxWidgets の事なんですけどね、、、って説明してる

840 :デフォルトの名無しさん:2010/02/13(土) 02:27:46
wx だけだと wxPython とかを連想してしまうな

841 :デフォルトの名無しさん:2010/02/13(土) 02:48:08
突発的にwxWidgetsの話題になる事はないので
会話の前後で分かるだろw

842 :デフォルトの名無しさん:2010/02/13(土) 23:09:14
>>837

どっちが部品少ないって言いたいのかよくわからん。

843 :デフォルトの名無しさん:2010/02/14(日) 03:10:56
低レベルな質問で申し訳ないのですが
wxFormBuilderから追加したイベント宣言を定義するのはどうしたらいいのでしょうか?

Generateで書き出した.hファイルにある
virtual void OnButton1( wxCommandEvent& event ){ event.Skip(); }
の{ event.Skip(); }をコメントアウトすることで
出来なくも無いのですが
ヘッダファイルの行頭に
// PLEASE DO "NOT" EDIT THIS FILE!
とありますし後々修正があったときに困りそうです。

// Virtual event handlers, overide them in your derived class
このコメントが鍵のような気もするのですが正直意味が分かりません・・・

844 :デフォルトの名無しさん:2010/02/14(日) 05:08:43
>>843
ToolsにあるGenerate Inherited Classで派生させてそっちを弄くればおk
チュートリアルが分かりやすく説明してあるから一度目を通すといいよ
ttp://wiki.wxformbuilder.org/Tutorials/UsingWxFormBuilder

845 :843:2010/02/14(日) 05:38:04
>>844
おぉ、こんな機能があったのですね・・・
チュートリアルのビデオのほうも見ましてなんとか概要はつかめました感じです。
ありがとうございました!

846 :デフォルトの名無しさん:2010/02/14(日) 06:29:24
>>843
http://sourceforge.jp/projects/openmj/svn/view/trunk/openmj/gui/wxfbMain.h?view=markup&root=openmj&pathrev=49

// Virtual event handlers, overide them in your derived class
virtual void onClose( wxCloseEvent& event ){ event.Skip(); }

http://sourceforge.jp/projects/openmj/svn/view/trunk/openmj/gui/ConsoleFrame.cpp?view=markup&revision=49&root=openmj&pathrev=49

void ConsoleFrame::onClose(wxCloseEvent& event) {
Hide();
}

vertual って書いてあるから、仮想関数(C++入門書参) .h で引っ張ってきて
実装は各自してね = overide them in your derived class
くらいの訳であってると思うぞ・・・俺もC++よくわからんから間違ってたらごめん

847 :デフォルトの名無しさん:2010/02/16(火) 11:20:53
WxFormBuilder support wxPython
http://www.daniweb.com/forums/thread259746.html#
http://wx.k5-n.com/wxruby/tutorial03.html

python で XRC 使わなくても組めるようになったみたい
しかし現在サイトが落ちてて動作確認できない罠orz

848 :デフォルトの名無しさん:2010/02/16(火) 11:29:18
http://zensan.blogzine.jp/blog/2009/12/wxformbuilder.html

と思ったら、もうちょっと前から対応してた
XRC に何となく馴染めなかったからこれは嬉しい

849 :デフォルトの名無しさん:2010/02/16(火) 11:45:17
http://code.google.com/p/wxformbuilder-python-357/downloads/list

元になったソースを発見したw
頑張れば wxruby のコードも自動的に生成できるようになるのかなぁ…

850 :デフォルトの名無しさん:2010/02/16(火) 20:54:51
は?
なんでコード独立のXRCより
コードベタ吐きのツールの方を有難がるの?

851 :デフォルトの名無しさん:2010/02/16(火) 20:55:56
>>847
もうQtに乗り換えちゃったよ

852 :デフォルトの名無しさん:2010/02/16(火) 21:04:33
コード直書きだろうとXRCだろうと大して違いがないから。

853 :デフォルトの名無しさん:2010/02/16(火) 21:57:37
俺はコード吐いてくれる方が好き。XRCより何やってるか良く見えるから。
好みの問題。

854 :デフォルトの名無しさん:2010/02/18(木) 11:44:07
http://blog.inquirylabs.com/2010/02/02/getting-wxruby-to-work-on-mac-os-x/

sudo gem install wxruby-ruby19 でないと駄目みたいだな…

855 :デフォルトの名無しさん:2010/02/18(木) 11:49:55
http://wxsu.sourceforge.net/

国内でいじってるひとがいなそうな辺り
そもそも gui なんて興味ないよ派が多そうな予感が・・・

856 :デフォルトの名無しさん:2010/02/20(土) 17:03:00
思うんだけど、GUI扱うならTkが一番使い易いと思うわけだけど、
なんでTk使う人は少ないのかな??

857 :デフォルトの名無しさん:2010/02/20(土) 17:52:55
Tclとセットで語られることが多くその点で敬遠されるのと、
あと見た目じゃね

858 :デフォルトの名無しさん:2010/02/20(土) 18:25:21
>>856
漏れはそう思わないから使わない

859 :デフォルトの名無しさん:2010/02/21(日) 14:00:14
>>856
そう思う人の数かな?

860 :デフォルトの名無しさん:2010/02/22(月) 00:04:48
>>856
・UIをレイアウトするための便利で安定したツールがないから
・出来上がったUIの見た目がダサくてエンドユーザから文句を言われるから
・Tkでなんとかできる程度のことはコマンドラインでやってもたいして困らないし
コマンドラインではキツイことをTkでやろうとすると
機能が足りなくて・環境によっては未実装で、すぐ行き詰まるから
・Tcl以外と組み合わせると、書き方がごっそり変わってたりして
それまでの参考資料があまり役に立たなくなっていて習得に苦労するから
・exe化がすんなりいかない場面が多いから

861 :デフォルトの名無しさん:2010/02/24(水) 16:10:09
pythonが初期?からtk取り込んでたけど
やっぱり足りないからwindow systemのバインディングが増えてる

862 :デフォルトの名無しさん:2010/02/24(水) 16:22:38
wxPythonとPyQtのどっちにしようか迷ってる
Tkinterはoutof眼中

863 :デフォルトの名無しさん:2010/02/24(水) 16:39:58
PythonのQtバインドは目下分裂中だから様子見だね。

864 :デフォルトの名無しさん:2010/03/03(水) 15:52:47
復活

865 :デフォルトの名無しさん:2010/03/03(水) 16:14:20
うわあああああああああああ
wxwidgetsのインストールができない
3日間何回もメイクしてもう疲れた
QTのほうが簡単かな、やってみよう

ってかソースで配布する意味ってなんなの教えてえろいひと

866 :デフォルトの名無しさん:2010/03/03(水) 16:45:17
>>865
- ソースがあれば分け解らんメソッドとかクラスも中身見えて解るようになる
- 足りない/気にくわない機能があっても拡張できる/修正できる
- 最適化だったりのコンパイルオプション変更してビルドしなおせる
- オープンソースであること

ぱっと思いつくのはこんな感じ?

867 :デフォルトの名無しさん:2010/03/03(水) 16:46:45
ってか、どんな環境でやってるの?
Win (gcc/VC++) Linux (gcc/icc) Mac (たしかgcc)
とどれもすんなりmake通ったが

868 :デフォルトの名無しさん:2010/03/03(水) 17:49:39
>>865
Qt は make all で 2日かかった

>>866
ウィルスとか変なもの埋め込まれていないことを証明出来る

869 :デフォルトの名無しさん:2010/03/03(水) 20:23:43
>>865
好きなコンパイラで好きなオプションが使える。
ところで環境は何よ?

870 :デフォルトの名無しさん:2010/03/03(水) 22:15:58
>>866
自分でビルドすら出来ん奴にとっては、どれも猫に小判かも……

871 :デフォルトの名無しさん:2010/03/03(水) 22:50:11
つかwxってバイナリ配布してなかったっけ

872 :866:2010/03/03(水) 23:38:00
winのcygwinです
cygwinもemacsもインスコに三日ずつくらいかかった初心者です
いままではBCCでBCCDevっていうIDEつかってやってたんですけど
emacsとか使えたらかっけーとおもって乗り換えようと思ったらこのざま

自分がやった手順をまとめてみます
あ、まず、cygwinのhomeをc:/home/yuta/にマウント(?)してます。
どうやってやったかは覚えてない。yutaは名前w

wxAllをc:/home/yuta/wxWidgets-2.8.10に解凍
cygwinでwxWidgets-2.8.10に移動してから
export CFLAGS=-mno-cygwin
export CPPFLAGS=-mno-cygwin
export CXXFLAGS=-mno-cygwin
export LDFLAGS="-mno-cygwin -mwindows"
したあと
./configure --build=i686-pc-mingw32 --disable-threads --disable-precomp-headers
--without-expat --with-opengl --disable-shared
オプションの意味はよくわかってないです
それで、
makeは成功
make installで
/usr/bin/install -c -d /usr/local/share/aclocal
(cd . ; /usr/bin/install -c -m 644 wxwin.m4 /usr/local/share/aclocal)
/usr/bin/install: cannot stat `wxwin.m4': No such file or directory
make: *** [install] Error 1
がでました。
で、ぐぐってttp://forums.adafruit.com/viewtopic.php?f=17&t=4119
英語よめないおわた
root権限が必要なんですかね、でもそんなことどこにも書いてなかった

873 :デフォルトの名無しさん:2010/03/03(水) 23:47:11
yutaって馬鹿だな
まで読んだ

874 :866:2010/03/03(水) 23:48:00
連投すまそ
ちなみにサンプルはメイクできました
サンプルみつつ妄想膨らませるだけで楽しくてなんかもう満足

ソース配布の利点はわかったけど時間かかりすぎて鬱になる

875 :デフォルトの名無しさん:2010/03/04(木) 01:06:56
もう何年も前の話だから今と事情は違うかもしれないけど
wxAllは色々とゴニョゴニョしなきゃCygwin(MinGW)でビルドできなかった記憶が。
とりいそぎクロスコンパイルしなくてWinで動かすだけならwxMSWをダウンロードしてでビルドしてみそ。

876 :デフォルトの名無しさん:2010/03/04(木) 11:04:49
GTK+のほうがいいよ

877 :デフォルトの名無しさん:2010/03/04(木) 20:27:28
GTK+はまともなRADツールがない。

878 :865:2010/03/05(金) 02:03:01
うわあああああああああ
できたあああああああああ
ありがとうございました

--build=i686-pc-mingw32を--build=i686-pc-cygwinにかえて
wxMSWをビルドしたらできますた。

頑張ってサンプル読みまくります
人のコード読むのはじめてなんだけど^−^

879 :デフォルトの名無しさん:2010/03/05(金) 06:05:01
wxのソースは比較的読みやすい方だと思う(設計はやや古臭いが)

880 :デフォルトの名無しさん:2010/03/05(金) 13:39:30
もうはるやすみはじまったのかw

881 :デフォルトの名無しさん:2010/03/05(金) 16:42:19
>>879
確かに。
wxで作るときはヘルプ見るよりこのサンプルコード見るし。

882 :デフォルトの名無しさん:2010/03/05(金) 18:49:43
ゆーたくんよかったね

883 :デフォルトの名無しさん:2010/03/07(日) 21:03:25
   ┌─┐
   │●│
   └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘      おっぱい!おっぱい!

884 :デフォルトの名無しさん:2010/03/16(火) 02:36:53
うめてみる


885 :デフォルトの名無しさん:2010/03/16(火) 22:21:16
ほしゅ

886 :デフォルトの名無しさん:2010/03/18(木) 23:43:35
うめてみる


887 :デフォルトの名無しさん:2010/03/20(土) 03:35:11
うめてみる


888 :デフォルトの名無しさん:2010/03/20(土) 04:05:37
うめてみる

889 :デフォルトの名無しさん:2010/03/20(土) 07:37:15
うめてみる


890 :デフォルトの名無しさん:2010/03/20(土) 10:31:49
        まもなくここは 乂1000取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    )

891 :デフォルトの名無しさん:2010/03/23(火) 07:24:58
はえーよw

892 :デフォルトの名無しさん:2010/03/23(火) 08:28:27
おまいら
戦場はこっちだぜ?
http://pc12.2ch.net/test/read.cgi/tech/1203689674/

893 :デフォルトの名無しさん:2010/03/24(水) 17:47:48
XPで使ってるんだが
VSの色を参照するにはどうすればいいんだ?

894 :デフォルトの名無しさん:2010/03/25(木) 06:11:34
> VS
何それ?


895 :デフォルトの名無しさん:2010/03/25(木) 07:07:30
Visual Style

896 :デフォルトの名無しさん:2010/03/25(木) 07:40:57
VS(Visual Style)の色とやらが
曖昧で何を指しているものか分からん

HKCU\Control Panel以下のレジストリを保存して差分でもとってくれ

897 :デフォルトの名無しさん:2010/03/25(木) 13:14:35
http://www.dotup.org/uploda/www.dotup.org757860.png
例えばこの部分
どうやらVSによって背景色も変わるらしく、動的にここの色を参照したい

898 :デフォルトの名無しさん:2010/03/25(木) 14:54:30
wxSystemSettings::GetColour(wxSYS_COLOUR_BTNFACE)
じゃないの?

899 :デフォルトの名無しさん:2010/03/25(木) 17:45:05
>>898
出来た
マジでありがとう

900 :デフォルトの名無しさん:2010/03/25(木) 18:30:27
>>897
Win32で、その手の色を示す定数が定義されてるから、そこからAPI使ってとってくればいいかな。

901 :デフォルトの名無しさん:2010/03/27(土) 02:42:53
システムカラーとヴィジュアルスタイルはあんまり関係ないぞ

902 :デフォルトの名無しさん:2010/03/27(土) 10:13:09
マジかよ

903 :デフォルトの名無しさん:2010/04/07(水) 08:41:12
(´・ω・`)


904 :デフォルトの名無しさん:2010/04/09(金) 16:36:48
次スレです
http://pc12.2ch.net/test/read.cgi/tech/1270793556/

905 :デフォルトの名無しさん:2010/04/09(金) 22:37:09
    ヘ⌒ヽフ
   ( ・ω・) dd
   / ~つと)


906 :デフォルトの名無しさん:2010/04/10(土) 14:29:08
        まもなくここは 乂1000取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    )

907 :デフォルトの名無しさん:2010/04/28(水) 06:33:01
age

908 :デフォルトの名無しさん:2010/05/02(日) 18:57:05
(´・ω・`) sage

909 :デフォルトの名無しさん:2010/05/02(日) 23:59:20
どもです(´・ω・`)

910 :デフォルトの名無しさん:2010/05/17(月) 09:19:56
元々緩やかな下降線にはあったけど、人が減った事によって
それまでは人混みに隠れていた工作員の存在が目立つようになったのが致命傷だったな
工作員の誘導を嫌って参加者が減り、他所からの工作員を排除しようとして規制をするから
参加機会が奪われて更に参加者が減るという負のスパイラルにおちいってる

911 :デフォルトの名無しさん:2010/07/30(金) 05:18:25
ご冥福をお祈りします

257 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)