クロスプラットフォーム 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/
【GUI】wxWidgets(旧wxWindows) その5【サイザー】
2010/04/09(金) 15:12:36
9390
2010/11/03(水) 00:56:36 >>92
> VS2010のx64でビルドして使ってるけど、特においらの範囲では問題ないな。
再描画の時に「パッ」じゃなくて「パラ」って感じなんで、まぁ問題っていうほど
じゃないんだけどね。
> VC6プロジェクトがVS2010で変換できないってことなら、VC2005か、VC2008で変換してからVS10で開けば通るよ。
なるほど、その手があるのか。ありがとう。
> VS2010のx64でビルドして使ってるけど、特においらの範囲では問題ないな。
再描画の時に「パッ」じゃなくて「パラ」って感じなんで、まぁ問題っていうほど
じゃないんだけどね。
> VC6プロジェクトがVS2010で変換できないってことなら、VC2005か、VC2008で変換してからVS10で開けば通るよ。
なるほど、その手があるのか。ありがとう。
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から落としてきてるけど、こんな単純なところでミス
してたらテスト通らないだろうし…
俺が何かくだらないミスしてる気がしてならないので、誰かツッコミ入れて下さい。
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から落としてきてるけど、こんな単純なところでミス
してたらテスト通らないだろうし…
俺が何かくだらないミスしてる気がしてならないので、誰かツッコミ入れて下さい。
2010/11/13(土) 11:25:39
>送信先がhttpならHostをwww.google.comに書き換えないといけないと思うんだが、俺間違ってる?
あってる
あってる
2010/11/13(土) 11:31:27
wxURL_NOHOST
2010/11/13(土) 11:34:21
2010/11/13(土) 11:54:08
wxRIchTextCtrlの日本語インライン入力パッチありませんか?
2010/11/23(火) 18:39:00
おや規制明けてる。
>>98
もう解決してる気がするけど、OS毎で処理系が全く異なる上、
日本と中国と韓国くらいしか影響がないのでそんな便利なパッチはたぶん無い。
RichTextはわからんが、Win上のwxStyledTextCtrlと同じなら、
MSWWindowProcをオーバーライドして、
WM_IME_STARTCOMPOSITION、WM_IME_COMPOSITIONあたりを捕捉、
Caretの位置から自分で逐次IMEの位置情報を変更してやればいいと思う。
しかし上でwxURLの話もされてるけど、HTTP通信周りの処理、
結構ボロボロだなコレ。
そういう用途で使ってるユーザがほとんどいないんだろうが・・・。
>>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とか無かった。残念。
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です。
ちょっと前から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
この辺で問題視されてる「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でなんとかしたらしいですね。
やっぱり無理ですかねぇ…。
早速感謝。
あー、そのページ、自分も見ました。
今ネット上にある日本語ページの中では一番内容が濃そうでしたね。
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')); を試した?
コード出さないで質問しても、エスパーじゃない限り回答できないよ。
>>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ベースのコードとやりとりするための処理が入るのですが、それが
また汚いので、できれば回避したいです…)
あ、書き忘れてましたね、すいません。
入力はマルチバイト(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.
えー、失敗コードはもう全部消しちゃったんですよね…。
てか、ここまでの説明で判る方は判るし、判らん方はそこまででしょう。
この場合、頑張って失敗コード再現しても結果は後者だと思うので、No thank you.
110デフォルトの名無しさん
2010/11/27(土) 11:41:57 エスパーのかたのみお答えください
111デフォルトの名無しさん
2010/11/27(土) 13:14:50 便乗して質問してもいいかな?
wxMBConvとwxCSConvの違いって何?
ヘルプ見てもよくわからん…
wxMBConvとwxCSConvの違いって何?
ヘルプ見てもよくわからん…
112デフォルトの名無しさん
2010/11/27(土) 13:26:57114107
2010/11/27(土) 15:03:23 http://ja.pastebin.ca/2003497
少なくともUbuntu 10.10では、wxCSConvでちゃんとcp932からUTF-8への変換ができたよ。
Debian etch とか古すぎて使う気にならないけど。
少なくともUbuntu 10.10では、wxCSConvでちゃんとcp932からUTF-8への変換ができたよ。
Debian etch とか古すぎて使う気にならないけど。
115デフォルトの名無しさん
2010/11/27(土) 17:00:22 >>114
多謝!!
こっちでも試してみましたけど、できた!?ばかな!?
記憶を頼りに前回のコードと比較してみたら、違いが判りました。
OK: wxCSConv(wxT("cp932"))
NG: wxCSConv(wxFONTENCODING_CP932)
…こいつら違う意味なのかよ!?
ちなみに、後者だとSJISでもUTF-8でもないデータになりました。
で、wxWidgetsのソースを読んでみました。
wxCSConv::wxCSConv(const wxChar *charset)
{
...
m_encoding = wxFontMapperBase::GetEncodingFromName(charset);
}
wxCSConv::wxCSConv(wxFontEncoding encoding)
{
...
m_encoding = encoding;
}
で、wxFontMapperBase::GetEncodingFromName(wxT("cp932"))は87でした。
wxFontEncodingはenumなので、じゃあ87はなにかというと、
wx/fontenc.h: wxFONTENCODING_MAX, // highest enumerated encoding value
うん、意味が判らないんですが、これってwx使ってる方からしたら常識だったりしますか?
それと間違えてました、使ってるのはetchでなくlennyでした、スイマセン。
多謝!!
こっちでも試してみましたけど、できた!?ばかな!?
記憶を頼りに前回のコードと比較してみたら、違いが判りました。
OK: wxCSConv(wxT("cp932"))
NG: wxCSConv(wxFONTENCODING_CP932)
…こいつら違う意味なのかよ!?
ちなみに、後者だとSJISでもUTF-8でもないデータになりました。
で、wxWidgetsのソースを読んでみました。
wxCSConv::wxCSConv(const wxChar *charset)
{
...
m_encoding = wxFontMapperBase::GetEncodingFromName(charset);
}
wxCSConv::wxCSConv(wxFontEncoding encoding)
{
...
m_encoding = encoding;
}
で、wxFontMapperBase::GetEncodingFromName(wxT("cp932"))は87でした。
wxFontEncodingはenumなので、じゃあ87はなにかというと、
wx/fontenc.h: wxFONTENCODING_MAX, // highest enumerated encoding value
うん、意味が判らないんですが、これってwx使ってる方からしたら常識だったりしますか?
それと間違えてました、使ってるのはetchでなくlennyでした、スイマセン。
116デフォルトの名無しさん
2010/11/27(土) 17:17:40 C++ の勉強からやり直せ
117デフォルトの名無しさん
2010/11/27(土) 17:40:21 xchmのコード変更完了!
おかげさまで変更箇所が50行が4行になり、かなりすっきりしました。
相談に乗って頂いた方、大変有難うございました。
おかげさまで変更箇所が50行が4行になり、かなりすっきりしました。
相談に乗って頂いた方、大変有難うございました。
118107
2010/11/27(土) 18:21:41 fmapbaseの中にwxFONTMAP_CP932のエンコーディング名として最初にWINDOWS-932という
文字列が登録されていて、iconv にはこの名前のエイリアスが登録されていないから iconv に
失敗する、、、んだけど、iconv_open に失敗したらWINDOWS-932の次のCP932が利用されるように
見える。なのに失敗してる。
深追いはしてないからどこでコケてるのか判らないけど、とりあえず wxCSConv にはエンコーディング名を
直接渡したほうが、その名前が直接 iconv に渡るから落とし穴が少なそう。
文字列が登録されていて、iconv にはこの名前のエイリアスが登録されていないから iconv に
失敗する、、、んだけど、iconv_open に失敗したらWINDOWS-932の次のCP932が利用されるように
見える。なのに失敗してる。
深追いはしてないからどこでコケてるのか判らないけど、とりあえず wxCSConv にはエンコーディング名を
直接渡したほうが、その名前が直接 iconv に渡るから落とし穴が少なそう。
119デフォルトの名無しさん
2010/11/27(土) 18:27:01 なるほど。ありがとう。
120デフォルトの名無しさん
2010/11/27(土) 18:41:10121106=114=118
2010/11/27(土) 20:54:49122デフォルトの名無しさん
2010/11/27(土) 22:36:15 >>121
フィードバックの予定は特に無いです。
というか本家、まだ生きてるんだろうか?
Ad-hocだけど、ここにパッチ貼っときます。
これでコンテンツと索引がちゃんと日本語で表示されるようになります。
検索の日本語対応は、ぱっと見かなり難しそうだったので保留中です。
むしろ誰かやって下さい…。
ちなみに、Linuxでchm読むだけでしたら他にもいくつかビューアがあるようですよ。
ご参考まで。
フィードバックの予定は特に無いです。
というか本家、まだ生きてるんだろうか?
Ad-hocだけど、ここにパッチ貼っときます。
これでコンテンツと索引がちゃんと日本語で表示されるようになります。
検索の日本語対応は、ぱっと見かなり難しそうだったので保留中です。
むしろ誰かやって下さい…。
ちなみに、Linuxでchm読むだけでしたら他にもいくつかビューアがあるようですよ。
ご参考まで。
123デフォルトの名無しさん
2010/11/27(土) 22:37:06 +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) {
+- wxCSConv convFrom(wxFONTENCODING_ISO8859_1);
+- wxCSConv convTo(enc);
+-
+- return wxString(input.mb_str(convFrom), convTo);
++ if (enc == wxFONTENCODING_CP932)
++ return wxString(input.To8BitData(), wxCSConv(wxT("cp932")));
++ else
++ return wxString(input.To8BitData(), wxCSConv(enc));
+ }
+
+ return input;
+--- 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) {
+- wxCSConv convFrom(wxFONTENCODING_ISO8859_1);
+- wxCSConv convTo(enc);
+-
+- return wxString(input.mb_str(convFrom), convTo);
++ if (enc == wxFONTENCODING_CP932)
++ return wxString(input.To8BitData(), wxCSConv(wxT("cp932")));
++ else
++ return wxString(input.To8BitData(), wxCSConv(enc));
+ }
+
+ return input;
124デフォルトの名無しさん
2010/11/27(土) 22:39:25 +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
+- else {
+- wxCSConv cv(_enc);
+- topic = wxString((const char *)combuf, cv);
+- }
++ else
++ topic = translateEncoding(CURRENT_CHAR_STRING(combuf), _enc);
+ #endif
+ }
+
+--- 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
+- else {
+- wxCSConv cv(_enc);
+- topic = wxString((const char *)combuf, cv);
+- }
++ else
++ topic = translateEncoding(CURRENT_CHAR_STRING(combuf), _enc);
+ #endif
+ }
+
125デフォルトの名無しさん
2010/12/01(水) 16:15:11 wxPythonでとあるチャットのクライアントを作っているのですが
wx.(Rich)TextCtrlでは打ち消し線は使えないのでしょうか?
wx.(Rich)TextCtrlでは打ち消し線は使えないのでしょうか?
126デフォルトの名無しさん
2010/12/03(金) 00:13:26127デフォルトの名無しさん
2010/12/04(土) 15:45:14 ありがとうございます。
font = wx.FFont(8, wx.DEFAULT, wx.FONTFLAG_STRIKETHROUGH)
self.target.SetFont(font)
FONTFLAG_STRIKETHROUGHを指定してみたのですが、打ち消し線が表示されません。
font = wx.FFont(8, wx.DEFAULT, wx.FONTFLAG_STRIKETHROUGH)
self.target.SetFont(font)
FONTFLAG_STRIKETHROUGHを指定してみたのですが、打ち消し線が表示されません。
128デフォルトの名無しさん
2010/12/05(日) 00:26:59 wxWidgets2.8.xに実装されているウィジェットの表示サンプル一覧とかないですかね?
サンプルを実行してみないとどのように表示されるのか判らないのはかなり不便・・・('A`)
サンプルを実行してみないとどのように表示されるのか判らないのはかなり不便・・・('A`)
129デフォルトの名無しさん
2010/12/05(日) 02:32:55 demosも一緒にインストール汁
130デフォルトの名無しさん
2010/12/06(月) 23:39:23131デフォルトの名無しさん
2010/12/25(土) 00:41:50132デフォルトの名無しさん
2011/01/01(土) 17:37:18 Androidに対応してくれないかなぁ・・・
133デフォルトの名無しさん
2011/01/02(日) 03:08:38 AndroidやiPhoneもそうだけど、Mac対応(wxCocoa)もしっかりして欲しい。
このままじゃ何時まで経っても64bit化出来ない。
やっぱり企業の後ろ盾がないプロジェクトはきついかもね。
このままじゃ何時まで経っても64bit化出来ない。
やっぱり企業の後ろ盾がないプロジェクトはきついかもね。
134デフォルトの名無しさん
2011/01/15(土) 01:11:15 Qtは人気あるのに、こっちは盛り上がらないね。
135デフォルトの名無しさん
2011/01/15(土) 01:25:48 QtはLGPLがヤダ
136デフォルトの名無しさん
2011/01/15(土) 01:32:35 >>134
枯れてるからね
枯れてるからね
137デフォルトの名無しさん
2011/01/15(土) 14:18:26 ほとんど同じ時期じゃね?
wx Initial release 1992
Qt Initial release 1992; 19 years ago
wxの敗因は、やっぱ製品として売り出してないからじゃね?
wx Initial release 1992
Qt Initial release 1992; 19 years ago
wxの敗因は、やっぱ製品として売り出してないからじゃね?
138デフォルトの名無しさん
2011/01/15(土) 20:08:32 Android => Java, Google
gtk,Mono => Suse, Microsoft
Qt => Nokia, Google, Intel
wxwidget => ???
gtk,Mono => Suse, Microsoft
Qt => Nokia, Google, Intel
wxwidget => ???
139デフォルトの名無しさん
2011/01/15(土) 20:12:46 何の矢印だよ、それ。
140デフォルトの名無しさん
2011/01/18(火) 00:04:15 wxRubyノート - ListCtrl を使ってサムネイル一覧を表示してみる - Alone Like a Rhinoceros Horn
ttp://d.hatena.ne.jp/h1mesuke/20100427/p1
のコードを動かしたいのですが日本語パスが使える状態で動かせません
Ruby 1.8.7+wxRuby 2.0.1
動作するけど日本語を含むパスが認識しない
(Ruby 1.8.xがUTF-8のパスを処理出来ないためっぽい
S-JISだと今度はwxRubyがパスを認識出来ない)
Ruby 1.9.2+wxRuby 2.0.1
Ruby 1.9.1+wxRuby 2.0.1(mingw32-ruby-1.9.1-wxruby-2.0.1-setup.exe)
Ruby 1.9.1+wxRuby 2.0.0(mingw32-ruby-1.9.1-wxruby-2.0.0-setup.exe)
RubyはUTF-8のパスを処理出来るけど
>@thumb_list.clear_all
のところで固まる
日本語パスが使える状態で動作させる方法があったら教えてください
よろしくお願いします
ttp://d.hatena.ne.jp/h1mesuke/20100427/p1
のコードを動かしたいのですが日本語パスが使える状態で動かせません
Ruby 1.8.7+wxRuby 2.0.1
動作するけど日本語を含むパスが認識しない
(Ruby 1.8.xがUTF-8のパスを処理出来ないためっぽい
S-JISだと今度はwxRubyがパスを認識出来ない)
Ruby 1.9.2+wxRuby 2.0.1
Ruby 1.9.1+wxRuby 2.0.1(mingw32-ruby-1.9.1-wxruby-2.0.1-setup.exe)
Ruby 1.9.1+wxRuby 2.0.0(mingw32-ruby-1.9.1-wxruby-2.0.0-setup.exe)
RubyはUTF-8のパスを処理出来るけど
>@thumb_list.clear_all
のところで固まる
日本語パスが使える状態で動作させる方法があったら教えてください
よろしくお願いします
141デフォルトの名無しさん
2011/01/18(火) 06:48:23 つ ttp://codepad.org/SaG84FKe
142140
2011/01/23(日) 01:33:16 レスありがとう。ってPython!?Σ(゚Д゚)
わざわざ書き直してくれたのに申し訳ないけどRubyでコーディングしたいので・・・
とりあえずいじり回していたら思いついた案
1.Ruby 1.8系を使用。wxImage::load_streamを使う
ファイルの自動判別が出来ない
2.Ruby 1.8系を使用。Rubyのファイルパスを扱うメソッドをUTF-8に対応するように再定義
数が多くコーディング量が多い。デバッグも大変
3.RubyでwxPythonを使う
まだ実験していない。動いたとしても関連ライブラリのサイズがでかくなりそう?
どれもイマイチだ(´・ω・`)
わざわざ書き直してくれたのに申し訳ないけどRubyでコーディングしたいので・・・
とりあえずいじり回していたら思いついた案
1.Ruby 1.8系を使用。wxImage::load_streamを使う
ファイルの自動判別が出来ない
2.Ruby 1.8系を使用。Rubyのファイルパスを扱うメソッドをUTF-8に対応するように再定義
数が多くコーディング量が多い。デバッグも大変
3.RubyでwxPythonを使う
まだ実験していない。動いたとしても関連ライブラリのサイズがでかくなりそう?
どれもイマイチだ(´・ω・`)
143デフォルトの名無しさん
2011/01/23(日) 03:01:42 Ruby知らんけど、単に文字コード変換するんじゃダメなの?
144デフォルトの名無しさん
2011/01/23(日) 17:59:40 コントロールに画像使うとリソース食うから
サムネにはお勧めできない
サムネにはお勧めできない
145デフォルトの名無しさん
2011/01/23(日) 19:23:43146デフォルトの名無しさん
2011/01/23(日) 20:59:01 >サムネイルを作成する間ウィンドウがブロックしないよう、サムネイルの作成は別スレッドで行っている。
>(ただし、サンプルということで、排他制御は一切やっていない)
>
>イベントループのあるメインスレッドからのスレッド切り替えが円滑に行われるよう、
>メインスレッドではタイマーを使って定期的に Thread.pass している。
>
> Wx::Timer.every(100) do
> Thread.pass
> end
>
>これが必要になる理由については次のエントリでやる予定。
謎のコード
>(ただし、サンプルということで、排他制御は一切やっていない)
>
>イベントループのあるメインスレッドからのスレッド切り替えが円滑に行われるよう、
>メインスレッドではタイマーを使って定期的に Thread.pass している。
>
> Wx::Timer.every(100) do
> Thread.pass
> end
>
>これが必要になる理由については次のエントリでやる予定。
謎のコード
148デフォルトの名無しさん
2011/01/23(日) 21:38:27149デフォルトの名無しさん
2011/01/24(月) 05:23:51 Ruby使ってないから気にしない
150デフォルトの名無しさん
2011/01/27(木) 23:54:02 wxWidgetsでアニメ(not 動画ファイル。MNG or 連番PNGを想定)を表示したいのですが
単に表示されている画像をインターバルで書き換えていく方法だとフリッカーが出てしまいます
再描画と画像の書き換えの同期が取れていないためだと思いますが同期させる方法が判りません
何か良い方法があったら教えてください。よろしくお願いします
単に表示されている画像をインターバルで書き換えていく方法だとフリッカーが出てしまいます
再描画と画像の書き換えの同期が取れていないためだと思いますが同期させる方法が判りません
何か良い方法があったら教えてください。よろしくお願いします
151デフォルトの名無しさん
2011/01/28(金) 01:18:19 ソース貼れ
152デフォルトの名無しさん
2011/01/28(金) 23:04:25 >>150
wxBufferedPaintDC使え。
wxBufferedPaintDC使え。
154デフォルトの名無しさん
2011/01/30(日) 16:14:40 2.9.1が出てから音沙汰無いな
156デフォルトの名無しさん
2011/02/05(土) 22:36:59157デフォルトの名無しさん
2011/02/11(金) 06:24:01 前スレがやっと埋まったぽい。埋めた人お疲れさま。
158デフォルトの名無しさん
2011/02/11(金) 23:54:18 つうか次スレ立てるの早過ぎだろ
159デフォルトの名無しさん
2011/02/13(日) 21:55:32 このライブラリタダ?
160デフォルトの名無しさん
2011/02/18(金) 08:33:59 EVT_LEFT_DCLICK で bind して処理しようとすると
EVT_LEFT_UP EVT_LEFT_DCLICK が同時に来るみたいなのですが
EVT_LEFT_DCLICK だけ受け取るにはどうすれば良いでしょうか?
EVT_LEFT_UP EVT_LEFT_DCLICK が同時に来るみたいなのですが
EVT_LEFT_DCLICK だけ受け取るにはどうすれば良いでしょうか?
161デフォルトの名無しさん
2011/02/18(金) 20:45:41 >>160
wxMouseEventのLeftDClickで判別すればいいんじゃないの?
wxMouseEventのLeftDClickで判別すればいいんじゃないの?
162デフォルトの名無しさん
2011/02/18(金) 21:35:20 GoogleIME使ってるんだが、TextCtrlで未変換文字列とか変換候補とかが表示されないのは仕様か?
MSIMEならちゃんと表示された
MSIMEならちゃんと表示された
163デフォルトの名無しさん
2011/02/18(金) 22:05:32 >>162
ありがとうございます
試してみましたが
結局 EVT_LEFT_DCLICK に bind された handler 内では LeftDClick なのですが
同時に EVT_LEFT_UP に bind された handler も呼ばれてしまっていて
そっちでは LeftDClick じゃないとみなされるので区別出来ないんです ><
ありがとうございます
試してみましたが
結局 EVT_LEFT_DCLICK に bind された handler 内では LeftDClick なのですが
同時に EVT_LEFT_UP に bind された handler も呼ばれてしまっていて
そっちでは LeftDClick じゃないとみなされるので区別出来ないんです ><
164デフォルトの名無しさん
2011/02/27(日) 19:42:45.69 wxApp の OnInit で wxFrame *frame = new wxFrame(hogehoge);
としたとき wxFrame を delete しないようですが
勝手に GC してくれるんでしょうか?
SetTopWindow(frame);
を実行したときとしないときでは違いますか?
としたとき wxFrame を delete しないようですが
勝手に GC してくれるんでしょうか?
SetTopWindow(frame);
を実行したときとしないときでは違いますか?
165デフォルトの名無しさん
2011/02/27(日) 20:07:52.06 メモリ以外の資源の解放をGC任せにする男の人って
166デフォルトの名無しさん
2011/02/28(月) 14:53:53.44167デフォルトの名無しさん
2011/03/04(金) 16:28:05.88 主にwindowsで使っていますがlinuxでも同じソースで動くようにしたいです
wxStringで与えられたあるパス名がフルパスか相対パスかをwxWidgetsのクラス
(例えばwxFileName等)を使って判断出来ますか?
wxStringで与えられたあるパス名がフルパスか相対パスかをwxWidgetsのクラス
(例えばwxFileName等)を使って判断出来ますか?
168デフォルトの名無しさん
2011/03/04(金) 20:23:10.51169デフォルトの名無しさん
2011/03/04(金) 20:25:20.16 ポインタ置いときますね。皆さん先刻ご存知かもしれませんが。
wxWidgets(wxstd.moの日本語版, ja.po)をお使いの皆様へ
ttp://suzumizaki.blog6.fc2.com/blog-entry-207.html
wxWidgets(wxstd.moの日本語版, ja.po)をお使いの皆様へ
ttp://suzumizaki.blog6.fc2.com/blog-entry-207.html
170デフォルトの名無しさん
2011/03/04(金) 20:34:43.27 >>164
こっちも読んでおくといいよ。
二重開放以外にもdeleteがまずい理由があるようだから。
ttp://docs.wxwidgets.org/trunk/overview_windowdeletion.html
こっちも読んでおくといいよ。
二重開放以外にもdeleteがまずい理由があるようだから。
ttp://docs.wxwidgets.org/trunk/overview_windowdeletion.html
171デフォルトの名無しさん
2011/03/04(金) 21:31:47.32172デフォルトの名無しさん
2011/03/07(月) 03:32:17.98 wxListCtrl の
SetItem - GetItemText とか
SetItemText - GetItem とか
なんか変な対応してるみたいなんですけど
こんなもんなんですか?
他にも IsIconized とか IsShown とか
ドキュメント通りじゃなくて
めちゃくちゃな感じがするんですが
設計者ってパラノイア?
SetItem - GetItemText とか
SetItemText - GetItem とか
なんか変な対応してるみたいなんですけど
こんなもんなんですか?
他にも IsIconized とか IsShown とか
ドキュメント通りじゃなくて
めちゃくちゃな感じがするんですが
設計者ってパラノイア?
173デフォルトの名無しさん
2011/03/07(月) 04:30:33.22 馬鹿には無理
つ ttp://wiki.wxwidgets.org/WxListCtrl
Get the String Contents of a "cell" in a LC_REPORT wxListCtrl
つ ttp://wiki.wxwidgets.org/WxListCtrl
Get the String Contents of a "cell" in a LC_REPORT wxListCtrl
174デフォルトの名無しさん
2011/03/07(月) 07:16:25.58175デフォルトの名無しさん
2011/03/07(月) 11:00:32.39 質問です
wxWidgetsにはMD5やSHAを計算してくれる関数はありますか?
wxWidgetsにはMD5やSHAを計算してくれる関数はありますか?
176デフォルトの名無しさん
2011/03/07(月) 11:32:42.63 つttp://wxwidgets-hash-md5.fyxm.net/
177デフォルトの名無しさん
2011/03/07(月) 22:35:46.50 >>175
176じゃないけど、MD5単品ならこういうのとか。
ttp://www.koders.com/cpp/fid80078010DEFC2265E917FE6436718F0AE038CBE6.aspx
176じゃないけど、MD5単品ならこういうのとか。
ttp://www.koders.com/cpp/fid80078010DEFC2265E917FE6436718F0AE038CBE6.aspx
178デフォルトの名無しさん
2011/03/08(火) 09:26:30.33 >>178
ありがとうございます
とりあえず別のMD5ライブラリが見つかったのでそちらで間に合わせたのですが
ライセンスの問題とか考えると教えて頂いたもので置き換えた方が良いかも知れません
余力があったら後でご報告します
ありがとうございます
とりあえず別のMD5ライブラリが見つかったのでそちらで間に合わせたのですが
ライセンスの問題とか考えると教えて頂いたもので置き換えた方が良いかも知れません
余力があったら後でご報告します
179デフォルトの名無しさん
2011/03/09(水) 04:31:11.46 wxHTTP::GetResponse が 200 とか 403 とかじゃなくて 0 を返すんですけどバグですか?
180デフォルトの名無しさん
2011/03/09(水) 04:46:40.12 つ ttp://wiki.wxwidgets.org/WxHTTP
181デフォルトの名無しさん
2011/03/09(水) 05:29:32.87182デフォルトの名無しさん
2011/03/09(水) 17:04:06.53 文字コードの変換というか
変換出来ない文字が含まれているかどうかのチェック方法について質問です。
UTF8 の文字列を SJIS に変換しようとしています。
static wxString wxString::FromUTF8(const char *s);
の注意書きに、
Note that this method assumes that s is a valid UTF-8 sequence
and doesn't do any validation in release builds,
it's validity is only checked in debug builds.
というのがありまして、
実際に HTTP 経由で取得したデータ (UTF8 であることは確認済み) に
「〜」の上下反対の文字 (SJIS に変換出来ないコード) などが入っていると、
wxString utf8_data;
wxStringOutputStream ostream(&utf8_data);
httpStream->Read(ostream);
wxString sjis_data = wxString::FromUTF8(utf8_data.c_str());
なコードで変換しようとすると
sjis_data の中身が空っぽになってしまいます。
リリースビルドなので無視された結果だと思いますが、
wxWidgets 自身に事前にチェックするための関数などはありますか?
utf8_data には確かに UTF8 のデータが入っています。
問題を起こす文字が含まれていないときは正常に動作するようです。
OS は Windows で wxWidgets は ANSI 版のを使っています。
変換出来ない文字が含まれているかどうかのチェック方法について質問です。
UTF8 の文字列を SJIS に変換しようとしています。
static wxString wxString::FromUTF8(const char *s);
の注意書きに、
Note that this method assumes that s is a valid UTF-8 sequence
and doesn't do any validation in release builds,
it's validity is only checked in debug builds.
というのがありまして、
実際に HTTP 経由で取得したデータ (UTF8 であることは確認済み) に
「〜」の上下反対の文字 (SJIS に変換出来ないコード) などが入っていると、
wxString utf8_data;
wxStringOutputStream ostream(&utf8_data);
httpStream->Read(ostream);
wxString sjis_data = wxString::FromUTF8(utf8_data.c_str());
なコードで変換しようとすると
sjis_data の中身が空っぽになってしまいます。
リリースビルドなので無視された結果だと思いますが、
wxWidgets 自身に事前にチェックするための関数などはありますか?
utf8_data には確かに UTF8 のデータが入っています。
問題を起こす文字が含まれていないときは正常に動作するようです。
OS は Windows で wxWidgets は ANSI 版のを使っています。
183デフォルトの名無しさん
2011/03/09(水) 17:16:21.87 むしろUTF-8のまま扱うかUNICODEにしてしまった方が良いのでは?
184デフォルトの名無しさん
2011/03/09(水) 20:02:39.82185デフォルトの名無しさん
2011/03/10(木) 08:17:32.00 >>184
ありがとうございます。
今レス見たばかりなのでまだ試していませんが、
http://docs.wxwidgets.org/trunk/annotated.html
を見ても wxStringOperations は見当たらず
ネームスペースかとも思うのですが、
こういったものはどうやって見つければ良いものですか?
ありがとうございます。
今レス見たばかりなのでまだ試していませんが、
http://docs.wxwidgets.org/trunk/annotated.html
を見ても wxStringOperations は見当たらず
ネームスペースかとも思うのですが、
こういったものはどうやって見つければ良いものですか?
186デフォルトの名無しさん
2011/03/10(木) 08:25:43.01187デフォルトの名無しさん
2011/03/10(木) 08:27:16.48188デフォルトの名無しさん
2011/03/10(木) 08:34:44.59189デフォルトの名無しさん
2011/03/10(木) 08:38:29.58 ん?
「〜」301C(E3809C)
はValidじゃないのか?
「〜」301C(E3809C)
はValidじゃないのか?
190デフォルトの名無しさん
2011/03/10(木) 09:19:31.75 問題なのはUTF-8として正しいかどうかじゃなくて
cp932に変換出来るかどうかってことなんだよな
そうなるとスレ違いかもな
cp932に変換出来るかどうかってことなんだよな
そうなるとスレ違いかもな
191デフォルトの名無しさん
2011/03/10(木) 13:58:57.41 wxWidgetsって、けっこうS-JISの処理が弱いので、そこの部分だけはネイティブの処理にしたほうがいいかも
俺もアプリ作った事あるけど、S-JISに変換する部分だけはWideCharToMultiByte関数を呼ぶようにしたよ
俺もアプリ作った事あるけど、S-JISに変換する部分だけはWideCharToMultiByte関数を呼ぶようにしたよ
192デフォルトの名無しさん
2011/03/10(木) 16:16:13.99レスを投稿する
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 日経平均の下落率3%超す、財政懸念で長期金利上昇 ★2 [お断り★]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市朗報】 日本政府「一昨年は1300億円。去年も防衛費が1100億円余ったw」 日本の防衛費は充分足りてる事が判明。増やす必要無し [485983549]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
