【GUI】wxWidgets(旧wxWindows) その5【サイザー】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2010/04/09(金) 15:12:36本家
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/
0002デフォルトの名無しさん
2010/04/09(金) 15:13:33乙
0003デフォルトの名無しさん
2010/04/09(金) 16:33:220004デフォルトの名無しさん
2010/04/09(金) 19:39:56【RAD統合環境】 Qt 総合スレ 7 【Win/Mac/Linux】
http://pc12.2ch.net/test/read.cgi/tech/1270309416/
0005デフォルトの名無しさん
2010/04/09(金) 19:46:450006デフォルトの名無しさん
2010/04/09(金) 19:47:35乙
0007デフォルトの名無しさん
2010/04/09(金) 19:48:52言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
0008デフォルトの名無しさん
2010/04/09(金) 19:52:37とりあえず>>1乙
0009デフォルトの名無しさん
2010/04/09(金) 22:06:500010デフォルトの名無しさん
2010/04/09(金) 22:36:04│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
0011デフォルトの名無しさん
2010/04/09(金) 22:38:54( ・ω・) �d�d
/ ~つと)
0012デフォルトの名無しさん
2010/04/10(土) 01:23:320013デフォルトの名無しさん
2010/04/10(土) 11:40:00http://www.dotup.org/uploda/www.dotup.org798064.gif
左:.Net 右:wx
0014デフォルトの名無しさん
2010/04/10(土) 13:16:01無理なような希ガス。自作するしかないような…(ツールバーならwxAuiでそれらしく見せれるけど)
0015デフォルトの名無しさん
2010/04/14(水) 16:37:31( ・ω・) �d�d
/ ~つと)
0016デフォルトの名無しさん
2010/04/24(土) 09:25:04from wx.lib.colourchooser.canvas import BitmapBuffer
import wx
bb = BitmapBuffer(width, height, wx.Colour(0, 0, 0))
bb.Blit(0, 0, width, height, wx.WindowDC(self.pnl), 0, 0)
bmp = bb.GetBitmap()
bmp.SaveFile(u'できたよ.png', wx.BITMAP_TYPE_PNG)
ちなみに Win32API を使うとこんな感じになるみたい
ttp://www.sm.rim.or.jp/~shishido/wincap.html
0017デフォルトの名無しさん
2010/04/26(月) 14:59:40( ・ω・) �d�d
/ ~つと)
0018デフォルトの名無しさん
2010/05/02(日) 20:44:44( ・ω・) �d�d
/ ~つと)
0019デフォルトの名無しさん
2010/05/02(日) 21:09:140020デフォルトの名無しさん
2010/05/03(月) 11:45:010021デフォルトの名無しさん
2010/05/09(日) 16:02:55Osiva transparent image viewer, Kent Stork
http://www.noping.net/kent/osiva/
画像を、ウインドウ枠無しで、デスクトップにずらずらと表示したいのですが、どこらへんをとっかかりにして始めたらいいのか分かりません。
「このサンプルが役に立つんじゃねえか?」みたいな意見を聞かせてもらえると嬉しいです。
はねまわるウインドウな例
http://python.matrix.jp/projects/wxPython/bounds.html
たぶんこのサンプルが役立ちそうな気はしてるんですが、このサンプルでは1つのframeしか表示してなくて…
複数のframeを表示することなんて、wxWidgetsで可能なんでしょうか?
もし、できないとしたら、frameの代わりに何が使えそうなのでしょうか…?
あるいは、1つの透明なframeの中に、個別にbitmapを表示する感じになるのでしょうか?
0022デフォルトの名無しさん
2010/05/10(月) 00:17:110023デフォルトの名無しさん
2010/05/10(月) 01:27:50サンプルの
app = wx.App(False)
frame = MainFrame()
app.SetTopWindow(frame)
frame.Show()
のところを
app = wx.App(False)
frame = MainFrame(None)
frame1 = MainFrame(None)
frame2 = MainFrame(None)
app.SetTopWindow(frame)
frame.Show()
frame1.Show()
frame2.Show()
と書き換えて実行してみ
0024デフォルトの名無しさん
2010/05/10(月) 03:30:29wxを組み込むのはどうすればいいのでしょうか?
SDKメインフォーム+モードレスダイアログ
のダイアログ部分を差し替えるイメージです
以下のソースではOnRunを呼ぶと制御が戻ってきません。
それ用のthreadを作れば何とかなるのですが
もっとシンプルに出来た記憶があったのですが・・・
wxApp* app = new MyApp();
wxApp::SetInstance(app);
int argc=0; wxChar** argv=NULL;
wxEntryStart(argc,argv);
wxTheApp->CallOnInit();
wxTheApp->OnRun();
while(GetMessage(&msg , NULL , 0 , 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
wxTheApp->OnExit();
wxEntryCleanup();
0025デフォルトの名無しさん
2010/05/10(月) 06:23:290026デフォルトの名無しさん
2010/05/10(月) 16:42:05前スレのどこ?アンカおねがい
とりあえずOnRunをコメントアウトしたら上手く動いているようではあるけど
もっときれいにやれてた気がするんだよなぁ
0027デフォルトの名無しさん
2010/05/12(水) 00:56:04ありがとうございます!
やってみたらframeが複数表示できました。
件のサンプルを参考にして勉強したいと思います。
0028デフォルトの名無しさん
2010/05/17(月) 04:01:10wx.netに入ってるwx-c.dllを使う
0029デフォルトの名無しさん
2010/06/07(月) 13:24:17しかし
そのlinuxにOSXからssh-Xとかssh -Yとかで接続して,
sapmeles/openglのcubeとかisosurfとかpenguinを実行すると
ウインドウは出てくるけどopenglの描画がされないんだけど仕様なの?
ssh越しでもdemo(lifeとか)やopenglを使わないsamplesは普通に動くんだけど.
0030デフォルトの名無しさん
2010/06/21(月) 12:42:42他プロセスからのShowWindow、SendMessage、PostMessageとかメッセージ全部拾わずそのままDefWindowProcに渡してイベント上げてこない
そのくせ、自分自身でウィンドウの表示状態管理してるから不整合起きまくり
HWND取得してWin32APIで状態確認してWin32APIで処理しなきゃダメだ
自プロセスが出した命令のイベントしか上げてこないならEVT_SHOWなんていらないだろ
0031デフォルトの名無しさん
2010/06/21(月) 13:01:24オーバーレイをお古
かくかくのろのろだけど
003229
2010/06/21(月) 16:22:58駄目.なんにも変わらない.
0033デフォルトの名無しさん
2010/06/21(月) 22:49:060034デフォルトの名無しさん
2010/06/22(火) 01:04:390035デフォルトの名無しさん
2010/06/22(火) 01:10:45頑張って置き換えてくれ
0036デフォルトの名無しさん
2010/06/24(木) 03:29:19qtとwxだとどっちが糞なんだ
0037デフォルトの名無しさん
2010/06/24(木) 04:07:380038デフォルトの名無しさん
2010/07/10(土) 02:27:34その辺の話ってどこかにまとまってたりしますか?
0039デフォルトの名無しさん
2010/07/10(土) 02:56:560040名無しさん@そうだ選挙に行こう
2010/07/10(土) 07:39:43GPL - コピペしてもリンクしても感染
LGPL - 動的リンクすれば影響しないが、静的リンクやコピペでは感染
wx - バイナリになっていれば煮ても焼いてもいい。コピペでは相変わらず感染
ということでいいのかな。
>>37は知らないがどういうこと?
0041名無しさん@そうだ選挙に行こう
2010/07/10(土) 09:12:48wxが余計に解らない
LGPLをゆるくしたものじゃね?
0042名無しさん@そうだ選挙に行こう
2010/07/10(土) 14:10:16http://www.wxwidgets.org/about/newlicen.htm
The wxWindows Licence is essentially the L-GPL (Library General Public Licence)
wxWindows ライセンスは 本質的にはLGPL
QtがLGPLになって企業サポートがついたいま
wxWindowsに利点があるのだろうか?
0043名無しさん@そうだ選挙に行こう
2010/07/11(日) 02:01:41単に自分のアプリを作るためのライブラリとして考える場合はバイナリで
自由に使える。ソースコードつけなくてもリンクしようが配布しようが自由。
0044名無しさん@そうだ選挙に行こう
2010/07/11(日) 15:48:10wxWidgets(wxWindows)日本語ドキュメントプロジェクトの方々に連絡を取った所
既に更新停止しているとの事なので、プロジェクトを移管して頂きSourceForge.netで
新たにプロジェクトを作りました。これからv 2.8 の翻訳を完成に向けて開始したい
と思っています。
https://sourceforge.net/projects/wxwidgetsjpdoc/
翻訳作業の出来る方募集中です。どうぞご参加ください。
0045デフォルトの名無しさん
2010/07/23(金) 01:13:45wxはポータブルなんで、日本でももうすこし広がるといいですね。
0046デフォルトの名無しさん
2010/07/24(土) 21:05:36http://www.erlang.org/doc/apps/wx/
Erlang/OTP R13A (2009-04-03) から、公式配布物に含む。 (最新はR14A)
0047デフォルトの名無しさん
2010/07/26(月) 04:18:08wxRuby 0.6.0betaを使ったアプリをwxruby.so同梱で配布する場合に適用されるライセンスは
どのようになりますか?
バイナリファイルでの配布なら?任意のライセンスを適用出来るみたいですが
インタプリタ系の言語でバイナリファイルでの配布とか言われても難しいですし・・・
(exerbで配布したとしてもexeファイルの実態はインタプリター+ソースコードだし)
よろしくお願いします
0048デフォルトの名無しさん
2010/07/26(月) 05:47:160049デフォルトの名無しさん
2010/07/26(月) 16:52:170050デフォルトの名無しさん
2010/07/27(火) 22:18:14wxFormBuilderで作成されたForm内のm_textCtrlXXへの参照・代入ってどうやればいいんですか?
環境はVC++です。
0051デフォルトの名無しさん
2010/07/27(火) 22:40:10ttp://docs.wxwidgets.org/stable/wx_wxtextctrl.html
GetValue、GetLineText
SetValue、AppendText
この辺りだろう、ってか公式のリファレンスに網羅されてるからすぐ見たほうがいいよ
005250
2010/07/27(火) 23:11:48wxFormBuilderで作成されたクラスがMyFrame1として、
MyFrame1::m_textCtrl28->SetValue(s);
とかやってみたけど、ビルドが通ってくれないのです。
(申し訳ございません、C++よくわかってない人です)
wxFormBuilderの場合、ここみたいに
http://wiki.wxformbuilder.org/Tutorials/UsingSubclass
サブクラス化してアクセスするのが正解なのでしょうか。
試してみたけど、なんか上手くいかないんです。
005350
2010/07/27(火) 23:19:29文字列操作しようとしたらまたハマってしまって困っているのです。
0054デフォルトの名無しさん
2010/07/28(水) 08:55:09MyFrame1 frame;
frame->m_textCtrl28->SetValue(wxT("moji"));
この場合外側からのアクセスなのでm_textCtrl28のpermissionはpublicになってないといけない
クラスの扱いはC++の基本なのでまずそちらから勉強した方がライブラリの理解も早くなります
0055デフォルトの名無しさん
2010/07/28(水) 08:57:31frame.m_textCtrl28->SetValue(wxT("moji"));
005650
2010/07/28(水) 19:27:53MyFrame1 frame;
としてみたところ、
frame.
の入力で
frame.m_textCtrl28->SetValue
までVCの補完が効くようになりました!
いけるかなと思ったのですが、ビルドしてみると
「'MyFrame1' : クラス、構造体、共用体に既定のコンストラクタがありません。」
のエラーになってしまいます。
なにはともあれ真理に近づきつつあるようです。ありがとうございます。
C++の勉強します。
0057デフォルトの名無しさん
2010/07/28(水) 19:49:01frame = new MyFrame1(NULL);
frame->m_textCtrl28->SetValue(wxT("moji"));
じゃだめ?
005850
2010/07/28(水) 21:25:03ありがとうございます。
やはり
「'MyFrame1' : クラス、構造体、共用体に既定のコンストラクタがありません。」
になってしまいます。
コードが継ぎ足し実験しまくりなのが不安なので、シンプルなコードで最初か
らやり直してみようと思います。
0059デフォルトの名無しさん
2010/07/29(木) 01:38:24じゃない?newを受けるのはポインタ
というかもう少しC の勉強してからのほうがいいと思ふぞ
006050
2010/07/29(木) 02:40:00ありがとうございます。
まだ継ぎ足し実験コードのままなのですが、試してみました。
MyFrame1 *frame = new MyFrame1(NULL);
frame->m_textCtrl28->SetValue(wxT("moji"));
としてみたところ、
「protected メンバ (クラス 'MyFrame1' で宣言されている) にアクセスできません。」
というエラーが。
m_textCtrl28をprotectedメンバで宣言しているのはwxFormBuilderが吐き出し
たコードで、これはwxFormBuilderとしては「編集しちゃアカん」そうなので
すが、m_textCtrl28をpublicメンバで宣言するように直したところ、ビルドが
通りました。でもSetValue(wxT("moji"))の効果はありませんでした。
うーん、勉強します。シンプルなコードでも試してみます。
0061デフォルトの名無しさん
2010/07/29(木) 02:52:290062デフォルトの名無しさん
2010/07/29(木) 02:55:30ここ見てるひとは当たり前過ぎてただのノイズ
wx やりたいのは解るがしばらく我慢して
もう少し C++ の勉強してから改めて取り組んだ方が良い
0063デフォルトの名無しさん
2010/07/29(木) 14:33:270064デフォルトの名無しさん
2010/09/06(月) 03:08:25物理メモリーは2G近くの空き、システムドライブも20G近く空いています。
ネットでエラーを調べてLDFLAGSに-Wl,--no-keep-memoryを追加してみましたが同じ所でエラーになりました。
誰かタスケテorz
0065デフォルトの名無しさん
2010/09/06(月) 03:51:240066デフォルトの名無しさん
2010/09/06(月) 04:50:27既に3回くらいやりましたが駄目でしたorz
0067デフォルトの名無しさん
2010/09/06(月) 05:51:56同じ場所で止まる?
006864
2010/09/06(月) 06:18:57wxmsw291u_core_gcc_custom.dllを作成中にエラーになるのは同じで、その中でcould not read symbols: Memory exhaustedが起こる、読み込み中のオブジェクトファイルは違う事があるようです。
0069デフォルトの名無しさん
2010/09/06(月) 06:45:030070デフォルトの名無しさん
2010/09/06(月) 09:26:15007164
2010/09/06(月) 21:25:58ttp://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相談室で質問後結果報告させて頂きますね。<その方が良いですよね?自信がないです・・・。
0072デフォルトの名無しさん
2010/09/06(月) 23:53:29再描画に凄く時間が掛かる。
何か回避策や対策などがあるようならば教えてください。
0073デフォルトの名無しさん
2010/09/07(火) 17:43:040074デフォルトの名無しさん
2010/09/07(火) 17:55:13007572
2010/09/07(火) 22:55:14しているっぽいので、そこをもう計算させないっていう様な設定が
出来たらしたいのです。
結局、複雑にサイザー使ってボタンとかびっちり詰め込むと
サイザーの計算が重くなるのは仕方ないなとも思うので、
固定さえ出来れば問題なくなるはずです。
0076デフォルトの名無しさん
2010/09/07(火) 23:10:11ボックス系のサイザーとグリッド系のサイザーを適切に使えば綺麗にまとまるし
さほど重くもならないと思うんだけど
0077デフォルトの名無しさん
2010/09/07(火) 23:22:25そのあとでBorder、埋めきれないとこはSpacer
0078デフォルトの名無しさん
2010/09/09(木) 09:58:14Python対応
C++で日本語でもANSIで吐けるようになってるのを確認
0079デフォルトの名無しさん
2010/09/11(土) 02:13:45ちょっと見直してみたら、ボックスサイザーを入れ子にしてる所があるな。
そういうのは、グリッド系にすべきって事かな。
0080デフォルトの名無しさん
2010/09/11(土) 04:07:42100個とか1000個単位で
びっしり詰めてるのか?
0081デフォルトの名無しさん
2010/09/11(土) 11:58:53動作が重いというか、ウィンドウを(最小化などから)表示した時に
普通はパッというぐらいの速度で表示されるけど、それがパラパラっと
コントロールが配置されるのが見えるって感じ。
0082デフォルトの名無しさん
2010/09/11(土) 12:03:53wxFormBuilderって物凄く安定しているのがスゲーと思った。
こういうのって不安定なものが多いから感心した。
ちなみに、Windows版。
0083デフォルトの名無しさん
2010/09/11(土) 14:23:13C2D E6600でもこの程度では特に重いとは感じない、というか変化がない
SS見せてくれたら試しに組んでみてもいいよ
0084デフォルトの名無しさん
2010/09/13(月) 07:11:45を配置するだけだと背景色で透過部分がfillされます。styleをTRANSPARENTにしても効かない。
ウィンドウのDCを取得して、wxDC::DrawBitmapで地道に描かないとだめですかね?
0085デフォルトの名無しさん
2010/09/13(月) 11:28:09SetMaskColour
0086デフォルトの名無しさん
2010/10/18(月) 01:51:53GetInsertionPointの前後で分割して、入れたい値を合成して
再挿入、ってやったけど
どうも改行があると値がずれるようなんで困ってて。
008786
2010/10/18(月) 02:20:13スレ汚しすまんかった。
0088デフォルトの名無しさん
2010/10/18(月) 02:32:29普通にWriteTextで
キャレット位置に挿入(選択状態なら置換)出来るのでは?
009081
2010/10/31(日) 01:33:07その後、同一マシン上のVMwareでWindows2000とWindows7を実行して試してみたら、
Windows7上では同じ遅さだったけど、Windows2000ではめっちゃ速かったから
少なくともサイザーが遅いって事はなさそう。
ただ、VS2010上でビルド出来ないし、新しいプラットフォームの追従はあまり
早くないね。3.0が出てくれれば解決するのかな。
0091デフォルトの名無しさん
2010/10/31(日) 01:53:11単にスワップ起こしてるだけじゃねーの?
2GB程割り振って検証してみたら?
0092デフォルトの名無しさん
2010/10/31(日) 17:17:26VS2010のx64でビルドして使ってるけど、特においらの範囲では問題ないな。
VC6プロジェクトがVS2010で変換できないってことなら、VC2005か、VC2008で変換してからVS10で開けば通るよ。
2.9.xならVC8,VC9用のプロジェクトもある。
009390
2010/11/03(水) 00:56:36> VS2010のx64でビルドして使ってるけど、特においらの範囲では問題ないな。
再描画の時に「パッ」じゃなくて「パラ」って感じなんで、まぁ問題っていうほど
じゃないんだけどね。
> VC6プロジェクトがVS2010で変換できないってことなら、VC2005か、VC2008で変換してからVS10で開けば通るよ。
なるほど、その手があるのか。ありがとう。
0094デフォルトの名無しさん
2010/11/13(土) 05:11:47GETしたい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から落としてきてるけど、こんな単純なところでミス
してたらテスト通らないだろうし…
俺が何かくだらないミスしてる気がしてならないので、誰かツッコミ入れて下さい。
0095デフォルトの名無しさん
2010/11/13(土) 11:25:39あってる
0096デフォルトの名無しさん
2010/11/13(土) 11:31:270097デフォルトの名無しさん
2010/11/13(土) 11:34:21http://yomi.mobi/read.cgi/pc8/pc8_tech_1097524712/515-
0098デフォルトの名無しさん
2010/11/13(土) 11:54:080099デフォルトの名無しさん
2010/11/23(火) 18:39:00>>98
もう解決してる気がするけど、OS毎で処理系が全く異なる上、
日本と中国と韓国くらいしか影響がないのでそんな便利なパッチはたぶん無い。
RichTextはわからんが、Win上のwxStyledTextCtrlと同じなら、
MSWWindowProcをオーバーライドして、
WM_IME_STARTCOMPOSITION、WM_IME_COMPOSITIONあたりを捕捉、
Caretの位置から自分で逐次IMEの位置情報を変更してやればいいと思う。
しかし上でwxURLの話もされてるけど、HTTP通信周りの処理、
結構ボロボロだなコレ。
そういう用途で使ってるユーザがほとんどいないんだろうが・・・。
0100デフォルトの名無しさん
2010/11/23(火) 19:22:290101デフォルトの名無しさん
2010/11/24(水) 19:51:500102デフォルトの名無しさん
2010/11/25(木) 23:22:37wxOnigurumaとか無かった。残念。
0103デフォルトの名無しさん
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です。
0104デフォルトの名無しさん
2010/11/26(金) 21:51:03この辺で問題視されてる「wxMBConv はいくつかのサブクラスを持っていて、
こいつらはことごとく wchar_t の内部表現が UCS であることを仮定してる。」
あたりが原因じゃないのか?
ttp://diary.imou.to/~AoiMoe/2004.09/middle.html#2004.09.13
0105デフォルトの名無しさん
2010/11/26(金) 23:29:00早速感謝。
あー、そのページ、自分も見ました。
今ネット上にある日本語ページの中では一番内容が濃そうでしたね。
wxWidgetsが文字コード回りで大分無茶をしてるらしいことだけは判りました。
実際、文字コード変換には一旦wchar_t型を経由しないとならんのですけど、
charのSJIS->MB2WC->WC2MB
とかやると、SJISでもUTF8でもない謎コードになっちゃうんですよね。
ちなみに、前スレでもWin使いの方が全く同じ趣旨の質問されてましたけど、
結局やはりWinAPIでなんとかしたらしいですね。
やっぱり無理ですかねぇ…。
0106デフォルトの名無しさん
2010/11/27(土) 00:43:27>>104 の言っているUnicodeって、具体的に何?wxはUnicodeビルドで、wxStringにしたいの?
SJISからwxStringにしたいのなら、 wxString s(sjis_string, wxCSConv('cp932')); を試した?
コード出さないで質問しても、エスパーじゃない限り回答できないよ。
0107デフォルトの名無しさん
2010/11/27(土) 02:06:26あ、書き忘れてましたね、すいません。
入力はマルチバイト(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ベースのコードとやりとりするための処理が入るのですが、それが
また汚いので、できれば回避したいです…)
0108デフォルトの名無しさん
2010/11/27(土) 08:39:350109デフォルトの名無しさん
2010/11/27(土) 11:28:57えー、失敗コードはもう全部消しちゃったんですよね…。
てか、ここまでの説明で判る方は判るし、判らん方はそこまででしょう。
この場合、頑張って失敗コード再現しても結果は後者だと思うので、No thank you.
0110デフォルトの名無しさん
2010/11/27(土) 11:41:570111デフォルトの名無しさん
2010/11/27(土) 13:14:50wxMBConvとwxCSConvの違いって何?
ヘルプ見てもよくわからん…
0112デフォルトの名無しさん
2010/11/27(土) 13:26:57wxMBConv は、変換系の抽象クラス。
wxCSConv は wxMBConv を継承した具象クラスで、 >>106 みたいに任意のエンコーディングとの変換を行う。
wxMBConvUTF8 も wxMBConv を継承した具象クラスで、 UTF-8との変換を行う。
0114107
2010/11/27(土) 15:03:23少なくともUbuntu 10.10では、wxCSConvでちゃんとcp932からUTF-8への変換ができたよ。
Debian etch とか古すぎて使う気にならないけど。
0115デフォルトの名無しさん
2010/11/27(土) 17:00:22多謝!!
こっちでも試してみましたけど、できた!?ばかな!?
記憶を頼りに前回のコードと比較してみたら、違いが判りました。
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でした、スイマセン。
0116デフォルトの名無しさん
2010/11/27(土) 17:17:400117デフォルトの名無しさん
2010/11/27(土) 17:40:21おかげさまで変更箇所が50行が4行になり、かなりすっきりしました。
相談に乗って頂いた方、大変有難うございました。
0118107
2010/11/27(土) 18:21:41文字列が登録されていて、iconv にはこの名前のエイリアスが登録されていないから iconv に
失敗する、、、んだけど、iconv_open に失敗したらWINDOWS-932の次のCP932が利用されるように
見える。なのに失敗してる。
深追いはしてないからどこでコケてるのか判らないけど、とりあえず wxCSConv にはエンコーディング名を
直接渡したほうが、その名前が直接 iconv に渡るから落とし穴が少なそう。
0119デフォルトの名無しさん
2010/11/27(土) 18:27:010120デフォルトの名無しさん
2010/11/27(土) 18:41:10あー、そういうことでしたか、なるほど。
感謝!
0121106=114=118
2010/11/27(土) 20:54:49>>117 xchm の修正って、本家にフィードバックする予定ありますか?
Linuxでもchmファイル読めたら便利そう。
0122デフォルトの名無しさん
2010/11/27(土) 22:36:15フィードバックの予定は特に無いです。
というか本家、まだ生きてるんだろうか?
Ad-hocだけど、ここにパッチ貼っときます。
これでコンテンツと索引がちゃんと日本語で表示されるようになります。
検索の日本語対応は、ぱっと見かなり難しそうだったので保留中です。
むしろ誰かやって下さい…。
ちなみに、Linuxでchm読むだけでしたら他にもいくつかビューアがあるようですよ。
ご参考まで。
0123デフォルトの名無しさん
2010/11/27(土) 22:37:06+--- 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;
0124デフォルトの名無しさん
2010/11/27(土) 22:39:25+--- 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
+ }
+
0125デフォルトの名無しさん
2010/12/01(水) 16:15:11wx.(Rich)TextCtrlでは打ち消し線は使えないのでしょうか?
0126デフォルトの名無しさん
2010/12/03(金) 00:13:26wxFONTFLAG_STRIKETHROUGHを指定したフォントを適用してやるとかで
できるんじゃない?
0127デフォルトの名無しさん
2010/12/04(土) 15:45:14font = wx.FFont(8, wx.DEFAULT, wx.FONTFLAG_STRIKETHROUGH)
self.target.SetFont(font)
FONTFLAG_STRIKETHROUGHを指定してみたのですが、打ち消し線が表示されません。
0128デフォルトの名無しさん
2010/12/05(日) 00:26:59サンプルを実行してみないとどのように表示されるのか判らないのはかなり不便・・・('A`)
0129デフォルトの名無しさん
2010/12/05(日) 02:32:550130デフォルトの名無しさん
2010/12/06(月) 23:39:23ttp://trac.wxwidgets.org/ticket/9907
打ち消し線が有効化されるパッチ。
ただし2.9。
0131デフォルトの名無しさん
2010/12/25(土) 00:41:50遅れましたが、ありがとうございます。
wxWidgets用のパッチのようなのですが、
wxPythonに適用させる方法がわかりません・・・
0132デフォルトの名無しさん
2011/01/01(土) 17:37:180133デフォルトの名無しさん
2011/01/02(日) 03:08:38このままじゃ何時まで経っても64bit化出来ない。
やっぱり企業の後ろ盾がないプロジェクトはきついかもね。
0134デフォルトの名無しさん
2011/01/15(土) 01:11:150135デフォルトの名無しさん
2011/01/15(土) 01:25:480136デフォルトの名無しさん
2011/01/15(土) 01:32:35枯れてるからね
0137デフォルトの名無しさん
2011/01/15(土) 14:18:26wx Initial release 1992
Qt Initial release 1992; 19 years ago
wxの敗因は、やっぱ製品として売り出してないからじゃね?
0138デフォルトの名無しさん
2011/01/15(土) 20:08:32gtk,Mono => Suse, Microsoft
Qt => Nokia, Google, Intel
wxwidget => ???
0139デフォルトの名無しさん
2011/01/15(土) 20:12:460140デフォルトの名無しさん
2011/01/18(火) 00:04:15ttp://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
のところで固まる
日本語パスが使える状態で動作させる方法があったら教えてください
よろしくお願いします
0141デフォルトの名無しさん
2011/01/18(火) 06:48:230142140
2011/01/23(日) 01:33:16わざわざ書き直してくれたのに申し訳ないけどRubyでコーディングしたいので・・・
とりあえずいじり回していたら思いついた案
1.Ruby 1.8系を使用。wxImage::load_streamを使う
ファイルの自動判別が出来ない
2.Ruby 1.8系を使用。Rubyのファイルパスを扱うメソッドをUTF-8に対応するように再定義
数が多くコーディング量が多い。デバッグも大変
3.RubyでwxPythonを使う
まだ実験していない。動いたとしても関連ライブラリのサイズがでかくなりそう?
どれもイマイチだ(´・ω・`)
0143デフォルトの名無しさん
2011/01/23(日) 03:01:420144デフォルトの名無しさん
2011/01/23(日) 17:59:40サムネにはお勧めできない
0145デフォルトの名無しさん
2011/01/23(日) 19:23:43Windowsと日本語はもちろんだけど、>>140のBlog見てるとスレッド周りにも
問題あるみたいだし。
0146デフォルトの名無しさん
2011/01/23(日) 20:59:01>(ただし、サンプルということで、排他制御は一切やっていない)
>
>イベントループのあるメインスレッドからのスレッド切り替えが円滑に行われるよう、
>メインスレッドではタイマーを使って定期的に Thread.pass している。
>
> Wx::Timer.every(100) do
> Thread.pass
> end
>
>これが必要になる理由については次のエントリでやる予定。
謎のコード
0148デフォルトの名無しさん
2011/01/23(日) 21:38:27ttp://d.hatena.ne.jp/h1mesuke/20100508/p1
ここのコメ欄の方が怖いぞ。
0149デフォルトの名無しさん
2011/01/24(月) 05:23:510150デフォルトの名無しさん
2011/01/27(木) 23:54:02単に表示されている画像をインターバルで書き換えていく方法だとフリッカーが出てしまいます
再描画と画像の書き換えの同期が取れていないためだと思いますが同期させる方法が判りません
何か良い方法があったら教えてください。よろしくお願いします
0151デフォルトの名無しさん
2011/01/28(金) 01:18:190152デフォルトの名無しさん
2011/01/28(金) 23:04:25wxBufferedPaintDC使え。
0154デフォルトの名無しさん
2011/01/30(日) 16:14:400156デフォルトの名無しさん
2011/02/05(土) 22:36:59ttp://wx.ibaku.net/changelog/
連日どんどん更新されてるけど音沙汰ない?
0157デフォルトの名無しさん
2011/02/11(金) 06:24:010158デフォルトの名無しさん
2011/02/11(金) 23:54:180159デフォルトの名無しさん
2011/02/13(日) 21:55:320160デフォルトの名無しさん
2011/02/18(金) 08:33:59EVT_LEFT_UP EVT_LEFT_DCLICK が同時に来るみたいなのですが
EVT_LEFT_DCLICK だけ受け取るにはどうすれば良いでしょうか?
0161デフォルトの名無しさん
2011/02/18(金) 20:45:41wxMouseEventのLeftDClickで判別すればいいんじゃないの?
0162デフォルトの名無しさん
2011/02/18(金) 21:35:20MSIMEならちゃんと表示された
0163デフォルトの名無しさん
2011/02/18(金) 22:05:32ありがとうございます
試してみましたが
結局 EVT_LEFT_DCLICK に bind された handler 内では LeftDClick なのですが
同時に EVT_LEFT_UP に bind された handler も呼ばれてしまっていて
そっちでは LeftDClick じゃないとみなされるので区別出来ないんです ><
0164デフォルトの名無しさん
2011/02/27(日) 19:42:45.69としたとき wxFrame を delete しないようですが
勝手に GC してくれるんでしょうか?
SetTopWindow(frame);
を実行したときとしないときでは違いますか?
0165デフォルトの名無しさん
2011/02/27(日) 20:07:52.060166デフォルトの名無しさん
2011/02/28(月) 14:53:53.44wxWidgetsでは自分で解放すると返って二重解放になる。
ttp://www.wxwidgets.org/docs/faqcmn.htm
FAQに書いてあるから今後はよく読もうな。
0167デフォルトの名無しさん
2011/03/04(金) 16:28:05.88wxStringで与えられたあるパス名がフルパスか相対パスかをwxWidgetsのクラス
(例えばwxFileName等)を使って判断出来ますか?
0168デフォルトの名無しさん
2011/03/04(金) 20:23:10.51wxFileNameにIsAbsoluteというのがあるけども。
それすら調べられないようだとwxに限らずプログラミングは厳しいと思う。
0169デフォルトの名無しさん
2011/03/04(金) 20:25:20.16wxWidgets(wxstd.moの日本語版, ja.po)をお使いの皆様へ
ttp://suzumizaki.blog6.fc2.com/blog-entry-207.html
0170デフォルトの名無しさん
2011/03/04(金) 20:34:43.27こっちも読んでおくといいよ。
二重開放以外にもdeleteがまずい理由があるようだから。
ttp://docs.wxwidgets.org/trunk/overview_windowdeletion.html
0171デフォルトの名無しさん
2011/03/04(金) 21:31:47.32出来ました!!
ありがとうございました!!!
0172デフォルトの名無しさん
2011/03/07(月) 03:32:17.98SetItem - GetItemText とか
SetItemText - GetItem とか
なんか変な対応してるみたいなんですけど
こんなもんなんですか?
他にも IsIconized とか IsShown とか
ドキュメント通りじゃなくて
めちゃくちゃな感じがするんですが
設計者ってパラノイア?
0173デフォルトの名無しさん
2011/03/07(月) 04:30:33.22つ ttp://wiki.wxwidgets.org/WxListCtrl
Get the String Contents of a "cell" in a LC_REPORT wxListCtrl
0174デフォルトの名無しさん
2011/03/07(月) 07:16:25.58出来ました!!
ありがとうございました!!!
0175デフォルトの名無しさん
2011/03/07(月) 11:00:32.39wxWidgetsにはMD5やSHAを計算してくれる関数はありますか?
0176デフォルトの名無しさん
2011/03/07(月) 11:32:42.630177デフォルトの名無しさん
2011/03/07(月) 22:35:46.50176じゃないけど、MD5単品ならこういうのとか。
ttp://www.koders.com/cpp/fid80078010DEFC2265E917FE6436718F0AE038CBE6.aspx
0178デフォルトの名無しさん
2011/03/08(火) 09:26:30.33ありがとうございます
とりあえず別のMD5ライブラリが見つかったのでそちらで間に合わせたのですが
ライセンスの問題とか考えると教えて頂いたもので置き換えた方が良いかも知れません
余力があったら後でご報告します
0179デフォルトの名無しさん
2011/03/09(水) 04:31:11.460180デフォルトの名無しさん
2011/03/09(水) 04:46:40.120181デフォルトの名無しさん
2011/03/09(水) 05:29:32.87出来ました!!
ありがとうございました!!!
0182デフォルトの名無しさん
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 版のを使っています。
0183デフォルトの名無しさん
2011/03/09(水) 17:16:21.870184デフォルトの名無しさん
2011/03/09(水) 20:02:39.82wxStringOperations::IsValidUtf8String
0185デフォルトの名無しさん
2011/03/10(木) 08:17:32.00ありがとうございます。
今レス見たばかりなのでまだ試していませんが、
http://docs.wxwidgets.org/trunk/annotated.html
を見ても wxStringOperations は見当たらず
ネームスペースかとも思うのですが、
こういったものはどうやって見つければ良いものですか?
0186デフォルトの名無しさん
2011/03/10(木) 08:25:43.01wxString::FromUTF8Unchecked
0187デフォルトの名無しさん
2011/03/10(木) 08:27:16.48http://trac.wxwidgets.org/wiki/DebugRelease
0188デフォルトの名無しさん
2011/03/10(木) 08:34:44.59ありがとうございます。
しかしそれは Valid じゃない UTF8 データが渡されたときの
動作は undefined だと書かれていますね。
結局事前に調べないといけないことにかわりないようです。
>>187
ありがとうございます。
中身を読んでも良く判りませんでした。
どういう意味でしょうか?
0189デフォルトの名無しさん
2011/03/10(木) 08:38:29.58「〜」301C(E3809C)
はValidじゃないのか?
0190デフォルトの名無しさん
2011/03/10(木) 09:19:31.75cp932に変換出来るかどうかってことなんだよな
そうなるとスレ違いかもな
0191デフォルトの名無しさん
2011/03/10(木) 13:58:57.41俺もアプリ作った事あるけど、S-JISに変換する部分だけはWideCharToMultiByte関数を呼ぶようにしたよ
0192デフォルトの名無しさん
2011/03/10(木) 16:16:13.99残念ながら使えませんでした。
0193デフォルトの名無しさん
2011/03/10(木) 16:24:05.27wxUSE_UNICODE_UTF8 を定義してないと使えないよ
つ ttp://docs.wxwidgets.org/trunk/overview_string.html
0194デフォルトの名無しさん
2011/03/10(木) 22:06:44.16wxString sjis_data = wxString::FromUTF8(utf8_data.c_str());
のところで例外出して死ぬパターンと sjis_data が空になるパターン
それからちゃんと成功するパターンとがありました。
結局アクセスしていたサイトに広告が入っていて、
時間帯によって内容が変わるようなのですが、
どうも本体は UTF8 なのに広告部分だけ SJIS とか、
お粗末なサイトだったのが混乱した原因の一つでした。
0195デフォルトの名無しさん
2011/04/19(火) 00:00:08.700196デフォルトの名無しさん
2011/05/25(水) 00:30:08.010197デフォルトの名無しさん
2011/07/02(土) 23:25:00.75- 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を呼んでやれば解決する
0198デフォルトの名無しさん
2011/07/16(土) 23:02:41.640199デフォルトの名無しさん
2011/07/17(日) 01:18:11.680200デフォルトの名無しさん
2011/07/17(日) 22:48:55.640201デフォルトの名無しさん
2011/07/17(日) 23:28:11.010202デフォルトの名無しさん
2011/07/17(日) 23:40:23.130203デフォルトの名無しさん
2011/07/17(日) 23:43:54.730204デフォルトの名無しさん
2011/07/18(月) 05:50:22.060205デフォルトの名無しさん
2011/07/28(木) 23:53:32.75ボタンやテキストボックスを表示できる?
0206デフォルトの名無しさん
2011/07/29(金) 04:32:53.10wxListBoxそのままでは無理。
テキストボックスだけでいいならwxEditableListBox使った方が早い。
それ以外でちょっとだけコントロールを付け足したいだけなら、
wxListBox継承してるwxCheckListBoxのソースが参考になると思う。
画像管理ソフトみたいなサムネリストが欲しいならwxThumbnailCtrl
って非公式コントロールが楽(古いので2.9系では若干修正が必要)。
ttp://wxwidgets.blogspot.com/2011/02/markup-in-control-labels.html
で紹介されてるマークアップがwxListBoxにも適用されると見た目を
いじるだけならすごく楽になるんだろうけどねぇ。
0207デフォルトの名無しさん
2011/07/29(金) 07:16:29.38ありがと
0208デフォルトの名無しさん
2011/08/11(木) 06:56:31.32するとして、既に起動しているTestAppがあれば、そのTestAppにパスを引き
渡して自分は死ぬ(多重起動しない)、という動作をしたいです。
Winの場合、EnumWindowsでトップレベルウィンドウでTestAppを探し、
WM_COPYDATAをSendMessageで投げMSWWindowProcで受ける、
という方法を採っていますが、この辺のニーズは常にあるだろうし、
もっと楽なやり方があるんじゃないかと思ってます。
こういう方法の方が楽、とかありましたら教えてください。
と
0209デフォルトの名無しさん
2011/08/11(木) 10:26:43.620210208
2011/08/11(木) 20:27:39.52コメントありがとう。
でもMutexだと多重起動のチェックには使えるけど、
「既に起動している別プロセスへ任意のデータを引き渡す」
って処理には使えなく無いですか?
0211デフォルトの名無しさん
2011/08/12(金) 00:44:19.62・共有メモリ
・TCP/IP
・DDE/OLE/ActiveX
・ウィンドウメッセージ
好きなの使えばいいよ。普通は都合のいい方法を使って自分で作る。
wxならメッセージが一番楽だろう。
0212デフォルトの名無しさん
2011/08/12(金) 01:46:19.300213デフォルトの名無しさん
2011/08/12(金) 12:39:56.45元のをポップアップさせてあとのを閉じれば渡す必要なくね?
0214デフォルトの名無しさん
2011/08/12(金) 12:42:49.43いっそ多重起動もdir lockでやっとけ。
0215デフォルトの名無しさん
2011/08/12(金) 17:59:34.09ttp://docs.wxwidgets.org/2.9.2/classwx_mutex.html
0216デフォルトの名無しさん
2011/08/12(金) 18:09:42.10ttp://docs.wxwidgets.org/2.9.2/classwx_single_instance_checker.html
0217208
2011/08/12(金) 21:25:55.39誤解を生んで申し訳ないんだけど、多重起動の禁止だけじゃなくて、
データを引き渡すってところまでがやりたいことなんです。
>>211
・メモリマップファイル
・共有メモリ
公式ドキュメントだけ読んで無いと思っていたんですが、
改めて調べたら5年前にパッチとして提出されてました。
「理由は言わないけど却下」と問答無用でRejectされてましたが、
普通に使えました(なんで却下されたんだろう……)
・TCP/IP
ちょっと大掛かりですが、確かにこれだとwxWidgetsのクラスのみで
クロスプラットフォームにいけますね。
・DDE/OLE/ActiveX
MSが意図しているアプリ間通信にはこれを使うべきなんですかね。
クロスプラットフォームからはかけ離れますが。
0218208
2011/08/12(金) 22:02:35.23はい。最初に書いたとおり、これは把握済です。
ただ、全トップレベルウィンドウを調べるwxWidgetsの関数って
無いですよね?(MS側のAPIはあるけど)
>>213
・起動済アプリを殺して自分が前面に出る
タスクバーに収納されていたり表に出ていたり、というアプリにしているので、
起動済のアプリのそれらの状態を把握するのにちょっと手間がかかりますね。
表示状態のコピーが不要なら確かに比較的手っ取り早いですが。
>>214
・作業ファイルにデータ書き込み&排他制御
大量のデータ通信をアプリ間でやるわけじゃないので、
手っ取り早く汎用性も高くwxWidgetsだけで完結しますね。
しかもクロスプラットフォームで安定している。なるほど。
皆さん色々な案の提示、どうもありがとうございました。
0219デフォルトの名無しさん
2011/09/02(金) 20:17:08.41両者の比較を書いているサイトや記事などありましたら教えてください。
0220デフォルトの名無しさん
2011/09/02(金) 20:28:54.93wxWidgetsのススメ
http://up-cat.net/wxWidgets%A4%CE%A5%B9%A5%B9%A5%E1.html
0221デフォルトの名無しさん
2011/09/02(金) 23:04:35.910222デフォルトの名無しさん
2011/09/02(金) 23:29:46.37スタティックライブラリはできたけど、DLL版は全然ビルドできないわ、サンプルはデバッグ
ライブラリ用になってるからいちいち直さないといけない&直しても同じリソースがどうたら
でビルドできんし、Qtにいくわ
0223デフォルトの名無しさん
2011/09/03(土) 00:34:44.800224デフォルトの名無しさん
2011/09/03(土) 01:05:50.35結局添付されていたVC2008用のプロジェクトファイルがうんこで、VC6用の奴を変換して
ビルドしたらうまくいきましたわ
サンプルも同じでVC6用の奴を変換してビルドすると正常にビルドできました
悪口いってすまん、けどビルドできないVC2008用プロジェクトファイルって罠じゃないのか
0225デフォルトの名無しさん
2011/09/03(土) 10:36:44.010226デフォルトの名無しさん
2011/09/03(土) 11:45:57.63ので、そうしてました。
お騒がせして申し訳ないついでに実は開発版の2.9.2をビルドしようとしてたみたいで、俺死にたい...
というより氏ね>俺
0227デフォルトの名無しさん
2011/09/03(土) 12:10:03.39gccの方がすんなり行くんじゃないかなぁ。
0228デフォルトの名無しさん
2011/09/03(土) 18:49:10.70たまたまVC入ってたからVCでやってたけど、MinGの方が捗るの?
0229デフォルトの名無しさん
2011/09/03(土) 20:59:18.77VCのことは知らないけどMinGWだと普通に2.9.2コンパイルできたし
コーディングの効率を考えるとVCのオートコンプリート機能が使えたら楽かもしれんが、たぶん出来んだろうしな
0230デフォルトの名無しさん
2011/09/03(土) 21:56:21.73VCでいい。
0231デフォルトの名無しさん
2011/09/04(日) 17:11:05.31悩んでた、.aで正しいのにwww
アホすぎる俺
しかしwxWidgetsいいね、コントロールは揃ってるし、ドッキングもできる、開発版にすればリボンもどきも
使えるし、wxFormBuilder使えばGUIで画面組み立てられるし、とりあえず満足できる環境だし
0232デフォルトの名無しさん
2011/09/04(日) 19:07:07.57VC++2008でビルドしたサンプルauidemo.exeは6073KB、MinGWでは9761KB、stripかけて6645KBだった
どちらもデバッグなしのリリース版なんだけど、MinGWの方がでかくなるのね
Dumpbinで依存DLL調べてみたら、VC++2008の方は標準DLLのみでVCランタイム依存もなし
かたやMinGWはやり方が悪いのだろうけどlibgcc_s_dw2-1.dll、libstdc++-6.dllに依存してた
VC++2008の方が優秀な気がする
0233デフォルトの名無しさん
2011/09/04(日) 19:22:45.46MSYS上から、
g++ -static -o test.exe test.cpp `wx-config --cxxflags` `wx-config --libs`
こうかな?
-staticオプションつければOKのはず。
以下、wxをビルドしたときの設定。MinGW-w64でもいけました。
./configure --with-opengl --enable-ipv6 --disable-shared --disable-monolithic --enable-unicode --enable-official_build --disable-threads --prefix=/mingw
0234デフォルトの名無しさん
2011/09/04(日) 19:51:43.280235デフォルトの名無しさん
2011/09/04(日) 19:52:42.860236デフォルトの名無しさん
2011/09/04(日) 21:11:45.91アホな俺にわざわざありがとう!
もう1回試してみます!
0237デフォルトの名無しさん
2011/09/04(日) 22:39:22.73なるほど人によるなあ。
俺なら「わざわざVC使わんでも、MinGでいい」って発想になるわ。
0238デフォルトの名無しさん
2011/09/04(日) 23:30:54.03ライブラリも作成し直し、サンプルもビルドし直しましたがサイズは6621KBでした
あとDLL依存はとれないのですね
0239デフォルトの名無しさん
2011/09/05(月) 00:04:36.25同意。
UNIX文化的には、gccが「標準」でVCは「非標準」って認識だからなぁ。
自分で何か書く時とか、「自分はgccしか使わないけど、Win使いのためにVCもサポートしてやるか」ってレベル。
0240デフォルトの名無しさん
2011/09/05(月) 00:32:26.75何がデフォで何がわざわざなのかが違うってことで。
で、wxそのものがUNIX文化なんだよな。
0241デフォルトの名無しさん
2011/09/05(月) 12:01:41.27サンプルはそのままビルドするとDLL依存になるとおもう。
cd samples
make "LDFLAGS = -static"
こんな感じでいかかでしょ。
0242デフォルトの名無しさん
2011/09/05(月) 19:03:01.60いや、自分でmakeファイルに-static直書きしたけど駄目でした
まぁ、なんか勘違いしてるか頭がアホなんて理解できてないだけでしょう
とりあえずVCでも問題ないのでVCでやります、いろいろありがとうございました
0243デフォルトの名無しさん
2011/09/05(月) 19:16:34.99がんがれ。
ただ、オープンソース系のライブラリを今後使っていくんなら
いずれにしてもgcc系の流儀とかも覚えておいた方がいいと思うよ。
0244デフォルトの名無しさん
2011/09/06(火) 00:10:08.28pushd build\msw
nmake -f makefile.vc BUILD=debug UNICODE=1 USE_GDIPLUS=1 SHARED=1 RUNTIME_LIBS=dynamic
popd
こんな感じでいいんじゃね
あと2.9.2はstableじゃないけどいいの?
0245デフォルトの名無しさん
2011/09/10(土) 20:25:18.76http://www.dotup.org/uploda/www.dotup.org2004935.jpg
こういうよくある(名前、種類、ディレクトリ、サイズ)みたいなのを
表示したいんですがヴィジェットは何を使ったらいいでしょうか?
できれば画像のように名前のところの矢印みたいなのを付けたいのと
項目の順番をD&Dで入れ替えたり表示、非表示をポップアップメニューで行いたいです。
項目にはDBのカラムを割り当てたいと思っています。
0246デフォルトの名無しさん
2011/09/10(土) 20:38:38.06なんでいつも質問した後は簡単に見つかるんだろう…
0247デフォルトの名無しさん
2011/09/10(土) 23:30:44.520248デフォルトの名無しさん
2011/09/11(日) 23:37:25.340249デフォルトの名無しさん
2011/09/20(火) 23:30:06.13これ使って書いたプログラムってソースコード開示する必要あるの?
教えてエロい人!!
0250デフォルトの名無しさん
2011/09/22(木) 08:11:29.040251デフォルトの名無しさん
2011/09/22(木) 12:00:14.060252デフォルトの名無しさん
2011/09/22(木) 18:59:22.32ところで組み込み用のwxWidgetsとかないんだろうか。
0253デフォルトの名無しさん
2011/09/23(金) 14:09:14.39試しにググッたら意外と出てこなかったので教えてやるでおじゃる
http://web.archive.org/web/20080919161353/http://www.geocities.co.jp/SiliconValley-Cupertino/8526/wxWindows/license.html
http://ms2.seesaa.net/article/3184354.html
0254デフォルトの名無しさん
2011/09/23(金) 20:06:16.470255デフォルトの名無しさん
2011/09/23(金) 21:55:11.240256デフォルトの名無しさん
2011/09/23(金) 22:27:50.660257デフォルトの名無しさん
2011/09/23(金) 23:34:52.13http://www.wxwidgets.org/about/newlicen.htm
"wxWindows Licence"で配布されていて、
ソースコード開示の必要はないというのが一応の答えかな
0258デフォルトの名無しさん
2011/09/24(土) 22:07:43.51wxWidgetsマニュアルにある Syntax of the builtin regular expression library の邦訳です。
拙作ソフト説明書の一部になっていますが、この頁の訳文に関してはご利用自由です。ただし独自訳多数。
http://h12u.com/hmo2/manual/%E8%A8%AD%E5%AE%9A%E7%AA%93%E5%8F%A3/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE%E6%96%87%E6%B3%95.html
0259デフォルトの名無しさん
2011/09/24(土) 22:23:14.63乙です
てかwxWidgetsにも正規表現ライブラリあったんだな
0260デフォルトの名無しさん
2011/09/24(土) 23:40:22.99正格表現って初めて見たが、正則表現ではなくて?
POSIXブラケットのうち、[. .] [= =] [:<:] [:>:]とかって他のライブラリじゃほとんど見ないな。
[[=A=]]ってAやÄなどにマッチするんだっけ?
0261デフォルトの名無しさん
2011/09/25(日) 20:52:38.34ご指摘Thx. 直しておきました。どこで間違ったんだろう。
> [[=A=]]ってAやÄなどにマッチするんだっけ?
建前としてはそうなるはずだけど誰も実装してないとか何とか。よく知らないですが。
調べてみたら [. .] と [= =] の訳文はかなりおかしい気がしてきた。
0262デフォルトの名無しさん
2011/09/26(月) 21:03:37.52ってかくと顔文字っぽい。
0263デフォルトの名無しさん
2011/09/27(火) 09:53:24.700264デフォルトの名無しさん
2011/09/27(火) 20:16:50.72>>263
実は私もよく知らない。
0265デフォルトの名無しさん
2011/09/27(火) 23:02:57.780266デフォルトの名無しさん
2011/09/27(火) 23:05:37.07POSIX(ポジックス パーズィックス、Portable Operating System Interface)とは、
異なる実装のUNIX OSを始めとする各種OSに共通のAPIを定め、移植性の高い
アプリケーションソフトウェアの開発を容易にすることを目的としてIEEEが策定した
アプリケーションインタフェイス規格である。
0267デフォルトの名無しさん
2011/09/28(水) 21:35:43.220268デフォルトの名無しさん
2011/09/29(木) 14:42:15.49ザックリとでよければ「UNIX互換」くらいに考えておけば良い。
0269デフォルトの名無しさん
2011/11/08(火) 17:30:42.91勉強中です。
http://wiki.codeblocks.org/index.php?title=WxSmith_tutorialsの1-7までは実行してみました。
そんなレベルなのですが、ディレクトリ内のファイル名を一覧でcsvにだせるところまでを目標に
しています。
void filenameFrame::OnButton1Click(wxCommandEvent& event)
{
wxString CurrentDocPath;
wxString Filename;
wxArrayString Filenames;
wxString GetDirectory;
wxFileDialog* OpenDialog = new wxFileDialog(
this,wxEmptyString,wxEmptyString,wxEmptyString,wxEmptyString,wxFD_MULTIPLE,wxDefaultPosition);
if (OpenDialog->ShowModal() == wxID_OK)
{
CurrentDocPath = OpenDialog->GetPath();
Filename << OpenDialog->GetFilename();
GetDirectory << OpenDialog->GetDirectory();
Filenames << OpenDialog->GetFilenames[0];
TextCtrl1->SetLabel(CurrentDocPath);
TextCtrl2->SetLabel(Filename);
TextCtrl3->SetLabel(GetDirectory);
TextCtrl4->SetLabel(Filenames);
}
OpenDialog->Destroy();}
0270デフォルトの名無しさん
2011/11/08(火) 17:42:09.03C:\C\FILENAME\filenameMain.cpp|140|error: conversion from 'wxArrayString*' to 'const wxString' is ambiguous|
C:\wxWidgets2.8\include\wx\string.h|692|note: candidates are: wxString::wxString(wxChar, size_t) <near match>|
コンパイルすると、このようなメッセージが表示されます。
以下の行を削除すると、正常にコンパイルが通ります。
wxArrayString Filenames;
Filenames << OpenDialog->GetFilenames[0];
wxArrayString Filenames;
wxFiledialogで複数ファイルを選択した場合には、配列?を使用しないといけないような気がするので、多分wxArrayStringを使わないとだめかと
思いいれてみました。
配列?なのでGetFilenames[0]といれれば複数ファイルを選択した場合に一番最初のファイル名が入る認識でしたが間違っているようです・・・
複数ファイルの選択と、複数のファイル名の取得方法を検索したのですが、サンプルなどを見つけることができませんでした。
どこが間違っているか教えてください。
0271デフォルトの名無しさん
2011/11/08(火) 18:28:13.72最後の行
OpenDialog->Destroy();}
中括弧が全角になってるなあ
てかこれ全コードじゃないよね
0272デフォルトの名無しさん
2011/11/08(火) 20:52:59.24"File operations->Open files"というのがある。
0273デフォルトの名無しさん
2011/11/08(火) 21:01:42.80レスありです。全コードではありません。
改行などを削除しています。
wxSmithで作成していますので、どのようなソースが必要になりますか?
プロジェクトフォルダを見ると、bin/obj/wx_pch.h.gch/wxsmithフォルダと
filename.cbp/filename.depend/filename.layout/filenameApp.cpp/filenameApp.h/filenameMain.cpp/filenameMain.h/resource.rc/wx_pch.hファイルがあります。
filenameMain.cppの内容は以下のとおりです。
/***************************************************************
* Name: filenameMain.cpp
* Purpose: Code for Application Frame
* Author: ()
* Created: 2011-11-08
* Copyright: ()
* License:
**************************************************************/
#include "wx_pch.h"
#include "filenameMain.h"
#include <wx/msgdlg.h>
//(*InternalHeaders(filenameFrame)
#include <wx/intl.h>
#include <wx/string.h>
//*)
//helper functions
enum wxbuildinfoformat {
short_f, long_f };
wxString wxbuildinfo(wxbuildinfoformat format)
0274デフォルトの名無しさん
2011/11/08(火) 21:03:08.95wxString wxbuild(wxVERSION_STRING);
if (format == long_f )
{
#if defined(__WXMSW__)
wxbuild << _T("-Windows");
#elif defined(__UNIX__)
wxbuild << _T("-Linux");
#endif
#if wxUSE_UNICODE
wxbuild << _T("-Unicode build");
#else
wxbuild << _T("-ANSI build");
#endif // wxUSE_UNICODE
}
return wxbuild;
}
//(*IdInit(filenameFrame)
const long filenameFrame::ID_BUTTON1 = wxNewId();
const long filenameFrame::ID_TEXTCTRL1 = wxNewId();
const long filenameFrame::ID_BUTTON2 = wxNewId();
const long filenameFrame::ID_TEXTCTRL2 = wxNewId();
const long filenameFrame::ID_BUTTON3 = wxNewId();
const long filenameFrame::ID_TEXTCTRL3 = wxNewId();
const long filenameFrame::ID_BUTTON4 = wxNewId();
const long filenameFrame::ID_TEXTCTRL4 = wxNewId();
const long filenameFrame::ID_PANEL1 = wxNewId();
//*)
0275デフォルトの名無しさん
2011/11/08(火) 21:04:37.12//(*EventTable(filenameFrame)
//*)
END_EVENT_TABLE()
filenameFrame::filenameFrame(wxWindow* parent,wxWindowID id)
{
//(*Initialize(filenameFrame)
wxFlexGridSizer* FlexGridSizer1;
Create(parent, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("wxID_ANY"));
FlexGridSizer1 = new wxFlexGridSizer(0, 3, 0, 0);
Panel1 = new wxPanel(this, ID_PANEL1, wxDefaultPosition, wxSize(560,106), wxTAB_TRAVERSAL, _T("ID_PANEL1"));
Button1 = new wxButton(Panel1, ID_BUTTON1, _("Label"), wxPoint(8,24), wxSize(72,24), 0, wxDefaultValidator, _T("ID_BUTTON1"));
TextCtrl1 = new wxTextCtrl(Panel1, ID_TEXTCTRL1, _("Text"), wxPoint(104,24), wxSize(456,22), 0, wxDefaultValidator, _T("ID_TEXTCTRL1"));
Button2 = new wxButton(Panel1, ID_BUTTON2, _("Label"), wxPoint(8,48), wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON2"));
TextCtrl2 = new wxTextCtrl(Panel1, ID_TEXTCTRL2, _("Text"), wxPoint(104,48), wxSize(456,22), 0, wxDefaultValidator, _T("ID_TEXTCTRL2"));
Button3 = new wxButton(Panel1, ID_BUTTON3, _("Label"), wxPoint(8,72), wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON3"));
TextCtrl3 = new wxTextCtrl(Panel1, ID_TEXTCTRL3, _("Text"), wxPoint(104,72), wxSize(456,22), 0, wxDefaultValidator, _T("ID_TEXTCTRL3"));
Button4 = new wxButton(Panel1, ID_BUTTON4, _("Label"), wxPoint(8,96), wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON4"));
0276デフォルトの名無しさん
2011/11/08(火) 21:05:18.62FlexGridSizer1->Add(Panel1, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0);
SetSizer(FlexGridSizer1);
FlexGridSizer1->Fit(this);
FlexGridSizer1->SetSizeHints(this);
Connect(ID_BUTTON1,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&filenameFrame::OnButton1Click);
//*)
}
filenameFrame::~filenameFrame()
{
//(*Destroy(filenameFrame)
//*)
}
void filenameFrame::OnQuit(wxCommandEvent& event)
{
Close();
}
0277デフォルトの名無しさん
2011/11/08(火) 21:06:07.61{
wxString msg = wxbuildinfo(long_f);
wxMessageBox(msg, _("Welcome to..."));
}
void filenameFrame::OnButton1Click(wxCommandEvent& event)
{
wxString CurrentDocPath;
wxString Filename;
wxArrayString Filenames;
wxString GetDirectory;
wxFileDialog* OpenDialog = new wxFileDialog(
this,wxEmptyString,wxEmptyString,wxEmptyString,wxEmptyString,wxFD_MULTIPLE,wxDefaultPosition);
if (OpenDialog->ShowModal() == wxID_OK)
{
CurrentDocPath = OpenDialog->GetPath();
Filename << OpenDialog->GetFilename();
GetDirectory << OpenDialog->GetDirectory();
//Filenames << OpenDialog->GetFilenames[0];
TextCtrl1->SetLabel(CurrentDocPath);
TextCtrl2->SetLabel(Filename);
TextCtrl3->SetLabel(GetDirectory);
//TextCtrl4->SetLabel(Filenames);
}
OpenDialog->Destroy();
}
0278デフォルトの名無しさん
2011/11/08(火) 21:58:12.30こんな感じです。
配列・ポインタなど、マニュアルを目を通したのですが、完全に理解していません。
とりあえず色々さわりながら理解していこうかと考えています。
>>272
ありがとうです。
sampleフォルダの中のですね。
当初この中を探したのですが、wxSmithでのプロジェクトがなかったのであきらめていました。
dialogs.cppの790行目からそれらしい記載があったので参考にしてみます。
ありがとうでした。
0279デフォルトの名無しさん
2011/11/08(火) 22:45:02.830280デフォルトの名無しさん
2011/11/09(水) 07:33:07.56長いときはcodepadとかideone使おうぜ・・
0281デフォルトの名無しさん
2011/11/09(水) 08:19:10.740282デフォルトの名無しさん
2011/11/09(水) 14:01:41.90そのような場所があるとは知りませんでした。
次からそうします。
スレ汚しすみませんでした。
あと、/sample/dialogs/dialogs.cppの該当部分を、コピペしただけで複数ファイルの選択と、表示ができました。
意味を調べながら理解していきます。
ありがとうでした。
0283デフォルトの名無しさん
2011/11/09(水) 17:58:05.53まあがんがれや
0284デフォルトの名無しさん
2011/11/22(火) 02:03:10.37端末より
g++ -c foo.cpp `wx-config --cppflags`
という形でコンパイルしてみてもエラーが出ます。
コンパイルに失敗したサンプルソースはlistbox.cppとlisttest.cppです。
なにかコンパイル時に指定しなければいけないファイルなどがあるのでしょうか?
どなたか教えてください
0285デフォルトの名無しさん
2011/11/22(火) 07:25:11.040286デフォルトの名無しさん
2011/11/22(火) 12:20:24.62エラーメッセージ貼ってよね!
0287284
2011/11/22(火) 16:11:40.78早速の返信ありがとうございます。
僕が変な勘違いをしてない限りwxはインストール済みだと思います。
>>1のリンクにある
wxWindowsで始めるC++ GUIプログラミング
ttp://www.h3.dion.ne.jp/~k5_n/wxwin/
wxWidgets でクロスプラットフォーム GUIアプリを作ろう
ttp://0xcc.net/pub/uu-2004-08/
に書かれている簡単なソースや、自分で作った幾つかのソースは動きますので。
>>286
返信ありがとうございます。
今すぐにエラーを貼るのは難しいので、数時間後にまた貼らせて頂きます。
0288284
2011/11/22(火) 21:45:18.75makefile.gccはmakeコマンド自体が失敗していたようなので、環境の違いが原因だと思います。
以下、listtestのmakefile.unxに対するエラーの一部(エラーが167行もあるため省略します。)です。
In file included from listtest.cpp:48:0:
listtest.h:29:34: エラー: ISO C++ では型の無い ‘wxDECLARE_NO_COPY_CLASS’ の宣言を禁止しています [-fpermissive]
listtest.h:96:39: エラー: ISO C++ では型の無い ‘wxDECLARE_NO_COPY_CLASS’ の宣言を禁止しています [-fpermissive]
listtest.h:189:36: エラー: ISO C++ では型の無い ‘wxDECLARE_NO_COPY_CLASS’ の宣言を禁止しています [-fpermissive]
listtest.cpp:73:19: エラー: ‘wxIntPtr’ was not declared in this scope
listtest.cpp:73:35: エラー: ‘wxIntPtr’ was not declared in this scope
listtest.cpp:73:51: エラー: ‘wxIntPtr’ was not declared in this scope
listtest.cpp:73:78: エラー: expression list treated as compound expression in initializer [-fpermissive]
listtest.cpp:74:1: エラー: expected ‘,’ or ‘;’ before ‘{’ token
listtest.cpp: コンストラクタ ‘MyFrame::MyFrame(const wxChar*)’ 内:
listtest.cpp:194:50: エラー: オーバーロードされた ‘wxIcon(const char* const [37])’ の呼び出しは曖昧です
listtest.cpp:194:50: 備考: 候補:
/usr/include/wx-2.8/wx/generic/icon.h:35:5: 備考: wxIcon::wxIcon(const wxString&, wxBitmapType, int, int) <near match>
/usr/include/wx-2.8/wx/generic/icon.h:35:5: 備考: 第 1 引数を ‘const char* const [37]’ から ‘const wxString&’ へ変換する方法が不明です
/usr/include/wx-2.8/wx/generic/icon.h:31:5: 備考: wxIcon::wxIcon(char**, int, int) <near match>
/usr/include/wx-2.8/wx/generic/icon.h:31:5: 備考: 第 1 引数を ‘const char* const [37]’ から ‘char**’ へ変換する方法が不明です
/usr/include/wx-2.8/wx/generic/icon.h:30:5: 備考: wxIcon::wxIcon(const char**, int, int) <near match>
0289デフォルトの名無しさん
2011/11/22(火) 22:33:02.64インストールしてるwxWidgetsとサンプルのバージョンは同じ?
そもそもインストールはどうやってしたの?
パッケージから入れたの? それともソースからビルドしたの?
とまあ、気になる点はいろいろですが、
とりあえずパッケージからwxWidgetsの開発環境をインストールして、
同じバージョンのサンプルをコンパイルするのは、
最初に書かれてる方法で普通にできます。
ソースからビルドすれば付属してるサンプルも一緒にコンパイルしてくれるはずです。
0290デフォルトの名無しさん
2011/11/23(水) 00:13:32.17そのエラーメッセージは最初の方は含まれてる?
wxのincludeが読み込めてないように思える。includeのエラーが最初にないかい?
0291デフォルトの名無しさん
2011/11/23(水) 03:07:47.66makefile.gccはMinGW用のMakefileじゃなかったっけ?
make -f <対象のMakefile> でだいたい行けるはず
0292デフォルトの名無しさん
2011/11/23(水) 03:19:45.38�@wxWidgetsのソースダウンロード
�A./configure <- 自分が欲しいオプション ->
�Bmake && make install
�Csamplesフォルダにあるソースコードを「make」コマンドでコンパイル
で終わるはずなんだがなあ
0293デフォルトの名無しさん
2011/11/23(水) 07:52:23.630294デフォルトの名無しさん
2011/11/23(水) 15:36:30.36大丈夫、慣れたらできる(マゾ)
0295デフォルトの名無しさん
2011/11/23(水) 15:48:53.79しかもよく見たらコマンド間違えてるな
× g++ -c foo.cpp `wx-config --cppflags`
○ g++ -c foo.cpp `wx-config --libs` `wx-config --cxxflags` -o foo
ライブラリにリンクしてないから実行ファイルができてない可能性が
0296デフォルトの名無しさん
2011/11/23(水) 21:59:05.34wxDev-C++
http://wxdsgn.sourceforge.net/
みたいなのもあるから暇なときに試してみたら?
VC++でやるよりは楽かも…、しれません。
0297デフォルトの名無しさん
2011/11/24(木) 00:18:52.26やっぱvc版インストしてvcの統合環境でやったほうがデバッグは楽だよ
使うまではdevCのパッケ導入が楽かも知れんけどw
(最近はc#が色々楽すぎるんでwx自体全然使って無いけど・・・)
0298デフォルトの名無しさん
2011/11/24(木) 06:38:20.300299デフォルトの名無しさん
2011/11/24(木) 14:16:50.310300284
2011/11/28(月) 13:24:44.41>>289
よくわからないうちからいろいろなサイトをまわって色々試してたせいで若干記憶が曖昧で申し訳ないのですが、インストールは確かパッケージから入れたと思います。
サンプルのバージョンが2.9.2なのですが、コンパイルエラーを見る限り、2.8のライブラリを読んでいるみたいなので、安定版と最新版を両方入れてたみたいです。
改めて2.8.12を公式から落としてきて、そのサンプルでコンパイルしてみたらうまくいきましたので、ご指摘の通りサンプルとwxWidgetsのバージョンが違ったみたいです。ありがとうございました。
>>290
エラーメッセージは先頭の部分でした。ありがとうございました。
>>291
そうみたいですね。makefile.unxでうまくいきました。ありがとうございました。
>>295
今まで下記サイトを参考に
http://0xcc.net/pub/uu-2004-08/
% g++ -c hello.cpp `wx-config --cppflags`
% g++ -o hello hello.o `wx-config --libs`
というようにコンパイルしてたんですけど良くなかったでしょうか。
0301デフォルトの名無しさん
2011/11/28(月) 19:19:16.59> 今まで下記サイトを参考に
> http://0xcc.net/pub/uu-2004-08/
>
> % g++ -c hello.cpp `wx-config --cppflags`
> % g++ -o hello hello.o `wx-config --libs`
>
> というようにコンパイルしてたんですけど良くなかったでしょうか。
それならOK、コマンド1行でやるか2行でやるかの違い
ただ wx-config --cppflagsとwx-config --libsが何を表しているのか
includeとかlibってどういうものなのかググって意味を考えたほうがいいよ
0302デフォルトの名無しさん
2011/12/05(月) 19:16:58.26wxUSE_ACCESSIBILITYを有効にしようと思ってファイル検索したら大量にかかったので幾つか内容を変更してみても有効にならなかったので。
0303デフォルトの名無しさん
2011/12/05(月) 19:26:14.75ソースからビルドした方がいいと思われ
0304デフォルトの名無しさん
2011/12/05(月) 19:31:56.85ありがとう。ソースから入れなおしてみる。
0305デフォルトの名無しさん
2011/12/05(月) 19:45:40.51Linuxでは通常はソースのパッケージが別に用意されてるよ。
ディストリによるけど後ろに-develみたいなのがついたパッケージ
を入れるとソースが入る。
0306デフォルトの名無しさん
2011/12/05(月) 21:19:08.30そのレスを見る前に入れなおしてしまった…教えてもらったのに申し訳ないです。
オプションの切り替えは結局setup.hをいじれば良いのでしょうか?
0307デフォルトの名無しさん
2011/12/05(月) 21:34:18.68./configure -h で付けられるオプションが見れるからやってみ、その中にwxUSE_ACCESSIBILITYも入ってるだろう
0308デフォルトの名無しさん
2011/12/05(月) 21:38:07.80--enable-accessibility enable accessibility support
あったあった。何に使うのかわからんけどどうぞ。
0309デフォルトの名無しさん
2011/12/06(火) 11:00:02.97何から何まですみません。
0310255
2011/12/06(火) 11:57:28.16For details on the semantics of functions and types, please refer to the Microsoft Active Accessibility 1.2 documentation.
とか、
Availability: only available for the wxMSW port.
とかあるけどlinuxで意味あるのか?
0311デフォルトの名無しさん
2011/12/06(火) 14:11:37.79下のサイト
http://www14.ocn.ne.jp/~bkclass/doc_wxsamples.html
を見て、サンプルのソース実行して勉強してたんですけど、accessっていうサンプルをコンパイルして実行をしようとすると、
"This sample has to be compiled with wxUSE_ACCESSIBILITY"
というメッセージが出たので、
Windowsのみ本体のwxUSE_ACCESSIBILITYを1にする、とは書いてあったんですが、動いてないということはLinuxでも必要なのかと勝手に思い込んでこちらで聞いてみたんですが、やっぱりLinuxでは意味が無いんでしょうか…
0312311
2011/12/06(火) 14:27:45.09こちらでもマニュアルを確認したら、accessはWindowsのみと書いてありました。
今度からはマニュアルを良く読んで、わからなかったらこちらで聞きたいと思います。
自分自身でもあんまりにゆとりすぎて反省してます…。
みなさん大変ご手数をおかけしました。
0313デフォルトの名無しさん
2011/12/07(水) 15:35:36.350314デフォルトの名無しさん
2011/12/07(水) 19:17:24.24あとC++のGUIライブラリで有名で日本語ドキュメントがあるのはQtとかgtkだろうからさらにやる人は減る
最後にwxWidgetsは英語の知識とC++のオブジェクト指向がわかってないとできないから挫折する人も多いだろう
とゆとりが言ってみる
0315デフォルトの名無しさん
2011/12/07(水) 20:24:22.320316デフォルトの名無しさん
2011/12/11(日) 22:40:24.44■ このスレッドは過去ログ倉庫に格納されています