【GUI】wxWidgets(旧wxWindows) その5【サイザー】 (960レス)
上下前次1-新
67(1): 2010/09/06(月)05:51 AAS
3回とも同じ結果?
同じ場所で止まる?
68: 64 2010/09/06(月)06:18 AAS
>>67
wxmsw291u_core_gcc_custom.dllを作成中にエラーになるのは同じで、その中でcould not read symbols: Memory exhaustedが起こる、読み込み中のオブジェクトファイルは違う事があるようです。
69(1): 2010/09/06(月)06:45 AAS
cleanしちゃだめだぞ
70(1): 2010/09/06(月)09:26 AAS
ビルドごとにディレクトリ作ったか?configureは試したか?
71: 64 2010/09/06(月)21:25 AAS
色々と調べたので中間?報告
外部リンク:comments.gmane.org
多分、同じ現象が報告されていてgcc4.5では起きて4.4では起きないようです。
但しPF使用量を調べると、Win上のメモリ上限の遥か手前で落ちていました。
msysのデフォルトのulimitの仮想メモリの上限が約2GBでこれに抵触したようです。
現在msys上でrootを取得してulimitを変更する方法を検索中です。
・・・msysはsuが壊れてるとかイミフ(ry
省7
72(1): 2010/09/06(月)23:53 AAS
なんかサイザーの処理が最適化されていないのか、複雑なレイアウトを組むと
再描画に凄く時間が掛かる。
何か回避策や対策などがあるようならば教えてください。
73: 2010/09/07(火)17:43 AAS
wxを窓から捨てる
74: 2010/09/07(火)17:55 AAS
RADツール使ってサイザーやスペーサーを極力使わない構造を見つける
75: 72 2010/09/07(火)22:55 AAS
リサイズしないウィンドウにしても、再描画時にサイザーの計算を
しているっぽいので、そこをもう計算させないっていう様な設定が
出来たらしたいのです。
結局、複雑にサイザー使ってボタンとかびっちり詰め込むと
サイザーの計算が重くなるのは仕方ないなとも思うので、
固定さえ出来れば問題なくなるはずです。
76(1): 2010/09/07(火)23:10 AAS
各コントロールごとに座標を想定してたりしないか?そういう使い方するもんじゃない
ボックス系のサイザーとグリッド系のサイザーを適切に使えば綺麗にまとまるし
さほど重くもならないと思うんだけど
77: 2010/09/07(火)23:22 AAS
あとコントロール、サイザー共にExpandとStretch(proportion)はちゃんと個別に見直すべき
そのあとでBorder、埋めきれないとこはSpacer
78(1): 2010/09/09(木)09:58 AAS
wxFormBuilder 3.1
Python対応
C++で日本語でもANSIで吐けるようになってるのを確認
79: 2010/09/11(土)02:13 AAS
>>76
ちょっと見直してみたら、ボックスサイザーを入れ子にしてる所があるな。
そういうのは、グリッド系にすべきって事かな。
80: 2010/09/11(土)04:07 AAS
サイザーごときで重くなるって
100個とか1000個単位で
びっしり詰めてるのか?
81(1): 2010/09/11(土)11:58 AAS
とりあえず、コントロールは100個近く詰まってはいる。
動作が重いというか、ウィンドウを(最小化などから)表示した時に
普通はパッというぐらいの速度で表示されるけど、それがパラパラっと
コントロールが配置されるのが見えるって感じ。
82: 2010/09/11(土)12:03 AAS
>>78
wxFormBuilderって物凄く安定しているのがスゲーと思った。
こういうのって不安定なものが多いから感心した。
ちなみに、Windows版。
83(1): 2010/09/11(土)14:23 AAS
以前に作ったコントロール90くらいのダイアログ見つけたからwxFormBuilder通して見てみたけど
C2D E6600でもこの程度では特に重いとは感じない、というか変化がない
SS見せてくれたら試しに組んでみてもいいよ
84: 2010/09/13(月)07:11 AAS
透過GIFを背景画像の上にぺたぺた貼り付けたいんだけど、透過GIFを入れたwxStaticBitmap
を配置するだけだと背景色で透過部分がfillされます。styleをTRANSPARENTにしても効かない。
ウィンドウのDCを取得して、wxDC::DrawBitmapで地道に描かないとだめですかね?
85: 2010/09/13(月)11:28 AAS
styleをTRANSPARENT
SetMaskColour
86(3): 2010/10/18(月)01:51 AAS
wxTextCtrlでカーソル位置にテキストを挿入するのってどうやるのが楽?
GetInsertionPointの前後で分割して、入れたい値を合成して
再挿入、ってやったけど
どうも改行があると値がずれるようなんで困ってて。
87(1): 86 2010/10/18(月)02:20 AAS
自己解決。Replace使えば良かったのか。
スレ汚しすまんかった。
88(1): 2010/10/18(月)02:32 AAS
>>86-87
普通にWriteTextで
キャレット位置に挿入(選択状態なら置換)出来るのでは?
89: 86 2010/10/20(水)23:19 AAS
>>88
……その通りでした。
ちゃんと隅々までドキュメント読むべきでした。
遅くなったけどどうもありがとう。
90(3): 81 2010/10/31(日)01:33 AAS
>>83
その後、同一マシン上のVMwareでWindows2000とWindows7を実行して試してみたら、
Windows7上では同じ遅さだったけど、Windows2000ではめっちゃ速かったから
少なくともサイザーが遅いって事はなさそう。
ただ、VS2010上でビルド出来ないし、新しいプラットフォームの追従はあまり
早くないね。3.0が出てくれれば解決するのかな。
91: 2010/10/31(日)01:53 AAS
>>90
単にスワップ起こしてるだけじゃねーの?
2GB程割り振って検証してみたら?
92(1): 2010/10/31(日)17:17 AAS
>>90
VS2010のx64でビルドして使ってるけど、特においらの範囲では問題ないな。
VC6プロジェクトがVS2010で変換できないってことなら、VC2005か、VC2008で変換してからVS10で開けば通るよ。
2.9.xならVC8,VC9用のプロジェクトもある。
93: 90 2010/11/03(水)00:56 AAS
>>92
> VS2010のx64でビルドして使ってるけど、特においらの範囲では問題ないな。
再描画の時に「パッ」じゃなくて「パラ」って感じなんで、まぁ問題っていうほど
じゃないんだけどね。
> VC6プロジェクトがVS2010で変換できないってことなら、VC2005か、VC2008で変換してからVS10で開けば通るよ。
なるほど、その手があるのか。ありがとう。
94: 2010/11/13(土)05:11 AAS
wxURLのProxy処理にバグがある・・・?
GETしたいURL: 外部リンク:www.google.com
使うProxy: localhost:8080
このとき、Proxyへリクエストヘッダを見てみると
GET 外部リンク:www.google.com HTTP/1.0
Host: localhost
になってて、Proxyがlocalhostの/を取りに行こうとする。
省10
95: 2010/11/13(土)11:25 AAS
>送信先がhttpならHostをwww.google.comに書き換えないといけないと思うんだが、俺間違ってる?
あってる
96: 2010/11/13(土)11:31 AAS
wxURL_NOHOST
97: 2010/11/13(土)11:34 AAS
これかな
外部リンク:yomi.mobi
98(1): 2010/11/13(土)11:54 AAS
wxRIchTextCtrlの日本語インライン入力パッチありませんか?
99: 2010/11/23(火)18:39 AAS
おや規制明けてる。
>>98
もう解決してる気がするけど、OS毎で処理系が全く異なる上、
日本と中国と韓国くらいしか影響がないのでそんな便利なパッチはたぶん無い。
RichTextはわからんが、Win上のwxStyledTextCtrlと同じなら、
MSWWindowProcをオーバーライドして、
WM_IME_STARTCOMPOSITION、WM_IME_COMPOSITIONあたりを捕捉、
省4
100: 2010/11/23(火)19:22 AAS
UI以外の部分でwx使う意味ってあんまりないからじゃない?
101: 2010/11/24(水)19:51 AAS
そうか
102: 2010/11/25(木)23:22 AAS
もう誰か作ってるだろと探したけど
wxOnigurumaとか無かった。残念。
103(1): 2010/11/26(金)07:32 AAS
詳しい方ちょっと教えて下さい…。
ちょっと前からxchmというヘルプビューアを日本語表示できるようにしているのですが、
ShiftJIS->Unicodeの変換がうまくいきません。
一応wxString、wxMBConv、wxCSConv、wxEncodingConverterのリファレンスと
ヘッダにある関数の組み合わせは一通り試したつもりですが、変換されるはずが
変換されなかったり、Initに失敗したりと散々です。
結局g_convert関数(GLibのiconvラッパー)で逃げましたが、wxWidgetで
省3
104(2): 2010/11/26(金)21:51 AAS
2.9のドザーな俺にはアドバイスはできんが、
この辺で問題視されてる「wxMBConv はいくつかのサブクラスを持っていて、
こいつらはことごとく wchar_t の内部表現が UCS であることを仮定してる。」
あたりが原因じゃないのか?
外部リンク[html]:diary.imou.to
105: 2010/11/26(金)23:29 AAS
>>104
早速感謝。
あー、そのページ、自分も見ました。
今ネット上にある日本語ページの中では一番内容が濃そうでしたね。
wxWidgetsが文字コード回りで大分無茶をしてるらしいことだけは判りました。
実際、文字コード変換には一旦wchar_t型を経由しないとならんのですけど、
charのSJIS->MB2WC->WC2MB
省4
106(2): 2010/11/27(土)00:43 AAS
wchar_t の中身がUCS前提なのはこの場合問題じゃないだろ…
>>104 の言っているUnicodeって、具体的に何?wxはUnicodeビルドで、wxStringにしたいの?
SJISからwxStringにしたいのなら、 wxString s(sjis_string, wxCSConv('cp932')); を試した?
コード出さないで質問しても、エスパーじゃない限り回答できないよ。
107(2): 2010/11/27(土)02:06 AAS
>>106
あ、書き忘れてましたね、すいません。
入力はマルチバイト(char)のShiftJIS、欲しい出力はマルチバイト(char)のUTF-8で、
wxはDebian etchのものなのでUnicodeビルドです。
上のコードはもちろん試しました。
で、そこからどうすればchar型のUTF-8が得られるのか、もしくは別の方法を使うべき
なのかで悩んでいるのが現状です。
省6
108(1): 2010/11/27(土)08:39 AAS
言い訳はいいから問題起こしてる例のコードだせよ
109: 2010/11/27(土)11:28 AAS
>>108
えー、失敗コードはもう全部消しちゃったんですよね…。
てか、ここまでの説明で判る方は判るし、判らん方はそこまででしょう。
この場合、頑張って失敗コード再現しても結果は後者だと思うので、No thank you.
110: 2010/11/27(土)11:41 AAS
エスパーのかたのみお答えください
111(2): 2010/11/27(土)13:14 AAS
便乗して質問してもいいかな?
wxMBConvとwxCSConvの違いって何?
ヘルプ見てもよくわからん…
112(1): 2010/11/27(土)13:26 AAS
>>111
wxMBConv は、変換系の抽象クラス。
wxCSConv は wxMBConv を継承した具象クラスで、 >>106 みたいに任意のエンコーディングとの変換を行う。
wxMBConvUTF8 も wxMBConv を継承した具象クラスで、 UTF-8との変換を行う。
113: 111 2010/11/27(土)13:34 AAS
>>112
なるほど。ありがとう。
114(1): 107 2010/11/27(土)15:03 AAS
外部リンク:ja.pastebin.ca
少なくともUbuntu 10.10では、wxCSConvでちゃんとcp932からUTF-8への変換ができたよ。
Debian etch とか古すぎて使う気にならないけど。
115: 2010/11/27(土)17:00 AAS
>>114
多謝!!
こっちでも試してみましたけど、できた!?ばかな!?
記憶を頼りに前回のコードと比較してみたら、違いが判りました。
OK: wxCSConv(wxT("cp932"))
NG: wxCSConv(wxFONTENCODING_CP932)
…こいつら違う意味なのかよ!?
省17
116: 2010/11/27(土)17:17 AAS
C++ の勉強からやり直せ
117(1): 2010/11/27(土)17:40 AAS
xchmのコード変更完了!
おかげさまで変更箇所が50行が4行になり、かなりすっきりしました。
相談に乗って頂いた方、大変有難うございました。
118(1): 107 2010/11/27(土)18:21 AAS
fmapbaseの中にwxFONTMAP_CP932のエンコーディング名として最初にWINDOWS-932という
文字列が登録されていて、iconv にはこの名前のエイリアスが登録されていないから iconv に
失敗する、、、んだけど、iconv_open に失敗したらWINDOWS-932の次のCP932が利用されるように
見える。なのに失敗してる。
深追いはしてないからどこでコケてるのか判らないけど、とりあえず wxCSConv にはエンコーディング名を
直接渡したほうが、その名前が直接 iconv に渡るから落とし穴が少なそう。
119: 2010/11/27(土)18:27 AAS
なるほど。ありがとう。
120: 2010/11/27(土)18:41 AAS
>>118
あー、そういうことでしたか、なるほど。
感謝!
121(1): 106=114=118 2010/11/27(土)20:54 AAS
名前を間違えて107にしてしまった。
>>117 xchm の修正って、本家にフィードバックする予定ありますか?
Linuxでもchmファイル読めたら便利そう。
122: 2010/11/27(土)22:36 AAS
>>121
フィードバックの予定は特に無いです。
というか本家、まだ生きてるんだろうか?
Ad-hocだけど、ここにパッチ貼っときます。
これでコンテンツと索引がちゃんと日本語で表示されるようになります。
検索の日本語対応は、ぱっと見かなり難しそうだったので保留中です。
むしろ誰かやって下さい…。
省2
123: 2010/11/27(土)22:37 AAS
+diff -urN xchm-1.17.orig/src/bitfiddle.inl xchm-1.17/src/bitfiddle.inl
+--- xchm-1.17.orig/src/bitfiddle.inl 2010-11-27 17:21:37.000000000 +0900
++++ xchm-1.17/src/bitfiddle.inl 2010-11-27 18:00:13.000000000 +0900
+@@ -194,10 +194,10 @@
+ return wxEmptyString;
+
+ if(enc != wxFONTENCODING_SYSTEM) {
省11
124: 2010/11/27(土)22:39 AAS
+diff -urN xchm-1.17.orig/src/chmfile.cpp xchm-1.17/src/chmfile.cpp
+--- xchm-1.17.orig/src/chmfile.cpp 2010-11-27 17:21:37.000000000 +0900
++++ xchm-1.17/src/chmfile.cpp 2010-11-27 19:35:02.000000000 +0900
+@@ -1056,10 +1056,8 @@
+ #endif
+ topic = CURRENT_CHAR_STRING(combuf);
+ #if wxUSE_UNICODE
省9
125(1): 2010/12/01(水)16:15 AAS
wxPythonでとあるチャットのクライアントを作っているのですが
wx.(Rich)TextCtrlでは打ち消し線は使えないのでしょうか?
126: 2010/12/03(金)00:13 AAS
>>125
wxFONTFLAG_STRIKETHROUGHを指定したフォントを適用してやるとかで
できるんじゃない?
127(1): 2010/12/04(土)15:45 AAS
ありがとうございます。
font = wx.FFont(8, wx.DEFAULT, wx.FONTFLAG_STRIKETHROUGH)
self.target.SetFont(font)
FONTFLAG_STRIKETHROUGHを指定してみたのですが、打ち消し線が表示されません。
128: 2010/12/05(日)00:26 AAS
wxWidgets2.8.xに実装されているウィジェットの表示サンプル一覧とかないですかね?
サンプルを実行してみないとどのように表示されるのか判らないのはかなり不便・・・('A`)
129: 2010/12/05(日)02:32 AAS
demosも一緒にインストール汁
130(1): 2010/12/06(月)23:39 AAS
>>127
外部リンク:trac.wxwidgets.org
打ち消し線が有効化されるパッチ。
ただし2.9。
131: 2010/12/25(土)00:41 AAS
>>130
遅れましたが、ありがとうございます。
wxWidgets用のパッチのようなのですが、
wxPythonに適用させる方法がわかりません・・・
132: 2011/01/01(土)17:37 AAS
Androidに対応してくれないかなぁ・・・
133: 2011/01/02(日)03:08 AAS
AndroidやiPhoneもそうだけど、Mac対応(wxCocoa)もしっかりして欲しい。
このままじゃ何時まで経っても64bit化出来ない。
やっぱり企業の後ろ盾がないプロジェクトはきついかもね。
134(1): 2011/01/15(土)01:11 AAS
Qtは人気あるのに、こっちは盛り上がらないね。
135: 2011/01/15(土)01:25 AAS
QtはLGPLがヤダ
136: 2011/01/15(土)01:32 AAS
>>134
枯れてるからね
137: 2011/01/15(土)14:18 AAS
ほとんど同じ時期じゃね?
wx Initial release 1992
Qt Initial release 1992; 19 years ago
wxの敗因は、やっぱ製品として売り出してないからじゃね?
138: 2011/01/15(土)20:08 AAS
Android => Java, Google
gtk,Mono => Suse, Microsoft
Qt => Nokia, Google, Intel
wxwidget => ???
139: 2011/01/15(土)20:12 AAS
何の矢印だよ、それ。
140(2): 2011/01/18(火)00:04 AAS
wxRubyノート - ListCtrl を使ってサムネイル一覧を表示してみる - Alone Like a Rhinoceros Horn
外部リンク:d.hatena.ne.jp
のコードを動かしたいのですが日本語パスが使える状態で動かせません
Ruby 1.8.7+wxRuby 2.0.1
動作するけど日本語を含むパスが認識しない
(Ruby 1.8.xがUTF-8のパスを処理出来ないためっぽい
S-JISだと今度はwxRubyがパスを認識出来ない)
省8
141(1): 2011/01/18(火)06:48 AAS
つ 外部リンク:codepad.org
142(1): 140 2011/01/23(日)01:33 AAS
レスありがとう。ってPython!?Σ(゚Д゚)
わざわざ書き直してくれたのに申し訳ないけどRubyでコーディングしたいので・・・
とりあえずいじり回していたら思いついた案
1.Ruby 1.8系を使用。wxImage::load_streamを使う
ファイルの自動判別が出来ない
2.Ruby 1.8系を使用。Rubyのファイルパスを扱うメソッドをUTF-8に対応するように再定義
数が多くコーディング量が多い。デバッグも大変
省3
143: 2011/01/23(日)03:01 AAS
Ruby知らんけど、単に文字コード変換するんじゃダメなの?
144: 2011/01/23(日)17:59 AAS
コントロールに画像使うとリソース食うから
サムネにはお勧めできない
145: 2011/01/23(日)19:23 AAS
GUIやるならPythonの方が良いと思うけどなぁ。
Windowsと日本語はもちろんだけど、>>140のBlog見てるとスレッド周りにも
問題あるみたいだし。
146(1): 2011/01/23(日)20:59 AAS
>サムネイルを作成する間ウィンドウがブロックしないよう、サムネイルの作成は別スレッドで行っている。
>(ただし、サンプルということで、排他制御は一切やっていない)
>
>イベントループのあるメインスレッドからのスレッド切り替えが円滑に行われるよう、
>メインスレッドではタイマーを使って定期的に Thread.pass している。
>
> Wx::Timer.every(100) do
省5
147: 141 [あきらめたら終わり満足してしまっても終わり sage] 2011/01/23(日)21:11 AAS
>>142
べつに謝らんでもええよ
漏れは困ってへんから
上下前次1-新書関写板覧索設栞歴
あと 813 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.022s