- 1 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 21:49:20 ]
- クロスプラットフォーム GUI ライブラリの wxWidgets (旧 wxWindows)についてのスレ。
本家 www.wxwidgets.org/ wxWindows日本語プロジェクト wxwindowsjp.sourceforge.jp/ Let's wxWidgets dot-gray.s33.xrea.com/ wxWindowsで始めるC++ GUIプログラミング www.h3.dion.ne.jp/~k5_n/wxwin/ wxWidgets でクロスプラットフォーム GUIアプリを作ろう 0xcc.net/pub/uu-2004-08/
- 697 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 16:47:37 ]
- >>696
すべての規定ライブラリの無視(/NODEFAULTLIB)を「はい」にしてないか? いいえにしとけ
- 698 名前:デフォルトの名無しさん mailto:sage [2009/10/31(土) 23:35:03 ]
- C++で初めてWxWidgetsを使ってプログラム書いてみています。
複数行のwxTextCtrlに、複数行の文を書いた状態で、GetLineText(0)のようにして、 任意の1行を取り出して、それをそのまま、wxMessageDialogでダイアログ表示させているのですが、 この1行が、半角のアルファベットの時などはきちんと1行全体が表示されるのですが、 この1行が、4文字以上の日本語の場合は、最後の文字だけが欠けて表示されてしまいます。 (例:あいう→あいう、あいうえ→あいう、あいうえお→あいうえ) C++のほうも初心者ですのでどこか間違っているのかもしれませんが、 解決方法をご存知の方が居られましたら、教えていただけませんでしょうか。お願いします。
- 699 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 03:15:07 ]
- ソース貼れ
- 700 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 10:37:03 ]
- すみません。本当に質問そのままでしたのでソースを書きませんでした。失礼しました。
尚、開発環境は、Visual C++ 2008 Express Editionを使用しています。 wxWidgetsのバージョンは、2.8.10です。 以下、再現できるソースです。宜しくお願いします。 #include "wx/wx.h" #include "wx/msgdlg.h" class Test : public wxApp{ public: virtual bool OnInit(); }; IMPLEMENT_APP(Test) bool Test::OnInit(){ wxFrame *mainf = new wxFrame(NULL,-1,wxT("サンプル"),wxPoint(-1,-1),wxSize(300,250),wxCLOSE_BOX | wxSYSTEM_MENU | wxCAPTION); mainf->Show(TRUE); wxTextCtrl *inp = new wxTextCtrl(mainf,-1,wxT("あいうえお"),wxPoint(0,0),wxSize(-1,-1),wxTE_MULTILINE,wxValidator(),wxT("Form0")); wxMessageDialog *d = new wxMessageDialog(NULL,inp->GetLineText(0),wxT("サンプル"),wxOK,wxPoint(-1,-1)); d->ShowModal(); return TRUE; }
- 701 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 11:56:49 ]
- 見てみた。
EM_LINELENGTHがマルチバイトの文字でも文字数を返すのに バイト数で確保してるせいだね。 あいうえお→5にNULL文字1+長さ指定のための2バイト確保で8バイト分しか用意してないから 「あいうえ」になるみたい。
- 702 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 12:19:22 ]
- なんか状況によるみたい、ググってもデバッグ環境での違いとかよくわからん。
UNICODE文字セットだとうちでは問題でないけど、どうかな? manifest書けばいいのかもしれないが。
- 703 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 13:22:08 ]
- >>701
ありがとうございます。そういう原因でしたか。 素人なりに、EM_LINELENGTHまわりの処理をしているようなコードがないかと考え、 wxWidgetsのファイルを探したのですが、よくわかりませんでした・・・。 GetLineTextを使うのを諦めて、他に違う方法を考えるしか無いでしょうか?
- 704 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 14:31:27 ]
- ファイルの場所は、こないだ出たwindow.cppと同じくsrc/msw/にあるtextctrl.cppね。
XPの途中(SP2以降)から仕様変更ってほんまかいな。 うちで試したのはVista64で、たしかに文字数が返ってきてた。 そういやimm〜もLibのリンク不要版書いたけど、見たい人いるかなあ。
- 705 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 15:07:19 ]
- UNICODE版に汁
- 706 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 15:57:38 ]
- >>705
アドバイスありがとうございます。 setup.hで、wxUSE_UNICODEを1にしてビルドしたところ解決しました。 これでwxWidgetsの内部処理がUNICODEになったと考えて良いのでしょうか?
- 707 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 08:42:01 ]
- zetcode.com/wxpython/
- 708 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 11:31:25 ]
- zetcode.com/tutorials/pyqt4/
- 709 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 13:55:43 ]
- >>706
そうだけどサロゲートペアには対応してないっぽい
- 710 名前:658 mailto:sage [2009/11/02(月) 15:10:21 ]
- >>697
久しぶりにプログラミング再開しました。 できました。ありがとうございます。 すべての規定ライブラリの無視(/NODEFAULTLIB)は いいえのままでしたが、 何かとごっちゃになって、無視するライブラリにLIBCMT.libとかがありました。 とりあえず、できた奴を他のパソで起動してみます。
- 711 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 22:57:11 ]
- どうも。wxWidgets2.8.10、Unicnde Buildを使っているのですが、ShiftJIS->Unicode、Unicode->ShiftJISを一発でするにはどうするばいいですか?
どうもEncodingConverterクラスはchar/wcharでの変換しか想定していないようなのです。(wxStringを返すことも出来るようなのですが、実際にやると実行時にエラーになりますorz)
- 712 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 23:11:52 ]
- Linux版使ってるひと?
- 713 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 00:06:11 ]
- >>712
実行時環境を書き忘れていました。実行時環境はWindowsXP SP3です。 具体的なエラー内容は、WXDEBUGをdefineしてビルドするとwxAssertが働いて、wxEncodeConverter::Init()を使用前に呼び出しているにも関わらず「Init()で初期化してください」と表示されるのです。(リリースビルドでも失敗します。)
- 714 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 00:29:22 ]
- >>713
俺はWIN32 APIで変換してるよ。手順がチトややこしいので、無名名前空間内に変換用の関数を 書いたヘッダファイルを用意して使ってる。細かい方法は仕事場に行かないと書けないので、 明日にでも...
- 715 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 01:47:45 ]
- WCHAR *SJIS2WCS(string sjis)
{ if(sjis == "") return NULL; int wlen = MultiByteToWideChar(CP_ACP, 0, sjis.c_str(), -1, NULL, 0); WCHAR *wbuf = new WCHAR[wlen + 1]; if(wbuf == NULL) return NULL; *wbuf = L'\0'; if(MultiByteToWideChar(CP_ACP, 0, sjis.c_str(), -1, wbuf, wlen) <= 0){ delete [] wbuf; return NULL; } return wbuf; } string WCS2SJIS(WCHAR *wbuf) { if(wbuf == NULL || wbuf[0] == L'\0') return ""; int slen = WideCharToMultiByte(CP_ACP, 0, wbuf, -1, NULL, 0, NULL, NULL); char *sbuf = (char *)_malloca((slen + 1) * sizeof(char)); if(sbuf == NULL) return ""; *sbuf = '\0'; if(WideCharToMultiByte(CP_ACP, 0, wbuf, -1, sbuf, slen, NULL, NULL) <= 0) return ""; sbuf[slen] = '\0'; return sbuf; }
- 716 名前:714 mailto:sage [2009/11/04(水) 09:51:54 ]
- おぉ,先に書いてくれましたね。私の使っているコードも殆ど同じ。
一旦,必要なバッファの長さを取得してからもう一度同じ関数で変換する必要があるのがミソ。 C++的には >>715 の関数をstaticな大域関数にするのではなく, namespace { WCHAR* SJIS2WCS(string sjis) { //中身 } } のように無名名前空間に入れたヘッダファイルを用意して,この関数を利用するソースモジュール からインクルードして使うのが良いようです(参考書なんかによく書いてある)。
- 717 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 15:39:45 ]
- >>716
ありがとうございました。
- 718 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 21:13:49 ]
- >>716
ヘッダファイルに関数の中身まで書くの抵抗あるんだけど C++だと書いて良いというかそういうもんなの?
- 719 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 22:38:43 ]
- >718
翻訳単位毎に実体ができちゃうから抵抗があるというのは正しい感覚だと思われ。 ヘッダをインクルードしただけで使いたいってんなら自分なら inline にしておくかな。
- 720 名前:716 [2009/11/04(水) 23:38:45 ]
- >>719
> 翻訳単位毎に実体ができちゃうから抵抗があるというのは正しい感覚だと思われ。 > ヘッダをインクルードしただけで使いたいってんなら自分なら inline にしておくかな。 おっしゃる通りで... 無名名前空間でヘッダファイル内に定義して、それを異なる翻訳単位で複数使うと、 中身が同じオブジェクトファイルが複数できてしまうよね。 異なる翻訳単位でも共通に使えるようにするのなら、コード効率を考えなければinlineに するのが良いだろうし、コード効率を重視するのならシングルトンパターンでも使って、 実体が一つしかできないようにしてクラスにするのが良いと思われ。 昔のC流でグローバルな関数にするのが一番簡単だったりして...
- 721 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 05:33:21 ]
- inline にしておけば翻訳単位ごとに実体ができようが
リンク時に1つにまとめられるぜ
- 722 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 06:16:24 ]
- 多分、最適化のこともインラインのことも勘違いしてるんだろうね。
インライン展開とは、関数を実行したのと同じ「意味」になる処理を呼び出し側に埋め込んで 関数呼び出しのコストを無くすことであって、 「意味」を変えないためには>>526のようなことが必要になる。 これは最低限の自分の存在理由を満たしているだけであって、「最適化」などではない。 一方、彼の考えるインライン展開は、引数として渡した「記述」を切り貼りして コードの姿を組み立てて、それを呼び出し元に貼り付ける、というような物らしい。 でも、それはマクロがやってることだ。 マクロといえば、簡易的なLisp処理系を作って、強力と名高いLispのマクロを実装してみると、 このへん勉強になるかもね。 Lispの言葉でいうなら、C++の関数は「引数はすべて評価してから関数に渡される」。 つまり f(g(), h());の時、fが受け取る(そして扱う)のは「g()の戻り値」と「h()の戻り値」。 だからインライン展開するにあたって、>>526のようにすることでそれを実現する。 それに対して、Lispのマクロは「引数を評価せずに渡し、戻り値で呼び出し側を置き換える」。 こっちが彼の考えるインライン展開に近い。
- 723 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 06:40:41 ]
- ???
526 :デフォルトの名無しさん [sage] :2009/10/06(火) 21:04:39 no problem
- 724 名前:716 mailto:sage [2009/11/05(木) 08:30:56 ]
- >>722
そもそも誰に対するレス? アンカーも間違ってるので,言っていることがイマイチよくわからん。
- 725 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 10:30:25 ]
- >>721
> inline にしておけば翻訳単位ごとに実体ができようが > リンク時に1つにまとめられるぜ それはないだろう。 もうしそうだとすると、inline関数の呼び出し時に、通常関数の呼び出しと同じように 呼び出しアドレスや引数がスタックに積まれることになってオーバーヘッドが大きく なってしまうから、inline関数の意味がなくなってしまう。 そもそもその話の出典はどこ?
- 726 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 13:15:10 ]
- pc12.2ch.net/test/read.cgi/tech/1231640024/
- 727 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 14:20:58 ]
- >>721, >>726
なぁんだ、>>722はSTLスレのコピペだったのか。 (STLスレのinlineの話は長すぎて読みきれん!) で、>>721だけど、inline関数の中から呼び出される関数の実体は一つにまとめられる と言いたいのかな?それともコンパイラがインライン展開できなかったときは一つに まとめられるという話かな? ANSI C++規格書の7.1.2の2と4にそのあたりのことが書いてあるけど、俺の英語力では 「inline関数への呼び出しはリンク時に一つにまとめられる」とは読めないなぁ。 仮にまとめられるとすると、スタックを使わないでどうやってその関数を呼び出すの? 「inline関数を使うと、スタックによる関数呼び出し手続きを省くことができるので、 オーバーヘッドを省くことが出来る」と、多くの参考書等にも書いてあると思うが。
- 728 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 15:23:16 ]
- レジスタ渡しで呼ばれてるんだろうなw
- 729 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 15:59:45 ]
- それは最早呼び出し規約(fastcall)の話であってinlineじゃないな…w
つか、wxWidgetsのスレでやる話なんだろうか
- 730 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 16:03:57 ]
- >>728
wが付いてるから冗談だということで... >>729 んだね。スマソ
- 731 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 15:50:36 ]
- wxWidgets用のGUIビルダーやRADツールで、カスタムウィジット(例えばwxCodeに登録されているウィジット)を
登録して、ペタポトできるようにする仕組みを持ってるものってある? あったら具体的に教えてもらえると嬉しい。
- 732 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 18:14:35 ]
- XRCed
- 733 名前:731 mailto:sage [2009/11/08(日) 22:45:41 ]
- >>732
サンクス。XRCedリソースエディタとしてC++用にも使えるんですよね。 まだ試してないんですが、やってみます。
- 734 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 13:20:51 ]
- XRCed使ってみた。巷で言われる「癖のある使い勝手」はsizerベースであることを考えれば
オレは気にならないけど,イベントハンドラの名前すら記述できないし,xrcしか出力できない。 wxrc使っても,これじゃ結局イベントハンドラそのものと,イベントとイベントハンドラを接続 するコードは手書きするしかないんじゃないの? オレには向いてないみたい。
- 735 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 18:27:47 ]
- すいません・・・
今、wxStringの文字列を、C言語のchar型に変換する方法を探ってるのですが、 なかなか見つかりません・・・ static char *C文字列; で宣言したのを、 C文字列 = wx文字列(wxConvUTF8); とやったら、 1>xxx.cpp(562) : error C2440: '=' : 'const wxChar *' から 'char *' に変換できません。 1> 変換で修飾子が失われます。 と言われた所です。
- 736 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 18:56:13 ]
- そもそもconstを非constに暗黙の変換はできない
C言語(C++ですらない)の教科書に当たるか const_castでググるべし
- 737 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 20:59:45 ]
- テキストボックスでRead Onlyなのに日本語入力だと普通に書き換えられるのは仕様なの?
- 738 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 23:36:34 ]
- >>735
c_str()
- 739 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 00:11:36 ]
- >>735
Unicodeビルドか?Ansiビルドか? 話はそこからだ。
- 740 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 04:25:02 ]
- overviewsの wxMBConv classes overview, Unicode support in wxWidgets,
それから wx/strconv.h あたりを読むよろし。
- 741 名前:735 mailto:sage [2009/11/10(火) 17:11:59 ]
- const char 変換物;
変換物 = 変換元.c_str(); char *変換物 = const_cast<char*>(変換物); ってやれば、とりあえずコンパイルは通りました。 ありがとうございます。 const charでやっといて、const付きで変換して、 あとではずすって感じですね。 んで、今度は文字コードが上手くいってないんですが・・・ コンパイルはVC++で、文字セット「設定なし」です。 一体どうすれば・・・
- 742 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 17:25:42 ]
- どういうコードでどういうデータを使ったらどううまくいかないのさ
- 743 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 22:36:10 ]
- >>741
char *変換物 = const_cast<char*>(変換物); 変換元が無くなったら死ぬよね
- 744 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 00:22:46 ]
- >>741
質問するならもっと詳しく書け。 そんな質問じゃエスパーが現れるまで誰も答えられん。
- 745 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 03:23:39 ]
- ただの愚痴だな
質問ですらない
- 746 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 10:37:13 ]
- >>741
コンパイル通ればいいてものじゃないでしょ。 char *p = strdup(unicode_string.c_str()); とでもすればいいのに。 あと、文字セットは Unicode か MBCS(マルチバイト文字) じゃなきゃ駄目だと思うよ。 wxWidgets 使うなら Unicode でがんばって。
- 747 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 10:51:51 ]
- みんな wstring って使ってる?
- 748 名前:デフォルトの名無しさん [2009/11/11(水) 16:12:34 ]
- wxWidgetsは、どう発音するの?
ダブリュ・エックス・ウィジッツ? 既出かもしれないけど教えて。
- 749 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 16:36:55 ]
- 日本人相手なら普通はダブルエックス・ウィジェッツ
でいいんじゃね?
- 750 名前:デフォルトの名無しさん [2009/11/11(水) 16:42:32 ]
- >>749
ありがとう もしかしたら、ウィックスウィジェッツとか発音するのかと思ってた。
- 751 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 12:45:23 ]
- >>748
www.youtube.com/watch?v=xiKoaXobwk8 この00:09の所でダブリュ・エックス・ウィジッツと発音してるね。
- 752 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 16:47:45 ]
- 2.9.0になって中身がだいぶ変わったな
今までのがビルド通らないし、動きもしない・・・ バグじゃなくて仕様変更だからしょうがないんだけど。
- 753 名前:735 mailto:sage [2009/11/16(月) 14:46:14 ]
- 解決しました。ありがとうございます。
- 754 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 10:37:38 ]
- Visual C++ 2008 Express EditionでwxWidgets2.8.9を使用しているのですが、
wxURLを使おうとすると、リンクするときにどうしてもエラーになってしまいます。 (そもそも、wxURLを書いただけでエラーになります。 wxURL以外は幾つかしか使っていないのですが、普通にうまく動きます。) test.obj : error LNK2001: 外部シンボル ""public: virtual __thiscall wxURL::~wxURL(void)" (??1wxURL@@UAE@XZ)" は未解決です。 test.obj : error LNK2001: 外部シンボル ""public: __thiscall wxURL::wxURL(class wxString const &)" (??0wxURL@@QAE@ABVwxString@@@Z)" は未解決です。 ****\****.exe : fatal error LNK1120: 外部参照 2 が未解決です。 初心者で、解決しようにも原因さえわからないのですが、 アドバイスを宜しくお願いします。 以下、再現できるコードです: #include "wx/wx.h" #include "wx/url.h" class MyApp : public wxApp{ public: virtual bool OnInit(); }; IMPLEMENT_APP(MyApp) bool MyApp::OnInit(){ wxURL url(_("example.com/")); return TRUE; }
- 755 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 11:40:44 ]
- >>754
普通に通るけど、、、ライブラリは自分でコンパイルしたやつ? バイナリ使ったのならどれかな?
- 756 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 13:21:44 ]
- >>755
ありがとうございます。結構前に入れたものなのでよく覚えていないのですが、 wxMSW-2.8.9-Setup.exeをダウンロードしてインストールし、 build\msw\wx.dswを、VC++ 2008 Expressで開いて、「ソリューションのビルド」をしたものだと思います。
- 757 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 13:35:02 ]
- >>755
すみません・・・。 freepg.fc2web.com/cpp/topic_wx_vc.html をなどを参考にして環境を構築していたのですが、 自分のPCにある、lib\vc_libを見て、「追加の依存ファイル」に無いファイルがあることに気づき、 とりあえずwxURLと関係のありそうな、wxbase28_net.libがありませんでしたので、 それを、プロジェクトのプロパティで、追加の依存ファイルに追加したところ、 エラーが出ずに、ビルドができました。とりあえずエラーは出ないようになったので先に進めます。 初心者の質問につきあっていただき、ありがとうございました。感謝しています。
- 758 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 14:02:57 ]
- 関係ないけど
追加の依存ファイルの入力枠って なんであんなに使いづらいんだろう
- 759 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 14:05:11 ]
- 使いづらいよねw
#pragma comment使えってことなのかなあ。
- 760 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 14:41:33 ]
- includeパスもlibパスも使えねー
嫌がらせだろあれはw
- 761 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 16:13:55 ]
- >wxDev-C++
をインスコしたら、 >C:\Program Files\Dev-Cpp フォルダに、 vcl60.bplとかrtl60.bplがあるみたいなんだけど、 これってC++ Buider か何か?
- 762 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 16:19:04 ]
- うん
- 763 名前:761 mailto:sage [2009/12/02(水) 16:28:52 ]
- 嬉しいけど、
C++ Builder を購入してる自分的には、 2種類のソフトと思ってたのが実は1種類みたいに思えて、 損した気分w
- 764 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 16:51:31 ]
- えっ
- 765 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 17:10:36 ]
- えっ
- 766 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 17:43:44 ]
- それはあれだぞ
WindowsのゲームはDirectX使ってるから実は1種類だ!! って言ってるのとかわらんぞ・・・?
- 767 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 17:51:31 ]
- それじゃドズ1種類じゃね?
他に、ウィィとかP$3買えば3種類
- 768 名前:デフォルトの名無しさん [2009/12/03(木) 11:43:52 ]
- wxwidgetsのデザイナ入ってるIDE、codeblocksとかwxdevとかで
デバッグ機能を使って、STLのvectorとかlist使った配列の中身見れるやつある?
- 769 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 21:37:55 ]
- win32api と wxWidgets の違いって何?
wxWidgets でクロスプラットフォーム GUIアプリを作ろう 0xcc.net/pub/uu-2004-08/ ↑を見るとwin32をラッパしているだけ、と書いてあるのだが windows限定で開発している俺には何もメリットない認識でおk?
- 770 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 23:25:16 ]
- MFCで開発してる奴が少ない労力でLinuxやMacで動かせるようになる点がメリット。
ということは、どういうことか分かるよな?
- 771 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 22:27:34 ]
- 文字列扱いやすいし,windowsだと冗長になってしまうコードも
簡潔に書けるってのもいいんじゃない?
- 772 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 23:33:40 ]
- 文字列扱いやすいなんてのはSTLやMFC使えば一緒だよ
- 773 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 00:10:00 ]
- そう?MFCは使ってないからなんとも言えないけど
STLやQtとか他のライブラリと比べると操作関数が豊富だったと思う 所詮好みの問題だけどさ
- 774 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 01:42:25 ]
- 詳しい文書があり、またPythonで使えるのも良い。
GUIの挙動とか確認したい時に一々コンパイルせずともPythonでトライアンドエラー出来るのは楽。
- 775 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 01:10:00 ]
- SSLのソケットは簡単に作れないですかね。
クライアント・サーバどちらも使いたいんですが。
- 776 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 02:46:55 ]
- wxssl.sourceforge.net/
ちなみに中身はまったくみていない
- 777 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 04:43:06 ]
- 求)リードプログラマー
か・・・
- 778 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 07:28:10 ]
- >>769
Code::BocksのwxSmithやwxFormBuildeや、wxDev-C++みたいな ポトペタRADツールを使うと、MFCよりサクサク開発できる。 MFCは書かなきゃならないコードが多すぎる。
- 779 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 02:33:04 ]
- >>769
何もメリットないってことはないけど、俺ならクロスプラットフォーム でもないのにあえてwxWidgetsを選ぶことはないな。
- 780 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 03:26:04 ]
- Win32API とか MFC のダサさを回避したいときには
敢えて wxWidgets や Qt4 とか使うのは間違いではないよ
- 781 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 12:43:16 ]
- 同感。C++ Builderは既に死に体だし。
> 敢えて wxWidgets や Qt4 とか使うのは間違いではないよ 最近の流れだと wxWidgets は Qt に比べて分が悪いね。 Qt より単純で好きだったんだけど。
- 782 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 13:20:52 ]
- wxWidgetsは、気に入らない部分を書き換えてビルドできちゃうところがいい
- 783 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 16:24:55 ]
- スタティックリンクも出来るし
- 784 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 00:03:56 ]
- 3.0まだぁー?
- 785 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 00:06:43 ]
- >>779
で、何選ぶの?
- 786 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 12:08:16 ]
- >>785
この流れでは言いにくいけど俺はC++Builder。
- 787 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 12:58:26 ]
- 俺は逆にC++ Builderから逃げようとしている。
Borland⇒CordGear⇒Embarcaderoと母体が変わるうちにどんどん品質低下。 バグを充分に修正しないまま次期バージョンを発売してしまう。 メチャクチャな翻訳やリンク切れ満載のヘルプの酷さは見るに耐えない。 以前は沢山カキコのあったMLも超閑古鳥。 問い合わせしても自分で答えずに一般人のHPのURLをメールに貼って 「ここに情報があります」と言うヒドいサポート。 最新バージョンへの優待バージョンアップも申し込みが少なかったらしく, 昨年末までだった予定を一ヶ月延長する情けなさ。 トライアル版使ってみれば,バージョンアップする気がなくなるw Windows限定なら使いやすくて仕事が速く出来る最高の製品だった はずなのに,こんな製品に誰がした! QtをNOKIAが買ったように,どこかの大きな会社が買ってくれんかな。 wxWidgetsもどこかがバックに付かんかな。
- 788 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 14:47:56 ]
- 同意
- 789 名前:質問 mailto:sage [2010/02/05(金) 12:50:49 ]
- wxPythonを使っているのですが、
wx.media.MediaCtrlでマウスクリックのイベントから関数をコールバックすることはできないのでしょうか? もしできないのでしたら、親ウィジェットでマウスクリックのイベントを受け取ることはできるのでしょうか?
- 790 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 15:54:21 ]
- >>787
どこもバックに付かないから良いんじゃまいか
- 791 名前:質問 mailto:sage [2010/02/06(土) 00:14:07 ]
- すみません、解決しました。
- 792 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 17:38:58 ]
- wxString strを
cout << str << endl; という風に出力したいんだけど、コンソール入出力用のストリームってある?
- 793 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 17:42:12 ]
- ここには人はいませんよ。ばいばいさるさん。
- 794 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 18:35:55 ]
- よく分かってないけど自己解決
- 795 名前:デフォルトの名無しさん [2010/02/07(日) 00:44:24 ]
- VC++2008EE+wxに越してきたのですがUnicode Releaseってのがあるのですが
やっぱりこっちの方がいいんですかね?
- 796 名前:デフォルトの名無しさん [2010/02/08(月) 00:21:46 ]
- あんまり人いないのかな?
- 797 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 00:32:22 ]
- Qtに引越ししつつある
- 798 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 00:35:47 ]
- >>796
枯れてきたから使用者が多くても質問者は少ないんだろ。
- 799 名前:デフォルトの名無しさん [2010/02/08(月) 00:39:46 ]
- >>797>>798
そうなのか Qtの方ってOSが搭載してるブラウザコアを組み込んで使えたりするのかな? wxのHTML処理関連は素のHTMLは問題なさそうだけどcssが駄目そうだし
- 800 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 01:02:14 ]
- QtにはWebKitが付いたんだっけ?
- 801 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 01:05:52 ]
- wxの話では盛り上がらないけど
Qtの話になると盛り上がるwxスレ
- 802 名前:デフォルトの名無しさん [2010/02/08(月) 01:07:42 ]
- Monoで作るというのもあるよ
あれだとC#でかけるのでC++の糞構文に悩むこともない ただMSの動きとかもろももろでどうなるかなんだよね
- 803 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 01:11:26 ]
- Qt で書かれたアプリはときどき見かけるけど
wx で書かれたのってあまりお目にかからない どんなのがあるの?
- 804 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 01:14:24 ]
- >>803
python製アプリ見ればほとんどwxだよ。
- 805 名前:デフォルトの名無しさん [2010/02/08(月) 01:25:36 ]
- 休みを利用してwx関連をいろいろ試したけどGUI関連のツールが微妙だな
ネットで調べるとすぐにでてくるwxGladeとかもうね・・・
- 806 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 01:35:40 ]
- まぁ、GUIなんて手で書けばいいし
- 807 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 03:16:08 ]
- wx で GUI 独立設計したいなら XRCed がいいよ
- 808 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 11:11:06 ]
- >>795
あんまり頻繁に見ていないんだ、ごめんよ。 で、Windows で使うなら UnicodeRelease/UnicodeDebug でいいよ。 むしろそれ以外は気にしてはいけない。 static か DLL かは好みで。
|

|