-
- 1
- 2010/04/09(金) 15:12:36
-
クロスプラットフォーム GUI ライブラリの wxWidgets (旧 wxWindows)についてのスレ。
本家
ttp://www.wxwidgets.org/
wxWindows日本語プロジェクト
ttp://wxwindowsjp.sourceforge.jp/
Cross-Platform Programming with wxWidgets
ttp://wxwidgets.info/
Let's wxWidgets
ttp://dot-gray.s33.xrea.com/
wxWindowsで始めるC++ GUIプログラミング
ttp://www.h3.dion.ne.jp/~k5_n/wxwin/
wxWidgets でクロスプラットフォーム GUIアプリを作ろう
ttp://0xcc.net/pub/uu-2004-08/
前スレ
【GUI】wxWidgets(旧wxWindows) その4【サイザー】
http://pc12.2ch.net/test/read.cgi/tech/1214657360/
-
- 63
- 2010/07/29(木) 14:33:27
-
C++のクラスの複雑さは異常
-
- 64
- 2010/09/06(月) 03:08:25
-
Windows XP上のmingw+msys(最新安定板)でmakeしたのですが、ld: final link failed memory exhausted エラーでリンクに失敗します。wxMSW(安定板)とwxWidgets-2010-06-30
物理メモリーは2G近くの空き、システムドライブも20G近く空いています。
ネットでエラーを調べてLDFLAGSに-Wl,--no-keep-memoryを追加してみましたが同じ所でエラーになりました。
誰かタスケテorz
-
- 65
- 2010/09/06(月) 03:51:24
-
無視してもう一回make
-
- 66
- 2010/09/06(月) 04:50:27
-
>>65
既に3回くらいやりましたが駄目でしたorz
-
- 67
- 2010/09/06(月) 05:51:56
-
3回とも同じ結果?
同じ場所で止まる?
-
- 69
- 2010/09/06(月) 06:45:03
-
cleanしちゃだめだぞ
-
- 70
- 2010/09/06(月) 09:26:15
-
ビルドごとにディレクトリ作ったか?configureは試したか?
-
- 71
- 64
- 2010/09/06(月) 21:25:58
-
色々と調べたので中間?報告
ttp://comments.gmane.org/gmane.comp.gnu.mingw.devel/3728
多分、同じ現象が報告されていてgcc4.5では起きて4.4では起きないようです。
但しPF使用量を調べると、Win上のメモリ上限の遥か手前で落ちていました。
msysのデフォルトのulimitの仮想メモリの上限が約2GBでこれに抵触したようです。
現在msys上でrootを取得してulimitを変更する方法を検索中です。
・・・msysはsuが壊れてるとかイミフ(ry
>>69
cleanはconfigureの--enable-debugフラグを変更した時にしかしていません。
その他はLDFLAGSのみを変更してmakeを試しました。
>>70
ディレクトリは変更していません。configureをやり直した場合はcleanで対応しました。
wxWidgetsではなくてmsys固有の問題の可能性があります。
その場合にはmingw相談室で質問後結果報告させて頂きますね。<その方が良いですよね?自信がないです・・・。
-
- 72
- 2010/09/06(月) 23:53:29
-
なんかサイザーの処理が最適化されていないのか、複雑なレイアウトを組むと
再描画に凄く時間が掛かる。
何か回避策や対策などがあるようならば教えてください。
-
- 73
- 2010/09/07(火) 17:43:04
-
wxを窓から捨てる
-
- 74
- 2010/09/07(火) 17:55:13
-
RADツール使ってサイザーやスペーサーを極力使わない構造を見つける
-
- 75
- 72
- 2010/09/07(火) 22:55:14
-
リサイズしないウィンドウにしても、再描画時にサイザーの計算を
しているっぽいので、そこをもう計算させないっていう様な設定が
出来たらしたいのです。
結局、複雑にサイザー使ってボタンとかびっちり詰め込むと
サイザーの計算が重くなるのは仕方ないなとも思うので、
固定さえ出来れば問題なくなるはずです。
-
- 76
- 2010/09/07(火) 23:10:11
-
各コントロールごとに座標を想定してたりしないか?そういう使い方するもんじゃない
ボックス系のサイザーとグリッド系のサイザーを適切に使えば綺麗にまとまるし
さほど重くもならないと思うんだけど
-
- 77
- 2010/09/07(火) 23:22:25
-
あとコントロール、サイザー共にExpandとStretch(proportion)はちゃんと個別に見直すべき
そのあとでBorder、埋めきれないとこはSpacer
-
- 78
- 2010/09/09(木) 09:58:14
-
wxFormBuilder 3.1
Python対応
C++で日本語でもANSIで吐けるようになってるのを確認
-
- 79
- 2010/09/11(土) 02:13:45
-
>>76
ちょっと見直してみたら、ボックスサイザーを入れ子にしてる所があるな。
そういうのは、グリッド系にすべきって事かな。
-
- 80
- 2010/09/11(土) 04:07:42
-
サイザーごときで重くなるって
100個とか1000個単位で
びっしり詰めてるのか?
-
- 81
- 2010/09/11(土) 11:58:53
-
とりあえず、コントロールは100個近く詰まってはいる。
動作が重いというか、ウィンドウを(最小化などから)表示した時に
普通はパッというぐらいの速度で表示されるけど、それがパラパラっと
コントロールが配置されるのが見えるって感じ。
-
- 82
- 2010/09/11(土) 12:03:53
-
>>78
wxFormBuilderって物凄く安定しているのがスゲーと思った。
こういうのって不安定なものが多いから感心した。
ちなみに、Windows版。
-
- 83
- 2010/09/11(土) 14:23:13
-
以前に作ったコントロール90くらいのダイアログ見つけたからwxFormBuilder通して見てみたけど
C2D E6600でもこの程度では特に重いとは感じない、というか変化がない
SS見せてくれたら試しに組んでみてもいいよ
-
- 84
- 2010/09/13(月) 07:11:45
-
透過GIFを背景画像の上にぺたぺた貼り付けたいんだけど、透過GIFを入れたwxStaticBitmap
を配置するだけだと背景色で透過部分がfillされます。styleをTRANSPARENTにしても効かない。
ウィンドウのDCを取得して、wxDC::DrawBitmapで地道に描かないとだめですかね?
-
- 85
- 2010/09/13(月) 11:28:09
-
styleをTRANSPARENT
SetMaskColour
-
- 86
- 2010/10/18(月) 01:51:53
-
wxTextCtrlでカーソル位置にテキストを挿入するのってどうやるのが楽?
GetInsertionPointの前後で分割して、入れたい値を合成して
再挿入、ってやったけど
どうも改行があると値がずれるようなんで困ってて。
-
- 87
- 86
- 2010/10/18(月) 02:20:13
-
自己解決。Replace使えば良かったのか。
スレ汚しすまんかった。
-
- 88
- 2010/10/18(月) 02:32:29
-
>>86-87
普通にWriteTextで
キャレット位置に挿入(選択状態なら置換)出来るのでは?
-
- 91
- 2010/10/31(日) 01:53:11
-
>>90
単にスワップ起こしてるだけじゃねーの?
2GB程割り振って検証してみたら?
-
- 92
- 2010/10/31(日) 17:17:26
-
>>90
VS2010のx64でビルドして使ってるけど、特においらの範囲では問題ないな。
VC6プロジェクトがVS2010で変換できないってことなら、VC2005か、VC2008で変換してからVS10で開けば通るよ。
2.9.xならVC8,VC9用のプロジェクトもある。
-
- 94
- 2010/11/13(土) 05:11:47
-
wxURLのProxy処理にバグがある・・・?
GETしたいURL: http://www.google.com/
使うProxy: localhost:8080
このとき、Proxyへリクエストヘッダを見てみると
GET http://www.google.com/ HTTP/1.0
Host: localhost
になってて、Proxyがlocalhostの/を取りに行こうとする。
RFCをちゃんと読んでないのでこれも正しいのかもしれないけど、
一般的なブラウザだと
GET http://www.google.com/ HTTP/1.0
Host: www.google.com
になってる。
送信先がhttpならHostをwww.google.comに書き換えないといけない
(実際そうしてみたら手元の環境では動く)と思うんだが、俺間違ってる?
一応最新のソースをTrunkから落としてきてるけど、こんな単純なところでミス
してたらテスト通らないだろうし…
俺が何かくだらないミスしてる気がしてならないので、誰かツッコミ入れて下さい。
-
- 95
- 2010/11/13(土) 11:25:39
-
>送信先がhttpならHostをwww.google.comに書き換えないといけないと思うんだが、俺間違ってる?
あってる
-
- 96
- 2010/11/13(土) 11:31:27
-
wxURL_NOHOST
-
- 97
- 2010/11/13(土) 11:34:21
-
これかな
http://yomi.mobi/read.cgi/pc8/pc8_tech_1097524712/515-
-
- 98
- 2010/11/13(土) 11:54:08
-
wxRIchTextCtrlの日本語インライン入力パッチありませんか?
-
- 99
- 2010/11/23(火) 18:39:00
-
おや規制明けてる。
>>98
もう解決してる気がするけど、OS毎で処理系が全く異なる上、
日本と中国と韓国くらいしか影響がないのでそんな便利なパッチはたぶん無い。
RichTextはわからんが、Win上のwxStyledTextCtrlと同じなら、
MSWWindowProcをオーバーライドして、
WM_IME_STARTCOMPOSITION、WM_IME_COMPOSITIONあたりを捕捉、
Caretの位置から自分で逐次IMEの位置情報を変更してやればいいと思う。
しかし上でwxURLの話もされてるけど、HTTP通信周りの処理、
結構ボロボロだなコレ。
そういう用途で使ってるユーザがほとんどいないんだろうが・・・。
-
- 100
- 2010/11/23(火) 19:22:29
-
UI以外の部分でwx使う意味ってあんまりないからじゃない?
-
- 101
- 2010/11/24(水) 19:51:50
-
そうか
-
- 102
- 2010/11/25(木) 23:22:37
-
もう誰か作ってるだろと探したけど
wxOnigurumaとか無かった。残念。
-
- 103
- 2010/11/26(金) 07:32:10
-
詳しい方ちょっと教えて下さい…。
ちょっと前からxchmというヘルプビューアを日本語表示できるようにしているのですが、
ShiftJIS->Unicodeの変換がうまくいきません。
一応wxString、wxMBConv、wxCSConv、wxEncodingConverterのリファレンスと
ヘッダにある関数の組み合わせは一通り試したつもりですが、変換されるはずが
変換されなかったり、Initに失敗したりと散々です。
結局g_convert関数(GLibのiconvラッパー)で逃げましたが、wxWidgetで
書かれているソースに突如異物混入みたいで非常に美しくありません。
動作はしたので後は趣味の問題ですが、なんとかならないでしょうか?
環境はDebian、wxWidgets 2.6.7.1です。
-
- 104
- 2010/11/26(金) 21:51:03
-
2.9のドザーな俺にはアドバイスはできんが、
この辺で問題視されてる「wxMBConv はいくつかのサブクラスを持っていて、
こいつらはことごとく wchar_t の内部表現が UCS であることを仮定してる。」
あたりが原因じゃないのか?
ttp://diary.imou.to/~AoiMoe/2004.09/middle.html#2004.09.13
-
- 105
- 2010/11/26(金) 23:29:00
-
>>104
早速感謝。
あー、そのページ、自分も見ました。
今ネット上にある日本語ページの中では一番内容が濃そうでしたね。
wxWidgetsが文字コード回りで大分無茶をしてるらしいことだけは判りました。
実際、文字コード変換には一旦wchar_t型を経由しないとならんのですけど、
charのSJIS->MB2WC->WC2MB
とかやると、SJISでもUTF8でもない謎コードになっちゃうんですよね。
ちなみに、前スレでもWin使いの方が全く同じ趣旨の質問されてましたけど、
結局やはりWinAPIでなんとかしたらしいですね。
やっぱり無理ですかねぇ…。
-
- 106
- 2010/11/27(土) 00:43:27
-
wchar_t の中身がUCS前提なのはこの場合問題じゃないだろ…
>>104 の言っているUnicodeって、具体的に何?wxはUnicodeビルドで、wxStringにしたいの?
SJISからwxStringにしたいのなら、 wxString s(sjis_string, wxCSConv('cp932')); を試した?
コード出さないで質問しても、エスパーじゃない限り回答できないよ。
-
- 107
- 2010/11/27(土) 02:06:26
-
>>106
あ、書き忘れてましたね、すいません。
入力はマルチバイト(char)のShiftJIS、欲しい出力はマルチバイト(char)のUTF-8で、
wxはDebian etchのものなのでUnicodeビルドです。
上のコードはもちろん試しました。
で、そこからどうすればchar型のUTF-8が得られるのか、もしくは別の方法を使うべき
なのかで悩んでいるのが現状です。
ちなみに、成功例はこちら
#include <glib.h>
char *utf8_str = g_convert(sjis_str, -1, "utf-8", "cp932", NULL, NULL, NULL);
で、これと同等のことをwxで行うにはどう書けばいいか?という質問です。
(この前後にwxベースのコードとやりとりするための処理が入るのですが、それが
また汚いので、できれば回避したいです…)
-
- 108
- 2010/11/27(土) 08:39:35
-
言い訳はいいから問題起こしてる例のコードだせよ
-
- 109
- 2010/11/27(土) 11:28:57
-
>>108
えー、失敗コードはもう全部消しちゃったんですよね…。
てか、ここまでの説明で判る方は判るし、判らん方はそこまででしょう。
この場合、頑張って失敗コード再現しても結果は後者だと思うので、No thank you.
-
- 110
- 2010/11/27(土) 11:41:57
-
エスパーのかたのみお答えください
-
- 111
- 2010/11/27(土) 13:14:50
-
便乗して質問してもいいかな?
wxMBConvとwxCSConvの違いって何?
ヘルプ見てもよくわからん…
このページを共有する
おすすめワード