-
- 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/
-
- 157
- 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 だけ受け取るにはどうすれば良いでしょうか?
-
- 161
- 2011/02/18(金) 20:45:41
-
>>160
wxMouseEventのLeftDClickで判別すればいいんじゃないの?
-
- 162
- 2011/02/18(金) 21:35:20
-
GoogleIME使ってるんだが、TextCtrlで未変換文字列とか変換候補とかが表示されないのは仕様か?
MSIMEならちゃんと表示された
-
- 163
- 2011/02/18(金) 22:05:32
-
>>162
ありがとうございます
試してみましたが
結局 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);
を実行したときとしないときでは違いますか?
-
- 165
- 2011/02/27(日) 20:07:52.06
-
メモリ以外の資源の解放をGC任せにする男の人って
-
- 166
- 2011/02/28(月) 14:53:53.44
-
>>164
wxWidgetsでは自分で解放すると返って二重解放になる。
ttp://www.wxwidgets.org/docs/faqcmn.htm
FAQに書いてあるから今後はよく読もうな。
-
- 167
- 2011/03/04(金) 16:28:05.88
-
主にwindowsで使っていますがlinuxでも同じソースで動くようにしたいです
wxStringで与えられたあるパス名がフルパスか相対パスかをwxWidgetsのクラス
(例えばwxFileName等)を使って判断出来ますか?
-
- 168
- 2011/03/04(金) 20:23:10.51
-
>>167
wxFileNameにIsAbsoluteというのがあるけども。
それすら調べられないようだとwxに限らずプログラミングは厳しいと思う。
-
- 169
- 2011/03/04(金) 20:25:20.16
-
ポインタ置いときますね。皆さん先刻ご存知かもしれませんが。
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
-
- 171
- 2011/03/04(金) 21:31:47.32
-
>>168
出来ました!!
ありがとうございました!!!
-
- 172
- 2011/03/07(月) 03:32:17.98
-
wxListCtrl の
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
-
- 174
- 2011/03/07(月) 07:16:25.58
-
>>173
出来ました!!
ありがとうございました!!!
-
- 175
- 2011/03/07(月) 11:00:32.39
-
質問です
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
-
- 178
- 2011/03/08(火) 09:26:30.33
-
>>178
ありがとうございます
とりあえず別の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.87
-
>>180
出来ました!!
ありがとうございました!!!
-
- 182
- 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 版のを使っています。
-
- 183
- 2011/03/09(水) 17:16:21.87
-
むしろUTF-8のまま扱うかUNICODEにしてしまった方が良いのでは?
-
- 184
- 2011/03/09(水) 20:02:39.82
-
>>182
wxStringOperations::IsValidUtf8String
-
- 185
- 2011/03/10(木) 08:17:32.00
-
>>184
ありがとうございます。
今レス見たばかりなのでまだ試していませんが、
http://docs.wxwidgets.org/trunk/annotated.html
を見ても wxStringOperations は見当たらず
ネームスペースかとも思うのですが、
こういったものはどうやって見つければ良いものですか?
-
- 186
- 2011/03/10(木) 08:25:43.01
-
>>182
wxString::FromUTF8Unchecked
-
- 187
- 2011/03/10(木) 08:27:16.48
-
>>185
http://trac.wxwidgets.org/wiki/DebugRelease
-
- 189
- 2011/03/10(木) 08:38:29.58
-
ん?
「〜」301C(E3809C)
はValidじゃないのか?
-
- 190
- 2011/03/10(木) 09:19:31.75
-
問題なのはUTF-8として正しいかどうかじゃなくて
cp932に変換出来るかどうかってことなんだよな
そうなるとスレ違いかもな
-
- 191
- 2011/03/10(木) 13:58:57.41
-
wxWidgetsって、けっこうS-JISの処理が弱いので、そこの部分だけはネイティブの処理にしたほうがいいかも
俺もアプリ作った事あるけど、S-JISに変換する部分だけはWideCharToMultiByte関数を呼ぶようにしたよ
-
- 192
- 2011/03/10(木) 16:16:13.99
-
>>184
残念ながら使えませんでした。
-
- 193
- 2011/03/10(木) 16:24:05.27
-
>>192
wxUSE_UNICODE_UTF8 を定義してないと使えないよ
つttp://docs.wxwidgets.org/trunk/overview_string.html
-
- 194
- 2011/03/10(木) 22:06:44.16
-
みなさん色々とありがとうございます。
wxString sjis_data = wxString::FromUTF8(utf8_data.c_str());
のところで例外出して死ぬパターンと sjis_data が空になるパターン
それからちゃんと成功するパターンとがありました。
結局アクセスしていたサイトに広告が入っていて、
時間帯によって内容が変わるようなのですが、
どうも本体は UTF8 なのに広告部分だけ SJIS とか、
お粗末なサイトだったのが混乱した原因の一つでした。
-
- 195
- 2011/04/19(火) 00:00:08.70
-
3.0マダー(AA略)
-
- 196
- 2011/05/25(水) 00:30:08.01
-
サイザーage
-
- 197
- 2011/07/02(土) 23:25:00.75
-
wxWidgetsとWinPcapをあわせて使おうとしてハマってたのが解決したのでカキコ
- winpcapのpcap.hはwxWidgetsのヘッダファイルのあとにincludeする必要がある
- pcap.h内部でwinsock2.hを呼んでいる
- winsock2.hはwindows.hの前にincludeする必要がある
- wxWidgetsのヘッダは、物によっては内部でwindows.hを呼んでいる
というデッドロック
#include <winsock2.h>
#include <wx/msw/winundef.h>
#include <wx/wx.h>
#include <pcap.h>
こんな感じでwinsock2.h呼んだあとにwx/msw/winundef.hを呼んでやれば解決する
-
- 198
- 2011/07/16(土) 23:02:41.64
-
GUI の配置は XML で定義出来るのが一番良いなあ
-
- 199
- 2011/07/17(日) 01:18:11.68
-
それ何てXUL
-
- 200
- 2011/07/17(日) 22:48:55.64
-
wxだってXRCがあるじゃまいか。
-
- 201
- 2011/07/17(日) 23:28:11.01
-
誰も無いとは言ってないぞ
-
- 202
- 2011/07/17(日) 23:40:23.13
-
後出しww
-
- 203
- 2011/07/17(日) 23:43:54.73
-
ネタにマジレスww
-
- 204
- 2011/07/18(月) 05:50:22.06
-
なんのこっちゃ。
-
- 205
- 2011/07/28(木) 23:53:32.75
-
リストボックスのアイテムとして
ボタンやテキストボックスを表示できる?
-
- 206
- 2011/07/29(金) 04:32:53.10
-
>>205
wxListBoxそのままでは無理。
テキストボックスだけでいいならwxEditableListBox使った方が早い。
それ以外でちょっとだけコントロールを付け足したいだけなら、
wxListBox継承してるwxCheckListBoxのソースが参考になると思う。
画像管理ソフトみたいなサムネリストが欲しいならwxThumbnailCtrl
って非公式コントロールが楽(古いので2.9系では若干修正が必要)。
ttp://wxwidgets.blogspot.com/2011/02/markup-in-control-labels.html
で紹介されてるマークアップがwxListBoxにも適用されると見た目を
いじるだけならすごく楽になるんだろうけどねぇ。
-
- 207
- 2011/07/29(金) 07:16:29.38
-
>>206
ありがと
-
- 208
- 2011/08/11(木) 06:56:31.32
-
自作のTestApp(wxWidgets製)は起動時に渡されたパスを読み込んで処理を
するとして、既に起動しているTestAppがあれば、そのTestAppにパスを引き
渡して自分は死ぬ(多重起動しない)、という動作をしたいです。
Winの場合、EnumWindowsでトップレベルウィンドウでTestAppを探し、
WM_COPYDATAをSendMessageで投げMSWWindowProcで受ける、
という方法を採っていますが、この辺のニーズは常にあるだろうし、
もっと楽なやり方があるんじゃないかと思ってます。
こういう方法の方が楽、とかありましたら教えてください。
と
このページを共有する
おすすめワード