[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 12/05 01:38 / Filesize : 262 KB / Number-of Response : 969
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【GUI】wxWidgets(旧wxWindows) その3【サイザー】



1 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 00:06:30 ]
クロスプラットフォーム GUI ライブラリの wxWidgets (旧 wxWindows)について語りましょう。

本家
 www.wxwidgets.org/
wxWindows日本語プロジェクト
 wxwindowsjp.sourceforge.jp/
Let's wxWidgets
dot-gray.s33.xrea.com/
(*)準備中(*)
www.geocities.co.jp/SiliconValley-Cupertino/8526/
wxWindowsで始めるC++ GUIプログラミング
www.h3.dion.ne.jp/~k5_n/wxwin/
wxWidgets でクロスプラットフォーム GUIアプリを作ろう
namazu.org/~satoru/pub/uu-2004-08/
dW : Linux : wxWindowsの概要
 www-6.ibm.com/jp/developerworks/linux/010413/j_l-wxwin.html
SunWorld Online:wxWindows――無名だが成熟したGUIツールキット
 www.idg.co.jp/sw/back/200102/20010219_01_report.html

360 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:22:29 ]
英語つっても文学作品じゃないんだから嵩が知れてるでしょ。
やっぱりデカイのが痛い。

361 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:33:18 ]
>>360
デカイと痛いのか。。。

力を抜けよ。

362 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:43:01 ]
Turbo C++ で十分

363 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:45:43 ]
アッー!

364 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:45:59 ]
>>361
いやまて、チ○コじゃなくて、オパーイかも知れんぞ。

365 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 22:22:07 ]
>>364
そっちだって、でかいとジャンプするだけで痛いよ?

366 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 23:01:20 ]
>>359
それはつまり,C++を理解できてない人が打ちのめされたあげく,
Cだけで書こうと思い立つもCすらよく理解できていないからハンドラの扱いが
よくわからなくてWinAPIのサンプルをコピペしてダイアログ作って
テキストボックスに身長を入力したら標準体重を表示するだけの
プログラムの計算ルーチンだけを書いていたら頭の中でガリガリなった
ような気がする状態のことですね。あるある。

367 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 01:46:53 ]
wxScintillaの内部で利用しているScintillaをさ1.62から
1.71以上にしたいんだけど、どうすればいいの?

368 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:07:02 ]
DLLにすればでかくないw
しかしDLLを作るには英語力が必要w



369 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:35:10 ]
メモリに読み込んだらサイズは一緒

370 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:08:22 ]
メモリ量なら.Netは誰にも負けないw

371 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 10:30:44 ]
wxPython使ってるんでサイズ的には只のテキストファイルだ

372 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 20:22:52 ]
py2exe使うとどえりゃーことになるぜ

373 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 20:42:07 ]
パネル一個のアプリが50MBytes超えるしな。

374 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 20:46:30 ]
まじめにDLLとReleaseモードを組み合わせたパターンだと
ランタイム含めても2MBいくかいかないかだけどな
本体はよっぽとすさまじいシステムでもない限りせいぜい500kbくらいか

375 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 21:32:13 ]
>>373
それpy2exeの話?すげーなそれは・・・

376 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 23:21:42 ]
いわば、pythonとwxpythonの本体もまとめてexeに入れてしまうらしいからね

377 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 01:35:24 ]
今どき50MBくらいへでもないじゃん。

378 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 15:39:21 ]
そういう問題じゃないだろ・・



379 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 16:02:13 ]
わざわざPythonを使う理由がわからん
マゾか?w
C++でもJavaでもいいのにw


380 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 19:19:46 ]
その3つの中でPythonしか知らないからだよっ!

381 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 22:34:24 ]
C++ も Java も REPL が無いのが辛い。俺にとってはかなり致命的。
あと C++ は変則的過ぎるから気持ち悪い。

382 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 22:37:38 ]
統制がとれていないのをマルチパラダイム言語とか言ってごまかしてるからな。
俺はそのカオスさも嫌いじゃないが

383 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 23:03:59 ]
ちなみにwxJavaScriptってのもあるぞw

384 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 00:29:48 ]
>>382
あれは、ごまかしてるんじゃない。開き直ってるんだ。

385 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 08:58:48 ]
開き直ってるというのも、ちょっとニュアンス合わないな。
それだと、途中からそう考え出したみたいだから。

C++のあのスタンスは最初からだよ。

386 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 22:21:30 ]
サイズ減らしたいと思ってぐぐってたらこんなの見つけた

ケチケチ wxWidgets
bunysmc.exblog.jp/3647189/


387 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 00:19:53 ]
くだらねーw
てか公式でランタイムのバイナリ配布すればいいのにね

388 名前:デフォルトの名無しさん [2007/05/23(水) 00:13:34 ]
海外品に頼るな!!
国内産を使え!!
自分に合うのがなければ作れ!!



389 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 00:31:34 ]
日本の国産品しか使っちゃいけないくらいなら海外に脱出するよ。

390 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 00:47:17 ]
日本人は馬鹿が多いから無理だな

391 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 01:05:59 ]
ところで
wxURL<wxHTTPはメインスレッドから呼ぶと非同期通信になってGetInputStreamした段階で必ずreturn NULLしやがりますが
イベント登録も無いし、繋がったタイミングを検出する仕組みが一切ないのですが
これは完全にセカンドスレッドで動かすことを想定してこういう仕様にしたのだろうか?
これだけwxWidgetsじゃないような作りになってて使い物にならん

392 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 02:17:48 ]
まともにLinuxで日本語表示できるようにしてくれ

393 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 08:03:41 ]
何年前のLinuxをお使いですか?

394 名前:デフォルトの名無しさん [2007/05/25(金) 00:38:13 ]
なんで、はやらないんだろう?

395 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 00:48:09 ]
>>394
デカイから。

Xcb のラッパーの Xlib のラッパーの Gdk のラッパーの Gtk+ のラッパーな
ライブラリなんて普通は使いたくないでしょ。

396 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 01:03:12 ]
つか未だにUTFとかでゴミはいるだろLinuxでは使えん。

397 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 20:51:34 ]
wxSocketBaseのWaitForRead()するとCPU100%になるんだが
Readでブロックしてしまう前に排他制御したいのでデータの有無を事前に確認したいのだが
このCPU使用率はなんとかできんのか?


398 名前:デフォルトの名無しさん [2007/05/31(木) 10:59:42 ]
これ、MSのSilverLightに食われるんじゃないの?

Windowsは間違いなくそっちの方向へいくし、Macも使えるし、
LinuxはMoonLightでとりあえず自分的にはGTKよりwxWidgetsのほうが
いいなとおもってた口だが、Silverlightのせいでメリットなくなったな。



399 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 15:15:37 ]
SilverLight と wxWidgets が競合するようなものだと思ってるところが凄い…

400 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 17:29:52 ]
「クルマのカタログスペックでやたら語るくせに、免許に1種と2種の区別があることを知らないみたいなもの」だろ。

401 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 18:01:31 ]
例えばある場所からある場所に移動するのに、どの車でどういう行き方をしてるか話し合ってるときに
新幹線が出来ちゃったんでもうその話は終わりだねって感じじゃん?

402 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 18:30:27 ]
そいつは多分新幹線にも車にも乗ったことないから、乗り物にさえ乗ればどこにでもいけると思ってるんだろうな、という話。

403 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 19:50:09 ]
お前らうざいどっかいけ

404 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 20:25:04 ]
Silverlight=アドビ システムズの「Flash Player」に対抗するウェブブラウザ用プラグイン

405 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 13:24:51 ]
ずいぶん前に、公式サンプルのバイナリのサイズがあまりに大きかったので、
WxWidgeに興味がなくなったが、先日v.2.8.4をダウンロードしたら、ずいぶん
サイズが小さくなっている。Windous環境静的リンクで簡単なものなら、EXE
圧縮なしでも1Mくらいになっている。
で、興味がわいてきてお試し中だが、ライブラリが、UNICODEか否か、リンクが
静的か動的か、各OSが準備している部品を使うか否か、Debug版か否か・・
の組み合わせで16種類もあるので、ライブラリ構築にすごく時間がかかった。

406 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 18:01:40 ]
>お願いです。ム板かマ板でやってください。こっちで聞いても泥臭いCocoa使いか
>死亡寸前のPowerPlant使いしか居ません。
>
>日本語での資料の入手のし易さからwxPythonがおすすめかもです。
>本屋でのpython系の本を探ってると結構出てくるし。
>httpはサンプル多いし、GUIもwxPyhtonでそれっぽく造れる。
>
>どっちにしろ、Mac板にはPythonのスキルをもった人間は少ないよ。
>
>ここはMac板です。そうゆう人を隔離するために造られました。
>一掃したら、マカーがPCカテゴリ全体に散らばって収集付かなくなります(>_<)
>
>以下のスレッドでよろしくです。
>
>wxWidgets
>pc11.2ch.net/test/read.cgi/tech/1157727990/
>
>Python
>pc11.2ch.net/test/read.cgi/tech/1181064980/

てわけで、
新人が来るかもしれないので、みなさん準備をしてください。

407 名前:デフォルトの名無しさん [2007/06/15(金) 18:04:25 ]
目立つようにageておきます。
よろしくお願いします。

408 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 20:12:43 ]
新人マダー?



409 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 20:37:28 ]
>>406
何で wx を使えもしない人間が wx がお勧めとか書いてるんだよw
適当な誘導だなあ

410 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 20:46:30 ]
>>409
実際に使ってる人間は勧めたりしないさ…

411 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 23:23:18 ]
使ってるなら勧めるだろw

412 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 00:49:19 ]
流れをぶった切って伺いたい
今MSW版の2.8.4ビルドして、samplesのいくつかをDLL Unicode Releaseの設定でこさえて実行したら
ウイルスバスター2007が警告出しやがったんだが同じ経験した椰子いる?

まぁ、バスタの警告はなんかもう、「俺が知らないプロセスは全部マルウェアだ!!」ってノリに見えるので
それ自体は気にならんけど。

413 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 15:35:16 ]
マニフェスト。

414 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 23:28:28 ]
サンプルの問題では?

415 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 00:16:24 ]
翻訳プロジェクト手伝おうと思うんだけど
管理者の人はまだここを見てるのかな

416 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 12:38:50 ]
みてますが、プロジェクトは死んでます。死なせちゃってごめんなさい。まだこのプロジェクトに割く余力が生まれないので、当分死んだままだと思います。
一人でもいいからやってみる!っていう気概があるなら、メンバーに追加するので、sourceforge.jpのログイン名教えて下さいね。

417 名前:415 mailto:sage [2007/06/26(火) 23:02:44 ]
>>416
「ho-ayn」でお願いします

418 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 06:14:44 ]
追加したよ。



419 名前:415 mailto:sage [2007/06/27(水) 22:44:28 ]
>>418
どうも
とりあえず細々とやっていきます

420 名前:くれくれくん [2007/07/18(水) 00:18:40 ]
すみません、なんでもくれくれ君ですが
WindowsXPノートのHDが暑さでダウン〜。HD交換しましたがシステムが...
間に合わせに日経Linux7月号のDVDからUbuntu7.04日本語版をいれましたが
なかなかいいじゃないですか。
とりあえずLINUXに乗り換えて
前環境を再構築中です(xp+cygwin -> linux)
とりあえずecos cofiguretion tool を動作させたいのですが。
ttp://www.ecoscentric.com/devzone/configtool.shtml
wxWidgetsの実行環境が必要みたいで
ここにたどりつきましたが
簡単インストールはどうすればいいのでしょうか?♪〜
以上くれくれくんでした

421 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 00:44:37 ]
UbuntuだったらSynapticが最初から入ってるじゃないか

422 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 01:34:02 ]
他のスレ見に行ったわけじゃないが明らかにマルチ

423 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 03:19:22 ]
421だけど、ああいうのは無視した方がいいのかな。
あの手のタイプがLinuxに関わっても本人のためにならないとは思うけど。

424 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 01:36:26 ]
>423
本人のためにならない、だけなら自業自得だからいいんジャマイカ。

と、2.8.4 mswでどうにも最小サイズの指定が効かずに四苦八苦しているど素人が言ってみるテスト。

425 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 20:34:20 ]
>>412
DEP

426 名前:デフォルトの名無しさん [2007/08/17(金) 01:53:05 ]
あああ

427 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 14:46:54 ]
release buildの途中でコンパイラが落ちちゃうんですが、ご助言を
デバッグビルドはうまくできました。
---
Win2ksp4
MinGW 5.1.3 (GCC 3.4.2)
MSYS 1.0.10
wxMSW 2.8.4
---
configure --with-msw --disable-debug --disable-shared --enable-unicode
---
/c/dev/wxWidgets/build-release/bk-deps g++ -c -o baselib_datetime.o -D__WXMSW__
-I../src/tiff -I../src/jpeg -I../src/png -I../src/zlib -I../src/regex -I../src/expat/lib
-DwxUSE_GUI=0 -DwxUSE_BASE=1 -I/c/dev/wxWidgets/build-release/lib/wx/include/msw-unicode-release-static-2.8
-I../include -mthreads -Wall -Wundef -Wno-ctor-dtor-privacy -ggdb -O2 -fno-strict-aliasing ../src/common/datetime.cpp
../src/common/datetime.cpp: In function `wxString CallStrftime(const wxChar*, const tm*)':
../src/common/datetime.cpp:265: internal compiler error: in dwarf2out_frame_debug_expr, at dwarf2out.c:1602
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:www.mingw.org/bugs.shtml> for instructions.
make: *** [baselib_datetime.o] Error 1
---

以上です

428 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 16:04:33 ]
あ、427ですが、GCCのバージョンが最新じゃないですね。
バージョンを上げたらエラーが出なくなりました。
MinGWインストールで最新バージョンが入るんじゃなかったのか(´・ω・`)
すんませんでした



429 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 02:27:23 ]
wxWidgetsのGUIデザイナで、MSVC8用のアドインみたいなものってあるんでしょうか?
あれば、金払ってでも欲しいんですが。

430 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 02:54:43 ]
あ、俺もそれ欲しい
できれば無料がいいけど

431 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 23:19:38 ]
過去ログ斜め読みで流れぶったぎりながら聞くんだけどさ、
Windows(MinGW) で wxGraphicsContext のあたりのクラス使えた香具師いない?

コンパイルしようとしたら GDI+ のライブラリがないらしくて、
./configure で --enable-graphics-ctx を指定してもエラーだらけだよう。

ちょろちょろぐぐってんだけど、MinGW で GDI+ となると情報見つからないし……助けてー。


432 名前:デフォルトの名無しさん mailto:sage [2007/08/28(火) 21:56:13 ]
up.nm78.com/dl/32942.jpg

433 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 13:51:53 ]
>>432
グロ注意

434 名前:デフォルトの名無しさん [2007/09/01(土) 12:55:46 ]
Code::Blocks使ってる方いますか?
結構よさげだと思い、wxGladeから移転したいのですが、
xrcのインポートの仕方が分かりません。
知っている方いましたら教えて下さい。お願いします。

435 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 22:48:13 ]
wxPerlのwxHTMLwindowに関して、非常に初歩的ですが質問させてください
(環境:win xp sp2, active perl 5.8.8, wxPerl)
html形式で文書を表示させるウィンドウを表示させようと思い、wxHtmlWindowを利用しようとしました。
まず、一番シンプルな形でテストしようと思い、wxperlのチュートリアルのただのウィンドウを表示させるスクリプト

use Wx;
package MyApp;
use base 'Wx::App';
sub OnInit {
my $frame = Wx::Frame->new( undef, -1, 'wxPerl rules', [-1, -1], [250, 150], );
$frame->Show( 1 );}
package main;
my $app = MyApp->new;
$app->MainLoop;

これをwxHtmlWindowに置き換えてみました。(続きます)

436 名前:435 mailto:sage [2007/09/10(月) 22:49:35 ]
use Wx;
package MyApp;
use base 'Wx::App';
sub OnInit {
my $frame = Wx::wxHtmlWindow -> new( undef, -1, [-1, -1], [250, 150], wxHW_SCROLLBAR_AUTO , "htmlWindow", );
$frame->Show( 1 );}
package main;
my $app = MyApp->new;
$app->MainLoop;

このスクリプトを実行しようとするとエラーメッセージで
Can't locate object method "new" via package "Wx::wxHtmlWindow"(perhaps you
forgot to load"Wx::wxHtmlWindow"?) at (スクリプトのファイル).pl
と表示されます。

ファイルのはじめにwxHtmlWindowを呼び出す必要があるのかと思い、
" use Wx::wxHtmlWindow ; " を足すと 
Can't locate Wx/wxHtmlWindow.pm in @INC (@INC (モジュールの置き場所のパスwx))..
... BEGIN failed--compilation aborted at (スクリプトのファイル).pl
と表示されます。ex自体は正常にインストールされ、これまで問題なく使えていました。wxHtmlWindow特有の
設定などがあるのでしょうか?原因のわかる方がいらしたらアドバイスお願いします。

437 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 05:05:49 ]
>>435
あなたの疑問点とは違うが

> これをwxHtmlWindowに置き換えてみました。(続きます)

ここが既に間違い。wxHtmlWindowはフレームじゃないんで。
他のWindowの中に貼り込むもの。

いきなり見様見真似で突っ込む前にもう少しwxの概念とかを
飲み込んだ方がいいと思う。

438 名前:435 mailto:sage [2007/09/12(水) 02:54:10 ]
>>437
ご指摘のとおり、wxの基本的な部分で勘違いをしていました。親ウィンドウを作って
そのなかにpanelのようにwxHTMLwindowを設定してはりこむのですね。

エラーですがuseの使い方が悪かったようで
ttp://www.opensubscriber.com/message/pdk@listserv.ActiveState.com/2520427.html
とwxPerlのチュートリアルのスクリプトを組み合わせて色々いじってみたら簡単なhtml表示
ウィンドウが出せるようになりました。

wxどころかperlの使い方の基本すらなっていなかったようで、もっと勉強してから書き込むべきでした。



439 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 13:31:59 ]
特に話題もないので初歩的な話もありでは

440 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 18:02:43 ]
話題の枝刈りにこだわるには、ちょいと閑散とし過ぎているからね。

441 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 21:48:42 ]
Open Tech Press | Windows向けFTPの秀作FileZillaがLinuxにも対応
opentechpress.jp/developer/07/09/14/015234.shtml

442 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 00:30:18 ]
FTP なんてコマンドラインやスクリプトでやるもんだと思ってたけど…

443 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 13:54:10 ]
秀丸がlinuxにも対応
と聞いて飛んできますた

が見間違えだった

444 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 23:58:51 ]
wxWidgetsとMySQL一緒に使ってる人いる?

ttp://www.wxwidgets.org/wiki/index.php/ODBC
によるとMySQLのODBCドライバにバグがあるらしいんだけど
ここに書いてあるとおりにしてもサンプルがちゃんと動かないし

直接API使うしかないのかな


445 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 13:44:51 ]
ちょっとしつもん。

wxWidges と OpenGL を組み合わせた無償または有償アプリ
(少なくとも自作部分に関してはソース非公開が前提)
を作るとして、本当だったら、エンドユーザーには
wxWidgets と OpenGL を事前にインストールしてもらわないといけない。
それは面倒なので、インストールしていない環境でもそのまま実行でいるように wxWidgets と OpenGL を組み込んだ状態で
アプリケーションを作成・配布したい(つまり、wxWidgets と OpenGL のDLLを EXEと一緒に配布または販売)んだけど、これってライセンス的に問題ある?

446 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 14:05:59 ]
それぞれのライセンス読もうな。

447 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 15:44:40 ]
FAQ も読めない奴は(・∀・)カエレ!!

Can I use wxWidgets for both proprietary (commercial) projects, and GPL'ed projects?

Yes. Please see the licence for details, but basically you can distribute proprietary binaries without distributing any source code, and neither will wxWidgets conflict with GPL code you may be using or developing with it.
The conditions for using wxWidgets are the same whether you are a personal, academic or commercial developer.

448 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 00:26:11 ]
英語が読めないスーパーハカー



449 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 01:34:39 ]
スーパーハカーと呼ばない

450 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 05:14:10 ]
スーパーバカー

451 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 02:06:20 ]
>450
昨日半徹だたのでちょとフイタw
……いい加減寝よorz

452 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 04:59:01 ]
Can I use wxWidgets for both proprietary (commercial) projects, and GPL'ed projects?
wxWidgetsは商用プロジェクトとGPLプロジェクトの両方で使う事ができますか?

Yes. Please see the licence for details, but basically you can distribute proprietary binaries without distributing any source code, and neither will wxWidgets conflict with GPL code you may be using or developing with it.
はい。詳しくはライセンスを読んでください。
ただ、原則としてあなたの配布物がバイナリ形式(いかなるソースコードも含まない)であり、
なおかつGPLコードが含まれない場合に限ります。

The conditions for using wxWidgets are the same whether you are a personal, academic or commercial developer.
この条件は wxWidget の個人利用、教育利用、商用利用にかかわらず適用されます

。。。みたいなことが書いてあるってことであってる?


453 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 08:27:22 ]
>>452
>but basically you can distribute proprietary binaries without distributing any source code, and neither will wxWidgets conflict with GPL code you may be using or developing with it.

基本的にあなたはいかなるソースコードも配布せずにプロプライエタリなバイナリを配布する事が出来ますし、
wxWidgets はあなたがプログラムの実行や開発に利用するGPL のコードとライセンスの矛盾を起こす事はありません。

454 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 08:36:04 ]
>>452
neither will wxWidgets conflict with ~ は
wxWidgets will not conflict with ~ と読み替えると宜し。

455 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 10:25:13 ]
thx. なるほど、neither ~ の部分はそう訳せば良かったのか。。。
つくづく、学校でちゃんと英語をやっておけば良かったと思うよ。


456 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 08:26:26 ]
GLCanvasつかってるひといる?

これって、一つの frame には GLCanvas しか
配置できないのかな?
frame -> panel -> glcanvas とか、
frame -> gridsizer -> glcanvas + textctrl とか
やろうとすると、フレーム全体が全く描画されなくなってしまう

OpenGLって、コントロール単位ではなく
ウィンドウ単位でしか描画してるのかな?

457 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 11:05:25 ]
2.6時代だけど、普通にsizerに色んな物と一緒に置いても問題なかった

458 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 03:27:37 ]
wxWidgetsは所詮Wrapperだから
普通にOpenGLで多画面出来るかどうかの問題だ
出来るのならプログラムか環境に問題がある



459 名前:デフォルトの名無しさん [2007/10/16(火) 15:06:43 ]
ttp://cc.codegear.com/Item/24937

wxForms - wxWidgets Form Designer for C++ Builder

これってどうよ?

460 名前:デフォルトの名無しさん [2007/10/16(火) 15:54:23 ]
wxDialog based と wxFrame based について教えて下さい。

・1つのプロジェクト(というかmakefile?)ではどちらにするか決定するものでしょうか?
・どう違うのでしょうか?(どちらが良いのでしょうか?)

解説サイトでも何でも良いので教えて下さいorz

461 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 18:29:28 ]
メインがダイアログかフレームかってこと?

462 名前:460 mailto:sage [2007/10/16(火) 18:33:54 ]
そうです。

メイン以外もどうすべきか教えて下さい。

463 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 01:33:37 ]
おれの理解ではメニューバーやステータスバーが欲しければFrame、欲しくなければDialogだ。
どちらがいいとか悪いとかいう問題じゃない。好きなほうにしたらいい。決められないなら鉛筆ころがせ。

464 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 01:59:55 ]
>>460
python.matrix.jp/projects/wxPython/bad-know-how.html


465 名前:460 mailto:sage [2007/10/17(水) 08:39:03 ]
>>463
>>464

そういう内容を知りたかったんです。

この問題は解決しましたが、
1つ1つ問題を解決するの大変orz

Delphiなんかだと、
TFormがウィンドウで、その中に貼り付けるのがTFrameだったりするので、
危うく間違えるところですた。


466 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 09:11:38 ]
>>465
知らないものを触る時はまず付属のサンプルを見た方が良いのでは?
余計なお世話かも知れませんが。

467 名前:デフォルトの名無しさん [2007/10/17(水) 10:47:19 ]
MacでwxWidgetsする場合は、
コンパイラはgccですか?Xcodeですか?

468 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 12:22:55 ]
>>467
Xcodeでgccですよ



469 名前:467 mailto:sage [2007/10/17(水) 18:25:11 ]
あ、XcodeってIDEであってコンパイラは別なんですか。
Eclipseみたいなもんかぁ。

サンクス

470 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 01:29:59 ]
皆さんが、画面を作成するときは、どんなツールを使用していますか?


471 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 07:15:42 ]
テキストエディタ

472 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 10:10:48 ]
紙とペン、鉛筆

473 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 10:11:31 ]
>【A3】C++Builderテクニカルセッション
>「wxFormsで始めるwxWidgetsプログラミング」

こういう答えを希望してるわけ?

474 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 21:07:42 ]
自動生成だといらない物がごちゃごちゃ入り込んで気持ち悪い

475 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 09:08:22 ]
自動生成の要らないものごちゃごちゃに対するアンチテーゼというかアウフヘーベンが、
”クラスライブラリ+IDE”だお。

これだと差分コードしか表れない。

但し、VC++/MFCは除く。

476 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 00:09:58 ]
MFCはAppWizardなしでも使えるよ

477 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 08:52:03 ]
>>476
それって何て手書き?

478 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 18:37:55 ]
>>477
いや、MFCは手書き不可みたいに書いてたから。
手書きMFCなんてやる理由はないとは思うけど。



479 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 22:42:12 ]
クロスプラットフォームで独自形式のrich text editorを作りたいと思ってwxWidgetsを使ってみました。
ちょうどrich textのサンプルあったので動かしてみましたが、これって日本語入力できないですね。
どうやらeditor boxみたいなおネイティブのコントロール使ってる場合はOKなんですが
自力で作るコントロールの場合はそのままでは無理っぽいです。
そのあたりハンドルできる方法ってないですか?
今はWinowsでVC使って動かしています。

このあたりクロスプラットフォームで日本語入力も完璧なのって結局Javaなんですかね・・・
なるべくならC/C++でやりたいと思ってます。
wxWidgets以外にもいい候補あったら教えてください。

480 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 00:27:43 ]
>>479
自分で実装するか、IIIMF とか Anthy とか使ってみるかじゃないかな。

481 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 01:29:40 ]
Windowsって書いてるけど

482 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 01:35:22 ]
クロスプラットフォームって書いてるけど

483 名前:479 mailto:sage [2007/10/29(月) 00:04:53 ]
ありがとうございます。
wxWidgetsだけではやっぱり無理っぽいですね。
インライン入力の制御は面倒なのでできればありもので済ましたいです。

で思いあたったことにマルチプラットフォームといえばOpenOfficeがありました。
あれのtoolkitってどうなってるんですかね。
SDKあるみたいなのでちょっと調べてみます。

484 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 00:10:51 ]
Mozilla も見てみると良いよ。

485 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 01:27:04 ]
Mozillaといえば、wxWidgets本家のScreenShotで上がっている
Kirix StrataがMozillaベースに変わってるっぽい。
ttp://www.kirix.com/index.html
wxAUIは今後も開発とあるけど。

486 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 23:46:59 ]
wxImage::Rescale(w, h, wxIMAGE_QUALITY_HIGH)
が遅すぎて使えないんだけど・・・。
なんかないですか?

487 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 00:29:32 ]
>486
思いつきだがそこはImageMagickに任せてしまうとか。
wxImage <-> ImageMagickのイメージ形式
の変換コストが問題になるほどだとあかんけど。

488 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 00:51:48 ]
>>486
パッと見ただけの実に適当な印象だが。

wxImageはRGB24bitのピクセルデータと、8bitのαチャンネルのデータを
別々に持ってるようだねえ。で、イメージの配列には当然のように
バイト単位でアクセスしている。
ネイティブな形式が例えばAGBRなら、さらにそれをいちいち変換して描画
するんだろうね。

いかにも遅そうだねえ。



489 名前:486 mailto:sage [2007/11/01(木) 01:21:15 ]
>487
>488
レスありがとうございます。

>486
別プロセスで ImageMagick 起動ってことですよね。
たぶんそっちの方がコスト的には高いかと。
うーん。せめて StretchBlt でリサイズしつつメモリに転送とか
できたらいいのに・・・。

490 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 01:29:20 ]
>489
ん? ライブラリリンクしちゃえば、という積もりだったんだけど。
っても今確認したらGPLかぁ > ImageMagick

491 名前:デフォルトの名無しさん [2007/11/01(木) 08:04:20 ]
wxImageは内部が汎用なので、
ポインタで直接処理した後wxBitmapに変換して使用するしかないかと。
画面がリサイズされたときなど必要に応じて最低限の変換で対応するか、
OpenGLあたりを使うほうがよさそう。

492 名前:デフォルトの名無しさん [2007/11/01(木) 15:56:10 ]
>ttp://e-words.jp/w/LGPL.html
>LGPLでは動的な(実行時)リンクに限り、GPL/LGPLに従わないソフトウェアでの利用も許容している。

あれ?
wxWigetsってLGPLだから、静的リンクした場合、ソースを公開しなきゃならないの?


493 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 16:49:00 ]
公開以前に、ライセンスを読んでもいない奴は使うな、が正しい。

494 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 22:11:22 ]
>>492
1. LGPL にソース公開の義務は無い
2. wxWidget は LGPL の制限を緩める為の追加条項を加えたライセンスを採用している
3. 何か契約をする際は必ず原文に目を通した方が良い

495 名前:486 mailto:sage [2007/11/02(金) 01:02:56 ]
>490
大変失礼しました。
ImageMagickのライブラリってあるんですね。勉強不足でしたorz

wxIMAGE_QUALITY_NORMALで写真の画像をリスケール
したところ、思ったよりも画像が崩れなかったので、
しばらくはコレを使おうと思います。

32x32とかのアイコンとかを拡大するとダメダメだけど・・・

496 名前:デフォルトの名無しさん [2007/11/04(日) 14:03:59 ]

ボタンの配置について質問です。

ダイアログで「OK」ボタンと、「キャンセル」ボタンを横並びで表示したいのですが、
縦に並んでしまいます。

どうしたらよいのでしょうか?


497 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 15:11:34 ]
スレタイ嫁

498 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 22:22:30 ]
>496
エスパー初心者がいってみよう

wxHORIZONTAL



499 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 22:50:39 ]
絵スパー初心者二号がテレパシー中

・・・ ・・ ・・ ・ ・・・

ディスプレイを縦にするといいと思うよ。

500 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 01:10:47 ]
日本語マニュアルが中途半端なのがな〜

501 名前:デフォルトの名無しさん [2007/11/06(火) 01:08:10 ]
zipを扱うことができるみたいですが、どうやったらいいのかわかりません。
サンプルを見てもよくわかりません。
ほかにわかりやすいサンプルはありませんか?

サンプル:console.cpp 3238行目

502 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 04:34:48 ]
以前使ったが、別段何を悩むこともなかったぞ。

503 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 00:20:09 ]
これからVC2005EE使って開発する予定なのですが
GtkmmとwxWidgetsのどちらを使うか迷っています
既に両方使ったことのあるかたにアドバイスを
頂きたいのですが

504 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 00:54:22 ]
gtkmm の方が開発してて気持ちいいけど、
wxWidgets の方がアプリを使ってて気持ちいい

505 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 02:01:39 ]
テキストボックスやComboBoxでダブルクリックしたら
これまで打ち込んだやつがヒストリーとして表示するように
したいんだけどこういうのはなんか用意されているでしょうか?

506 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 04:37:15 ]
>>504
すごく分かりやすい説明です
本当にありがとうございました

とりあえず両方やってみます

wxWidgetsで分からないときは
ここを頼りにしていますので
よろしくお願いします


507 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 05:54:31 ]
>>506
> wxWidgetsで分からないときは

なんたらoverview
リファレンス
本体ソースコード
サンプル

の順かなあ、俺が頼りにしたのは。

508 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 03:42:08 ]
>>505
wxBlog見たらver3.0でつきそうな感じだね。



509 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 12:03:09 ]
>>84
1,ゴッドサイザー
2,アステサイザー
3,三ツ矢サイザー
4,グレンサイザー

510 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 13:59:57 ]
wxBlogでの3.0の新機能の説明(英語)がいまいち良く分からんです。
Unicodeがどうのこうのとあるんですが、Unicodeビルドしなくても
デフォルトでUnicodeビルド扱いになるということなんでしょうか?

511 名前:デフォルトの名無しさん [2007/11/14(水) 23:46:59 ]
0xcc.net/pub/uu-2004-08/
このページ見て設定してみたけどコンパイルできません。
wx/wx.h がNo such file or directoryとなりインクルードできないです。
どうしたらよいのでしょうか?


512 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 23:58:01 ]
はい使ってるOSとコンパイラは?

513 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 00:00:09 ]
Windows XPで MinGW 使ってます。


514 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 00:25:15 ]
wx/wx.hがあればいい。それだけ。

515 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 00:36:15 ]
どこにあればいいんですか?
C:\MinGW\includeにはなくて、
C:\msys\1.0\home\Owner\wxMSW-2.8.6\include
にあります。
C:\msys\1.0\home\Owner
にファイルを作りコンパイルしたところできませんでした。

516 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 00:48:08 ]
make install してやってから
`wx-config --cxx` -o hoge.exe hoge.cpp `wx-config --cflags --libs`
みたいにしてコンパイルしれ

517 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 01:01:32 ]
ありがとうございます。できました!
今までやってた
$g++ -c hello.cpp 'wx-config --cppflags'
ではできないみたいですね。


518 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 01:52:51 ]
cppflagsが返すのはCプリプロセッサのためのオプションだぞ



519 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 03:49:16 ]
>>510
・今までANSIとUnicodeの二つのビルドがあったのが、一つになる。
・wx内部では全部Unicodeで処理するが、APIはANSIとUnicode両方が用意される。
・ANSIのAPIは逐一Unicodeにエンコードして処理する。
ってところだと思う。

520 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 05:35:38 ]
>>486
それのプログラム見たらわかるけど効率悪い
自分で組んだ方がいいよ

521 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 05:37:35 ]
wxImageMagickを今開発中のはず
wxImageにラップするようだけど
それを待ってもいいかも

522 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 00:52:43 ]
サイザーの使い方を教えてください。

**********************
*                *
*       A         *
*                *
*                *
**********************
* B  *      C     *
**********************

以上のようなレイアウトで、
 ・縦幅が変化した場合はAのみ
 ・横幅が変化した場合はAとC
それぞれ動かしたいのですが、
いったいどうやってサイザーを設定すればいいのでしょうか?
よろしくお願いします。

523 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 01:32:23 ]
>>522
試してないけどこんなんでどう?

wxSizer *root = new wxBoxSizer(wxVERTICAL);
root->Add(A, 1, wxEXPAND);

wxSizer *sub = new wxBoxSizer(wxHORIZONTAL);
sub->Add(B, 0, 0);
sub->Add(C, 1, 0);
root->Add(sub, 0, wxEXPAND);

SetSizerAndFit(root);

BoxSizerの指定方向に対しては、Add()のproportionを1以上にするとサイズ変更される。
もう一つの方向に対しては、wxEXPAND指定すれば、領域を埋めるようにサイズ変更される。



524 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 02:02:10 ]
>>523
それでできました!
CにEXPANDを指定したら、縦に広がったりしてかなり困っていました。
サイザーってそういうふうになっているんですね。
どうもありがとうございます。

525 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 22:18:22 ]
フォントの高さをピクセル単位で取得したいのですが、
> font.GetPointSize();
だと値が表示されている高さよりも明らかに小さくなります。
正確な値を得るにはどうすればいいのでしょうか?
よろしくお願いします。

526 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 23:15:35 ]
ポイントとピクセルは全然違う単位だ

527 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 00:51:21 ]
>>526
それなら、ポイントをピクセルに直すにはいったいどうすればいいのでしょうか?
解像度とか関係ありそうなのですが、よく分からないのです。

528 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 01:38:57 ]
>>527
wxDC::GetCharHeight()
がそれっぽいですがベースラインより下の部分も含んでるのかどうかはわかりません



529 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 20:09:11 ]
>>528
それを参考にして書いていたら、wxWindowにも
同じ名前のドンピシャなメソッドがあることが分かりました。
ありがとうございました。

530 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 20:34:52 ]
分割ウィンドウ(wxSplitterWindow)を使用した場合、ステータスバーの表示/非表示
切り替えは出来ないものなのでしょうか。サンプルのsplitterに、statbarからの表示/非表示
切り替えコードを追加してみたのですが、初回の非表示(失敗)後に、分割ウィンドウの
サイズが変更不能となってしまいます。

531 名前:530 mailto:sage [2007/12/05(水) 21:18:50 ]
すみません、自己解決しました。
wxStatusBar* statbar = GetStatusBar();

statbar->Hide();
//SetStatusBar(NULL); // <- 親フレームと分割ウィンドウの連動が解除されてしまうのでコメントアウト
SendSizeEvent(); // 非表示部が即時更新されないので追加


532 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 16:52:55 ]
VS2005の変数ウォッチのようなことがしたいのですが、そのためのコントロールを探しています。
変数ウォッチとは、プログラムのデバッグ時にint型やクラス型で定義された変数の
名前や中身や型を表示するものです。

変数の名前や型だけを表示するならばwxListCtrlでもwxDataViewCtrlでも何を使ってもいいのですが、
メンバをもつ変数を表示させることを考えると、
どうしてもオブジェクトをツリー形式で表示させたくなります。
また、デバッグ中にウォッチする変数を新たに追加したくなった場合にも
簡単に追加できるものがいいのです。

つまるところ、
 ・できれば名前や型などの欄が作れる
 ・ツリー形式で表示できる
 ・新規のアイテムが簡単に追加できる
これらのことができるコントロールを探しています。
個別の条件を満たすものは見つかるのですが、そのすべてを満たすものが見つからず苦心しています。
(ちなみに、VS2005ではwxDataViewCtrl(wxGrid)のアイテム中にwxTreeCtrlのようなものを表示しています)

条件に合うコントロールがあれば教えていただきたいのです。
よろしくお願いします。

533 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 18:55:29 ]
使ったことないですが、下記サイトのwxTreeListCtrlがそれっぽいような…。
homepage2.nifty.com/bkclass/doc_wxcode.html

534 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 01:40:55 ]
>>533
wxCoreというのは初めて知りました。
サンプルも動かしてみたのですが、これは素晴らしいですね。
どうもありがとうございました。

535 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 20:16:12 ]
スクロールバー領域を除いた
ウィンドウのクライアント領域のサイズを得ることはできますか?

536 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 20:20:35 ]
ウィンドウのクライアント領域−スクロールバー領域=スクロールバー領域を除いた
ウィンドウのクライアント領域のサイズ

537 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 21:21:45 ]
>>536
すいません。説明が足りませんでした。

クライアント領域からスクロールバーの領域を除くためには
1,スクロールバーが表示されているかを検出する
2,表示されていたら、そのスクロールバーのサイズ分だけクライアント領域から除く
という主順を踏む必要があります。ところが自分にはこの二つともやり方が分かりません。

例えば、スクロールーバーはコントロールの内容によって表示されたり消えたりしますよね。
HasScrollbarメソッドはどうもスクロールバーの非表示を検出してくれないようで、
ウィンドウスタイルによって値が決まってしまいます。
つまり、スクロールバーが表示されているかを正しく知る方法が自分には分かりません。

また、普通のウィンドウクラスにはスクロールバーのサイズを得るメソッドが無い
(多分どこかにはあると思うのですが自分は知らない)
のでスクロールバーのサイズを得ることもできません。

538 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 22:22:35 ]
wxScrolledWindow::GetViewStart

void GetViewStart(int* x, int* y) const
Get the position at which the visible portion of the window starts.

Parameters
x Receives the first visible x position in scroll units.
y Receives the first visible y position in scroll units.

Remarks
If either of the scrollbars is not at the home position,
x and/or y will be greater than zero.
Combined with wxWindow::GetClientSize,
the application can use this function to efficiently redraw only the visible portion of the window.
The positions are in logical scroll units,
not pixels, so to convert to pixels you will have to multiply by the number of pixels per scroll increment.



539 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 22:57:22 ]
>>538
またまたすいません。

対象としているコントロールにはwxTextCtrlやwxTreeCtrlなどの
wxScrolledWindowを継承しないものも含まれています。

540 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 23:22:23 ]
おいおいいいかげんにしろよ
さすがにエスパーはいないぜ
自分で英語のリファレンス読めよ糞

541 名前:デフォルトの名無しさん [2007/12/17(月) 17:40:00 ]
例えば、ボタンをディセイブルにする、とかを調べたくて、
コントロールのリファレンスを読みたいのですが、教えて頂けないでしょうか?



542 名前:541 [2007/12/17(月) 17:57:54 ]
ヘルプにAlphabetical class referenceってのがありますた。
これがコントロールリファレンスですか。

>Members
ってのがメソッドで、

>Derived from
というのが派生元クラスでしょうか?


イベントも理解できれば完璧ですが、wx-Devがイベントハンドラ作ってくれるから、理解しなくても良いかなぁ?

543 名前:541 mailto:sage [2007/12/17(月) 18:33:28 ]
wxDevってコード補間ありますたorz

でも、WxButton::Enable(bool)が候補に出ないなぁ。コンパイルはトオタケド

544 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 18:42:19 ]
wxWindow::Enable
virtual bool Enable(bool enable = true)

545 名前:デフォルトの名無しさん [2007/12/28(金) 10:15:54 ]
wxFrameって、OnCreateみたいなイベントハンドラはありませんか?



546 名前:545 mailto:sage [2007/12/28(金) 10:18:15 ]
あ、OnInitDialogは、Frameオブジェクトの生成された後、1回コールされると考えてあってますか?

547 名前:545 mailto:sage [2007/12/28(金) 11:18:39 ]
wxFrame::OnInitDialogがコールされないんですが、、、
仕様ですか?

548 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 12:34:30 ]
>>545
EVT_WINDOW_CREATE



549 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 18:48:32 ]
Linuxでwxのアプリ閉じる時必ずsegfaultするのは俺だけでしょうか。
wxのサンプルについてくるのでも必ず
(a.out:32364): GLib-GObject-WARNING **: gsignal.c:1741: instance `0x908820' has no handler with id `673'

(a.out:32364): GLib-GObject-WARNING **: gsignal.c:1741: instance `0x8b4d30' has no handler with id `531'

(a.out:32364): GLib-GObject-WARNING **: gsignal.c:1741: instance `0x8cfa90' has no handler with id `604'

(a.out:32364): GLib-GObject-WARNING **: gsignal.c:1741: instance `0x8b4850' has no handler with id `465'

(a.out:32364): GLib-GObject-WARNING **: gsignal.c:1741: instance `0x5f4df0' has no handler with id `326'

(a.out:32364): GLib-GObject-WARNING **: gsignal.c:1741: instance `0x5f4840' has no handler with id `48'
zsh: segmentation fault ./a.out
みたいな感じで落ちます。
Glib-GObject-WARNINGの部分はInput Methodがuimだかららしいのですが。

550 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 02:47:58 ]
ライブラリorファイルが足りてないに一票


551 名前:549 mailto:sage [2008/01/07(月) 03:37:44 ]
>>550
ありがとうございます。

環境を書き忘れてました、すいません。
当方64bitのGentooでしたのですが、試しに32bitのDebianで試してみたところ
segfaultで落ちることは無いようです。Glib-Object-WARNINGはuimを切ると出なくなりました。
wxGTKのバージョンは2.8.7.1です。
もしかしたら私の環境だけなのかと思い書かせて頂いた次第です。

552 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 04:20:21 ]
/lib64 だったりとか

553 名前:549 mailto:sage [2008/01/08(火) 00:14:53 ]
wxGTKのバージョンを2.8.7.1-r1にしたら落ちなくなりました。
どうやらwxGTKのバグのようでした。どうもありがとうございました。

554 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 00:53:45 ]
wxPythonでwxGridのwxGridCellChoiceEditor
でセルにプルダウンなメニューを出しているのですが、動作がおかしいのです。
Windowsでは期待道理に動くのですが、Linuxだと候補から選択してもセルに
値が入りません。

ttp://d.hatena.ne.jp/Megumi221/20071123
の方も同様にいわれているのですが、どなたか解決された方いらっしゃらない
でしょうか?
Linuxのgtkとかのライブラリ依存なのでしょうか・・・

555 名前:554 mailto:sage [2008/01/10(木) 23:50:38 ]
gtk2を2.10.4にしたら出なりました。お騒がせしました。

556 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 03:40:29 ]
そんなもんじょのいこ
ってそれはえなりだよ

557 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 19:53:06 ]
とにかくGTKがダメダメだということだけは分かったw


558 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 23:45:50 ]
このスレで前に似たような質問があったのですが・・
どうしても解決しないので質問させてください。

環境はWindow XP Home MinGW です。
Eclipse CDT からMinGW を使って普通のcppファイルのコンパイル自体はできる状況です。

自分もここ
0xcc.net/pub/uu-2004-08/
を見て色々設定したのですが、wxGladeを使って生成したhello.cppをコンパイルしようとするとエラーが出ます。
このページではwxWigdetsのバージョンは2.5.2が扱われていますが、なぜか自分の環境で2.5.2をインストールしようとすると./configure --disable-shared --disable-threads →make の時点でエラーが出るので
ver2.8.7を./configure --disable-shared --disable-threads →make して、make install もしました。
この状態でwxGladeで生成したhello.cppを上記ページで書かれているように
g++ -c hello.cpp `wx-config --cppflags`
すると、
g++: 'wx-config: No such file or directory
cc1plus.exe: error: unrecognize command line option "-fcppflags'"
というエラーが出てしまいます。
`wx-config --cxx` -o hoge.exe hoge.cpp `wx-config --cflags --libs`
とすると、
''wx-config' は内部コマンド外部コマンド、
操作可能なプログラムまたはバッチファイルとして認識されていません。
というエラーになります。。

どうすればよいのでしょうか??どなたかご教示頂けると幸いです。



559 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 03:02:40 ]
あなたそりゃUNIXのシェルを前提としてる操作をWindowsのコマンドプロンプトで
やってもダメでしょうよ。

560 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 11:12:14 ]
wx-configはコンパイルオプションを吐くシェルスクリプト
MSYSを導入して、rxvt上で実行しろ

561 名前:デフォルトの名無しさん [2008/01/21(月) 11:16:12 ]
回答ありがとうございます。
0xcc.net/pub/uu-2004-08/
ここの、Windowsにインストールする場合の説明のところを見てやったのですが・・
あと558の
wx-config --cxx` -o hoge.exe hoge.cpp `wx-config --cflags --libs`
wx-config --cxx` -o hello.exe hello.cpp `wx-config --cflags --libs`
の間違いでした。

562 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 11:33:27 ]
>560 さん
回答ありがとうございます。MSYSは入ってます。
MSYSを導入して、rxvt上で実行 というのは、C:\MSYS\1.0\bin\rxvt.exe を立ち上げて
そこからg++ 〜 でコンパイルしろってことでいいんでしょうか。
家帰ったら試してみます。ありがとうございます。


563 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 12:20:12 ]
コンパイル云々の前に、そのまま素で
$ wx-config --cflags
とでも打ってみるんだな
どんな効果がでるか一発で分かる

564 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 13:05:17 ]
''wx-config' は内部コマンド外部コマンド、
操作可能なプログラムまたはバッチファイルとして認識されていません。
というエラーになります。。

565 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 13:17:20 ]
いや、だから、wxWidgets はユニックス系なので、
windows のコマンドラインじゃなくて
ユニックス系の shell でやらなきゃ ...

566 名前:558 mailto:sage [2008/01/21(月) 14:00:43 ]
>565さん
564は自分じゃないですよ。
多分あまりにも基本的な部分で間違ってるので他の方に茶化されたのだと・・

でも
> wxWidgets はユニックス系なので、
> windows のコマンドラインじゃなくて
> ユニックス系の shell でやらなきゃ ...
ここらへんわかってなかったのでご指摘いただけてラッキーでした。
ありがとうございます。

シェルの勉強等まだ手をつけておらずほぼ全く分からないもので・・
初心者質問ばかりしてすいません >564さん

>563さん
ありがとうございます。帰ったら試してみます。

567 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 00:24:02 ]
初心者なら、まずLinuxなりFreeBSDなりでやった方がいいよ。
Windowsでやるよりはるかに簡単だから。ネットの情報もほとんどUNIX系だし。

一旦それでやってればWindowsでもすぐできるようになると思う。
UNIX系の情報を見ながらWindowsで一発でやるには両方の知識が必要。

568 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 02:55:34 ]
実行ファイルににxrcを組み込むか、それと同等の事って出来ないでしょうか?
xrcの存在意義を無視してるのは分かるのですが、
ソースは簡潔&実行時にはファイル一つ、にどうしてもしたくて..



569 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 05:10:43 ]
ファイルひとつにこだわるならアーカイブ白と

570 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 05:32:32 ]
>>568
xrcのデータを実行ファイルに持たせることなら普通に出来る。ドキュメント読め。

571 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 17:11:00 ]
558です。
ご指摘されたとおりrxvt上からg++ 〜でやってみたのですが
wx/wx.h No such file or directory
などその他たくさんエラーが出てしまいました。

wx-config --cxx` -o hello.exe hello.cpp `wx-config --cflags --libs`
では wx-config-cxx commnad not found と言われてしまいました。

>567さん
Linuxでやる方が簡単なんですか。。
一度VMwareにUbuntu入れてやろうと思ったのですが重くてやめてしまってました。
Linuxの方が簡単なのであればそっちでやってみることにします。
ありがとうございました。

572 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 17:22:09 ]
簡単にGUIアプリが作りたいだけなら、wxPython でやってみるって手もある。

573 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 18:38:29 ]
>>568に便乗質問なのですが、
xrcでフォームの位置やサイズをアプリケーション終了時に保存することはできますか?

574 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 23:05:56 ]
>>570
出来ました。ありがとうございます

575 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 00:04:51 ]
>>571
もうちっとコマンドラインとか、パスとか、そういうことを勉強したほうがいいと思うな ...

576 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 01:05:42 ]
>>572
そういえばマイナー同士の組み合わせの割には、wxPythonの日本語情報って
ググると意外に出てくるね。

577 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 02:08:03 ]
最近のが多いから
はじめたばかりの君は恵まれている
昔は見つからなかった

578 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 02:15:24 ]
なるほど。ということは、ちょっと前に「情報が少なかったのに頑張った」
猛者たちがあらわれたってことか。感謝感謝。



579 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 05:26:51 ]
っつーかwxHogehogeの中で一番楽なのがwxPythonな気がする

580 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 08:53:58 ]
今pythonがアツいってのもあるね
wxに限らずPyGTKやらPyQtやらで作られたアプリが増殖中

581 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 09:11:20 ]
wxPythonについて概ねまとまってて勉強になったサイト
自信たっぷりの間違いがいくつかあるので注意
ttp://www.harukaze.net/~haruka/wxpython/


582 名前:デフォルトの名無しさん [2008/01/29(火) 18:06:45 ]
アプリケーションのトップのエラーハンドラって書けますか?

C++ Builder/VCL だと、
>void __fastcall TForm1::ApplicationEvents1Exception(TObject *Sender, Exception *E)
みたいな感じで書くんですが。


583 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 19:13:42 ]
C++標準の例外じゃダメなの?

584 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 19:22:52 ]
いや、それで良いのです。throw するのはC++の例外。
アプリの一箇所、一括でcatchしたいだけですが、どう書けば良いでしょう?

585 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 23:17:40 ]
int main()
{
try {
// main routine
}
catch(...) {
// error handling
}
}

586 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 23:40:34 ]
wxApp使った場合って、mainが隠蔽されてるんだっけ?
とするとwxApp::OnFatalExceptionとかがそうなのかなぁ。
ttp://wxwindowsjp.sourceforge.jp/docs/html/wx/wx30.htm#wxapponfatalexception

587 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 01:38:35 ]
Ver2.8.6使ってるけど、
wxApp::OnUnhandledExceptionのドキュメント見ると、
OnRunをオーバーライドしてそこでキャッチしろって書いてるよ。

int MyApp::OnRun()
{
 try{
  return wxApp::OnRun();
 }
 catch(std::exception &e){
  ...
 }
}

588 名前:582 mailto:sage [2008/01/30(水) 08:41:31 ]
>>585 >>586 >>587 etc.
回答サンクス。

やっぱ質問してヨカタ。



589 名前:582 [2008/01/30(水) 10:36:01 ]
ヘルプの内容(>>587)確認しました。

OnRunオーバーライドして、エラーはcatchはされるんですが、catchの前にエラーが出てしまうのは何ででしょう。

590 名前:582 [2008/01/30(水) 10:39:12 ]
OnExceptionInMainLoop()をオーバーライドして、return trueしたところ、無問題になりました。
有難うございました。

591 名前:582 mailto:sage [2008/01/30(水) 10:44:40 ]
あれ?例外が補足されなくなちゃったorz

592 名前:587 mailto:sage [2008/01/30(水) 11:20:47 ]
bool MyApp::OnOnExceptionInMainLoop() { throw; }
でMyApp::OnRun()のcatchに直通できた。
wxのエラーダイアログの中止ボタン押したときの処理もこうだから、
たぶんこれで問題ないと思う。

593 名前:582 mailto:sage [2008/01/30(水) 11:28:06 ]
>>592
あ、本当ですね。上手くいきました。

594 名前:582 mailto:sage [2008/01/30(水) 11:51:30 ]
Winでは上手くいったのですが、
wxMac-2.8.7では、MyApp::OnOnExceptionInMainLoop()がコールされずに、
>シグナル 6(SIGABRT)により終了しました。
で終わってしまうのは何ででしょう?

throw を丸々囲んだら、ちゃんとcatchされますので、C++例外オフの問題じゃないみたいです。
念の為configureを調べても、
>checking for --enable-no_rtti... no
>checking for --enable-no_exceptions... no
です。


595 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 12:07:13 ]
サンプルみつけました:

wxWidgets/samples/except
cvs.wxwidgets.org/viewcvs.cgi/wxWidgets/samples/except/
cvs.wxwidgets.org/viewcvs.cgi/wxWidgets/samples/except/except.cpp?rev=1.13&content-type=text/vnd.viewcvs-markup

596 名前:582 mailto:sage [2008/01/30(水) 13:25:38 ]
あれー、
>wxMac-2.8.7\samples\except
で、
コンソールからmakeしましたが、
アプリでThrowメニュー(int/string/object)を実行すると、アプリがエラーで吹っ飛びます。

どうも、wxMacのバグですね。
当面は、実行メニューをそれぞれtry-catchで囲んでおきます。
開発中にcatch内容が変わったりすると、メンドイですね。

597 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 15:29:47 ]
www.wxwidgets.org/docs/technote/patches.htm

598 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 16:16:31 ]
すいません質問させて頂きたいのですが、
0xcc.net/pub/uu-2004-08/
このページ見てwxGladeでc++のコードを生成しようと思って、プレビューまでは普通に出来たのですが、Generate Codeボタンを押すと

An exception occurred while generating the code for the application.
This is the error message associated with it:
'ascii' codec can't encode characters in position 28-33: ordinal not in range(128)

こんなエラーが出てコードが生成できません。どうすればいいでしょうか?

環境は
Ubuntu7.1.0
libwxbase 2.8.4.0
libwxgtk 2.8.4.0
python-wxglade 0.5
python-wxgtk 2.8.4.0
python-wxtools 2.8.4.0
python-wxversion2.8.4.0
です。

どなたかアドバイス頂けると幸いです。。




599 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 17:14:43 ]
対症療法だが日本語使うのをやめろ

600 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:16:10 ]
てかエラーメッセージ読めよ…

601 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 23:01:50 ]
レスありがとうございます。

エラーメッセージ読んでますが読んで意味が分からなかったので質問させて頂きました。
エラーメッセージで検索したりもしてみたんですが関係ありそうなのが出てこなかったので・・

日本語ですか。特に使ってないと思うのですが・・


602 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 23:02:14 ]
レスありがとうございます。

エラーメッセージ読んでますが読んで意味が分からなかったので質問させて頂きました。
エラーメッセージで検索したりもしてみたんですが関係ありそうなのが出てこなかったので・・

日本語ですか。特に使ってないと思うのですが・・


603 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 23:17:53 ]
英語が読めないならば、エラーメッセージを英日翻訳ソフトに入れると良いかもよ。
ascii文字以外が入っているかもう一度確認して見てください。
ascii文字の意味はわかりますか?


604 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 23:44:01 ]
親切にありがとうございます。
いえ、英語は分かるのでエラーメッセージの翻訳はできるんですが、それでも意味が分からないということなんです。
ASCII文字は分かります。
「ascii文字以外が入っているか」っていうのは、どこを確認すればいいのでしょう??

605 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 23:56:32 ]
インターフェースに日本語つかってるということなんじゃないの?
アルファベットだけつかったつもりでも、
まちがって全角スペースが入るということもあります

606 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 00:03:41 ]
>>602
直接的な答えじゃなくて申し訳ないけど、俺がやるなら:

・エラーメッセージを出力している部分の wxGlade のソースコードを読む
・エラーが出なくなるまでウィジェットを減らしてみる

607 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 00:11:46 ]
ソースファイルを1バイトずつ読み込んで値が全部0以上127以下になってるか調べればいいと思うよ

608 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 01:42:06 ]
解決しました。
単純にコードを吐き出すパスに「デスクトップ」が入っていただけでした・・汗
回答くださった方々ありがとうございましたm(_ _)m



609 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 03:11:59 ]
これはずっこけざるを得ない. まぁありがちだとは思うが.
ubuntu-jpも余計なことしてくれるよな. 'デスクトップ'は英語名に直しとき.

610 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 04:05:20 ]
デスクトップで作業してんじゃねーよ、カス


611 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 09:53:13 ]
まあ、トラブルの原因のほとんどは「単純」なミスだよね

612 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 17:49:53 ]
fedora8のwxwidgets(2.8.4)で
wxDirPickerCtrlで起動後初回の選択のみ反応しないのですが,
(GetPathに反映されず,ハンドラも呼ばれない)
同じような症状の方いませんでしょうか?
使い方でミスをしてるのか,バグなのか分からなくて困ってます.

613 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 02:36:57 ]
今ようやくHello,worldが作れたんだけれど、66KBだった。
4MBぐらいになるってどこかに書いてあったのだけれど。


614 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 03:13:40 ]
静的リンクだとMBになるよ

615 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 03:22:02 ]
てことは、静的リンクになってなかったってことですよね。
特別なにもしてないと静的リンクにならないんでしょうか。

ところで、Linuxだと

g++ -c hello.cpp `wx-config --cppflags`
g++ -o hello hello.o `wx-config --libs`

で普通にコンパイルできたんですが、
Windows Home でやろうとすると

g++ -c hello.cpp `wx-config --cppflags`

wx-config -cppflags: No such file or directory
と言われる、けど、hello.oは生成される。

そして
g++ -o hello hello.o `wx-config --libs`
でも同じように
wx-config --libs: No such file or directory
と言われるけど、今度は何も生成してくれない。

のはなんででしょう。。

616 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 03:26:45 ]
>>615
>特別なにもしてないと静的リンクにならないんでしょうか。

つ ldd

617 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 03:52:29 ]
>>615
>>558-563

618 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 04:42:37 ]
スレ違い
C初心者スレ池




619 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 04:58:13 ]
>>615
>今度は何も生成してくれない。
>のはなんででしょう。。

太陽が眩しかったから

620 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 09:23:53 ]
Linux が素人にも使いやすくなって、Windows のコマンドラインと
Unix のシェルの違いもわからないひとが GUI プログラムを
コンパイルできるようになったというのは良いことなのやら悪いことなのやら ...

621 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 10:04:57 ]
ただの馬鹿なのが問題なんだ。
たとえ素人でも疑問を追及する意思があれば間抜けな質問を垂れ流したりはしない。


622 名前:デフォルトの名無しさん [2008/02/03(日) 17:02:57 ]
>>612について情報をお持ちの方は居ませんでしょうか…

623 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 00:36:25 ]
みんなemacs(Meadow)上でwxWidget使ったコード書くとき、modeどうしてる・・・?
通常のc++-mode設定だとインデント壊れて気持ち悪いよね?
(sample/minimal/minimal.cppに対してindent-regionすると120行目のMyApp::OnInit()が1インデント下がる)

ttp://www.wxwidgets.org/develop/standard.htm#indentation とかの設定もみたけど、
wxWidgetのマクロによるインデントずれの問題は解決してないように見えるんだが・・・


624 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 02:46:40 ]
すいません、お聞きしたいのですが、
ボタンが押されたらアプリを終了するようにしようと思い、

class MyFrame: public wxFrame {

protected:
wxButton* button_1;
}; // wxGlade: end class

BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_BUTTON(button_1, MyFrame::OnExit)
END_EVENT_TABLE()

void MyFrame::OnExit(wxCommandEvent& WXUNUSED(event))
{
Close(TRUE);
}

みたいに書いてみたのですが、(はしょりまくってます)
コンパイルしようとすると
hello2.h:31: error: invalid use of non-static data member ‘MyFrame::button_1’
hello2.cpp:13: error: from this location
のようなエラーが出ます。

どこがおかしいでしょうか??
初心者質問ですいません。

625 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 08:14:57 ]
普段Windows使ってるのでよく分かんないんですが、EVT_BUTTONの後に
指定するのは変数名ではなくて、多分wxButtonをnewする際に指定する
コマンドID(wxID_EXITとか)かも…。
EVT_BUTTON(wxID_OK, MyFrame::OnExit)

MyFrame::MyFrame(...)
  button_1 = new wxButton(this, wxID_EXIT, wxT(“OK”),
wxPoint(200, 200));
  :

626 名前:625 mailto:sage [2008/02/10(日) 08:16:38 ]
orz…
EVT_BUTTON(wxID_OK, MyFrame::OnExit)

EVT_BUTTON(wxID_EXIT, MyFrame::OnExit)

627 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 13:07:31 ]
>>623
おれはDECLARE_EVENT_TABLE()とかの後ろにセミコロンを置いてる。

628 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 09:52:51 ]
wxWigetsのiniファイル読み書き専用関数とかあるんでしょうか?




629 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 13:20:18 ]
>>628
wxwindowsjp.sourceforge.jp/html/2.8.4/wx_wxfileconfig.html

630 名前:628 mailto:sage [2008/02/12(火) 13:24:31 ]
サンクス。やっぱこういうのが標準であると便利ですよね。

631 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 18:16:41 ]
wxWigetsのStringListはありますか?

632 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 19:43:35 ]
>>631
つ wxArrayString

633 名前:631 mailto:sage [2008/02/13(水) 09:46:38 ]
有難うございます。

wxArrayString.Text (Itemを改行コードを挟みながら連結)みたいなメソッドは無いんですね。
自作するしか無いか。


関係ないけど、やっぱ改行コードってC++のendlを使いますよね?
まさか、wxWidgetsで、CRとかLFをラップしてくれてたりしないですよね?

出来れば、wxWidgetsが改行コードのグローバル変数を持ってて、
初期処理でどのプラットフォームでもCRLFで初期化してやろうかと思ったのですが。

634 名前:631 mailto:sage [2008/02/13(水) 09:50:17 ]
>関係ないけど、やっぱ改行コードってC++のendlを使いますよね?

wxWidgetsのヘルプ読んでると、
>std:string互換関数の利用が強く推奨される!
>そして遅かれ早かれstd::stringを使い始めるであろうwxWidgetsの将来のバージョンとの互換性を保つ.
とあるから、
wxStringより、std::string推奨なんですね。

文字列についてはC++の標準を使えって意味は分かるけど、std::stringって機能が弱いおね。

635 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 10:57:42 ]
>>634
>std::stringって機能が弱いおね。
たとえばどんな?

636 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 11:00:08 ]
std::stringだと、

string str1;
str1 = "a" + (string)"b";
みたいに書けないことない?(自分の勉強不足かも)

それとか、UpperCaseが無いわけじゃないけど、書きにくかったりとか。

637 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 11:11:28 ]
string std::operator+(const char *lh, const string &rh);
は標準で入ってたと思う。

638 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 11:18:50 ]
あ、+ 演算子は実装されてますか。

gccでエラーだったんですが。(勘違いかも)



639 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 11:47:01 ]
MinGW gcc3.4.5では大丈夫だね。

640 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 16:26:50 ]
STLって、MemoryStreamみたいな可変バイト列ってありましたっけ?

vector char とかするのかなぁ?

(ちょっとスレチ)

641 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 16:41:34 ]
stringstream

642 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 16:48:22 ]
>>641

どうも。それ使います。insertメソッドとかもありますね。
NULLで切れないと信じて。

643 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 18:30:57 ]
>string str1;
>str1 = "a" + "b";
は書けます。

>str1 += "a" + "b";
は書けないんですね。

ちょっと不便。

644 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 19:04:47 ]
全然

645 名前:デフォルトの名無しさん [2008/02/13(水) 20:10:56 ]
べつに

646 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 20:38:05 ]
str += "a";
str += "b";
は出来るだろ。
ていうかC++スレでやるべきだと思うんだ・・・。

647 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 21:58:27 ]
ま、C++だしな。
そのへん楽したかったら、
wxPython
wxErlang
wxHaskell
wxLua
wxPerl
wxRuby
wxSqueak
wx4j
wxJavaScript
あたり使ったらいんじゃね?

648 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:16:15 ]
C/C++は
"a" "b"
って書いたら
"ab"
って書いたのと同じだけどな。
リテラルだけだが。



649 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 10:58:06 ]
> wx4j

へえー、4j ってプログラミング言語があったのか・・と思った
ググって見ると、・・このスレのテンプレにすでに書いてあった・・

650 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 17:55:06 ]
1、プロセスを跨いだ書き込みができるコンソールクラスはありますか?
 (wxで無くともポータブルなら何でもかまいません)

2、↑を押すと以前選択された文字列が出てきたり、
  選択可能な文字列群を設定すればtabキーで勝手に補完してくれる
  なんちゃってシェルのようなクラスはありませんか?

よろしくお願いします。

651 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 20:59:46 ]
2番目はreadlineじゃ駄目なのか?

652 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 00:34:08 ]
>>651
readlineってこういう事に使うライブラリなのですか。
初めて知りました^^

これで全然問題ないです。
どうもありがとうございました。

653 名前:624 [2008/02/16(土) 00:48:57 ]
>>625 さん
返信めちゃくちゃ遅れてすいません。
ご指摘された通り直したら意図した通りに動きました。
ありがとうございましたm(_ _)m

654 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 01:22:37 ]
>>652
readline はガチガチの GPL なので、代わりにより自由な libedit をお勧めする

sourceforge.net/projects/libedit/

655 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 09:51:47 ]
>>654
自分も探しましたよ。ストールマンの呪縛から逃れるために^^

そこのlibeditの最終リリースが2001年8月だったので
何じゃコリャと思ってしまったのですが、
Googleで探してみるとちゃんと新しいのもあるみたいですね。
ただ、マルチバイトが使えない&直すのは難しくないが「需要がない」
という内容のMLを見たときは少しびっくりしました。

656 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 12:28:10 ]
たしかにコンソールで日本語打ちたいと思うケースはあまりない


657 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 13:05:57 ]
> cd C:¥デスクトップ¥夏休みの宿題¥プロジェクト1¥宇宙シミュレータ
> bigbang.exe 初期値1.xls > 結果1.xls

658 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 13:46:08 ]
後々ターミナルからアクセスすることを考えると日本語ファイル名は打つのめんどくさいから付けない



659 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 13:48:26 ]
ubuntuの「デスクトップ」をどうにかしてください

660 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 13:58:16 ]
>>658
自分で作らなくても、仕事だと嫌ほど受け取る。


661 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 14:52:22 ]
>>655
あとは Tecla というのもあるよ
マルチバイトが使えるかは知らないけど…

www.astro.caltech.edu/~mcs/tecla/

662 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 23:17:58 ]
>>659
ディレクトリ名書き換えれたけど

663 名前:デフォルトの名無しさん [2008/02/17(日) 02:32:40 ]
2.8.7リリースされてるけど最近は流行ってないの?

てかスレ違い?

664 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 02:33:33 ]
ごめん微妙に誤爆

665 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 04:03:32 ]
というか、流行ってた頃ってあったの?

666 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 15:01:23 ]
気づかずにお世話になってる人はいると思うがね
vlcとか

667 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:57:27 ]
vlcねぇ〜
あれってなんであんなにバイナリのサイズが小さいの?
VCとかで作ってるとどんなに気を使ってもMBサイズの大きさになってしまう・・・


668 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 22:01:05 ]
libwxwidgets_plugin.dll
2.66 MB (2,793,984 bytes)

こういうカラクリ



669 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 23:55:57 ]
あー、もしかしてライブラリをビルドするときにDLLでビルドすればいいのか
納得しました

670 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 02:15:57 ]
実行ファイルさえ小さければDLLが多少でかくてもそんなに文句は出ないという
意外と盲点かもしれないね

671 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 23:25:28 ]
てかサイズ大きくてもいいからDLL1ファイルだけってできないん?

672 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 23:45:30 ]
MONOLITHICのSHAREDじゃ駄目なのか。
試したことないが。

673 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 18:56:33 ]
wxWidgets用のRADツールはWinでならどれ使うのが良いでしょうか?

674 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 20:28:21 ]
どれを、と言うほど選択肢あるのか?

wxGlade, wxFormBuilder, wxDesigner, wxSmith, VisualWx...

あ、結構あるなw

675 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 20:39:39 ]
wxWorksってのも違うの?

676 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:38:31 ]
比較サイト見っけた
wiki.codeblocks.org/index.php?title=Comparison_of_wxSmith_features

677 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 23:59:22 ]
いやいや、DLL分けた分起動遅くなるだけじゃん。
Linuxのように、ディス取り標準ビルドの共有ライブラリが一つあってそれが基準になるなら良いけど、
Windowsではオレオレビルドのdllがまかり通るからstaticリンクが無難。

678 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 01:17:48 ]
wxってsetup.hでビルドオプション変更できるみたいだけど、
Linuxで共有ライブラリのビルドオプションが気に入らなかったら、
staticリンクにしろってことでいいのかな?



679 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 11:10:38 ]
>>678
UN*X 系は RUNPATH や LD_LIBRARY_PATH で対処する方が多いんじゃないかな。
wx みたいな、でかいライブラリを static にする事は殆ど無いと思うよ。

680 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 01:10:25 ]
wxPythonの2.6なのですが、
gridの任意のセルに、Ctrl押し下げ+マウスの左クリックイベントを送りたいのですが
どのようにすればいいですか?
だれかとっかかりだけでも教えてください。お願いします。

681 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 03:00:16 ]
wxDev-C++いれてみたけど
かなり頑張ってるな。


682 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 20:04:15 ]
wxwidgetsってエラーが出てコンパイルできねーんだけどやる気あんのか中の人。

683 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 20:08:42 ]
>>682
おまえはやる気あんのか?

684 名前:デフォルトの名無しさん [2008/02/24(日) 10:02:28 ]
C言語でクロスプラットフォームなGUIプログラミングしようと思ったら
wxWigets or QT or GTK どれが良いですか?

wxWigets の環境をうまく作れなかったので、QT入れてみたのですが・・・。

685 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 10:26:47 ]
初体験するなら、恋人、ナンパ娘、風俗嬢の誰がいいですか?
恋人をうまく作れなかったので、風俗嬢に挿れてみたのですが・・・。

686 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 10:31:45 ]
>>684 が挙げた3つの中でC言語なのはGTK+だけ

687 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 11:55:18 ]
妹に一緒にお風呂に入ろうと誘われたんですがどうすればいいですか?

688 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 15:11:32 ]
>>685
初体験なのに3つも選択権をもっているような人は
このスレに来てはいけません

>>687
具体的に何を迷っているのか分からない。
なぜ考える必要があるの?



689 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 16:07:33 ]
妹=42歳(千代大海似)

690 名前:デフォルトの名無しさん [2008/02/24(日) 19:56:56 ]
wxを使ってMindmapエディタを自作したいと思ってるんですが、
複数のテキストボックス(サークル)間にリンクを張って
表示するのに便利なモジュールってありますか?
# うまく説明できなくてすみません。

snapshotを見ると、UML図を書けるようなアプリはあるようですが、、、

691 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 22:22:27 ]
そんな程度の考えでマインドマップ作ろうってのは無謀な気がするが
それはおいとくとして、
けっこうプラットフォームによってまちまちな部分があるので、
マルチプラットフォームを考えてるなら、ありもののパーツで
なんとかならない場合はwxはやめといた方がいいかも。
たとえばマインドマップとかペイントソフトとかだとキャレットの操作が必要になると
思うけど、Win版はちゃんとネイティブのキャレットを操作してるが
GTK版なんかは自前でキャレットらしき棒を描く場所を変更してるだけ。

692 名前:デフォルトの名無しさん [2008/02/25(月) 00:33:32 ]
wxGladeのTextCtrlのlayoutプロパティでoptionっていう項目がありますが、これってなんの値なんでしょうか??

693 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 01:06:09 ]
>>692
最近のはproportionと呼び名が変わったようだ。
>>523 の説明がわかりやすいと思う。

694 名前:デフォルトの名無しさん [2008/02/25(月) 09:50:19 ]
親ウィンドウと子ウィンドウを連動しようと思い。
親ウィンドウのMoveEventから
子ウィンドウのMoveを呼び出したのですが、
エラー落ちしてしまいます。

何か方法があるのでしょうか?

695 名前:692 [2008/02/26(火) 01:20:38 ]
>>693さん
なるほど。523見てなんとなく分かりました。
ありがとうございました。

696 名前:694 mailto:sage [2008/02/26(火) 08:35:58 ]
コンストラクタ内でMoveEventが呼ばれ(たぶんCenter関数)
その時にはまだ子ウィンドウが生成されてなかった。

しかも初期化が完了してない無効なポインタだったので
当然エラーということだった

コンストラクタで始めに関数が呼ばれる前に
事前初期化してないとエライことになる可能性があるという教訓でした。


697 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 16:20:52 ]
メニューのフォントを変更しようと思い、
wxMenuBarにフォント設定したけど反映されない・・・
なぜ・・・

698 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 09:25:53 ]
wxMenuBar

wxWindowsを継承しるのになんでそのフォント使わないで
インラインで別のフォント使うのか理解できん。





699 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 11:01:34 ]
早くwx-usersに要望を出す作業に戻るんだ

700 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 21:31:15 ]
メニューバーが自前で描画するモノなんかあったっけ?

701 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 00:38:09 ]
wxWidgetsってWindows Mobile環境でも動作するんでしょうか?
あと、その場合、バインディング言語(wxPython等)でも利用可能なんでしょうか?

702 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 09:36:44 ]
wxpyce.wikispaces.com/

703 名前:701 mailto:sage [2008/03/01(土) 09:55:26 ]
>>702
サンクスです。

704 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 01:02:32 ]
あるウィンドウのZオーダーを動かしたい(一番手前に表示したい)
のですがどうやればいいのでしょうか?
よろしくお願いします。

705 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 01:36:52 ]
>>704
Raise()

706 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 18:51:07 ]
2年以上開発版のままだったCode::Blocksが2/28に8.02をリリースしてた。
www.codeblocks.org/


707 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 18:52:50 ]
使えそう?

708 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 19:22:07 ]
>>705
できました。ありがとうございました



709 名前:706 mailto:sage [2008/03/03(月) 20:05:07 ]
>>707
Fedora8で昔使ってみたときのプロジェクト試してみたけど、
Buildしたときのerrorとwarningが入れかわってる気がする。一応動いたけど。
ちょっと前にチェックしてたけど、
2、3日に一回くらい開発版だしてて追いつけなかったからリリースをまってた。
いろんなOSで動くところが好きなので、そのうち本格的に使うかも。
macportsにもきてた。


710 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 01:37:13 ]
wxGladeで画面を作成しているのですが、
widgetを配置する画面(Frameをダブルクリックして出てくる画面)に、
配置してあるボタン等が収まりきらなくなりました。
しかしながら、Previewで見るときちんと全部収まっています。
Panelを削除するとこの現象は出ないのですが、どこか作り方が
おかしいのでしょうか?
どなたか教えてください。


711 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 01:50:20 ]
>>710
Previewの方が正しい。
wxGladeを立ち上げ直すと直ることもある。
けど,まあそんなもんだと思っている。

712 名前:710 mailto:sage [2008/03/04(火) 23:36:30 ]
>>711
レスありがとうございます。
そうですか。
Panelを捨ててしまうと、タブ移動が出来なくなるので困っていました。
wxGladeのバージョンアップに期待というところでしょうか?
sizerの入れ子の数とかでおかしくなるのかなー。

713 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 16:00:25 ]
wxRubyでXRCでGUI部分作って、メニューアイテムやら押したときにメッセージボックスを表示させたいんだがどうやればいいんだ?

ボタンを対象にfind_window_by_name('TEST')とかやって
evt_button(@update.get_id){
Wx::message_box("テストだよ", "test", Wx::OK | Wx::ICON_INFORMATION, self)
}
とかするとちゃんとメッセージボックスやらが出せるんだけど
find_window_by_name('MENUBAR')とかやってもnilが返ってきてしまうんだ…

714 名前:デフォルトの名無しさん [2008/03/15(土) 16:01:46 ]
下がってるのであげてみることにする

ちなみにwxRubyについてるサンプルソース読むと、XRCのサンプルでもコード上でメニューバーとか追加してた

715 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 20:02:14 ]
事故解決した
Wx::Frame#get_menu_bar
ちぅのがあるのね…

716 名前:デフォルトの名無しさん [2008/03/16(日) 09:00:11 ]
widestudioとどっちがいいですか??

717 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 17:25:52 ]
どっちがいいか言い切れるんならもう片方は消滅してるよ

718 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 02:22:43 ]
wx-gladeでseparate for each classというオプションにチェックを入れてコードを吐かせてみたのですが
wxAppクラスを継承したMyAppクラスの宣言部がmain.cppとして一個増えただけでした。

www.h3.dion.ne.jp/~k5_n/wxwin/memo/ver0_0.html
このページみたいにモジュールを分割していきたいのですが、wxTextCtrlを継承させる予定のwxTextCtrl2クラスのコードを別ファイルで吐かせたりするにはどうすればよいのでしょうか。




719 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 01:24:25 ]
長らく使ってないけど
wxTextCtrl2っていうCustom Widgetを作るんじゃなかったかな

720 名前:デフォルトの名無しさん [2008/03/18(火) 16:17:05 ]
EditDlg *dlg = new EditDlg(this);
dlg->ShowModal();
dlg->Destroy();

メニューの実行で、上記を実行していますが、
最後のDestroyでアプリが落ちてしまいます。
Destroyは不要ですか?

環境は、Mac OS X 10.4 /wxMac-2.8.7を使っています。

721 名前:720 mailto:sage [2008/03/18(火) 16:28:26 ]
もう少し状況が分かりました。

ダイアログのシステムボタンで閉じる → ×
Close()で閉じる → ×
Hide()で閉じる → ○

つまり、閉じ方によって、ウィンドウのDestroyが呼ばれるかどうかが決まるんですね?

詳しい方、情報もしくは、同意よろorz

722 名前:デフォルトの名無しさん [2008/03/19(水) 14:39:14 ]
wxWidgetsの環境変数で、
ファイルのパスのデリミタや、
実行ファイルのディレクトリを
取得できますか?

723 名前:デフォルトの名無しさん [2008/03/19(水) 16:01:40 ]
argv[0]を参照する方法はありますか?

724 名前:723 mailto:sage [2008/03/19(水) 16:07:02 ]
みつけますた ---> ttp://wxwindowsjp.sourceforge.jp/docs/html/wx/wx30.htm#wxappargv

725 名前:723 mailto:sage [2008/03/19(水) 16:29:58 ]
で、wxAPPのインスタンスってダイアログ側からどうやって取るんでしょう?


726 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 16:33:30 ]
::wxGetApp

727 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 16:44:51 ]
thx!>>726
orz

728 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 13:36:28 ]
>>722
デリミタは、wxFileName::GetPathSeparator()

実行ファイルディレクトリは、
wxFileName exepath(wxStandardPaths::Get().GetExecutablePath());
wxString exedir = exepath.GetPath();
でexedirに入る。




729 名前:718 mailto:sage [2008/03/20(木) 19:48:39 ]
>>719さん
レスありがとうございます。試してみます!
お礼遅れてすいません。


730 名前:729 mailto:sage [2008/03/20(木) 19:58:09 ]
と・・調べてみたのですが、custom widgetsってwx-gladeのパレットに新しい項目追加するような感じで自分でカスタムしなければいけないのですね。
これだとクラス継承する毎にパレットに追加しなくてはならなくなりますよね。。(当然ですが)

クラス継承して使いたい場合、みなさんどうやってコードを書いているのでしょうか??
自分で継承して作ったクラスを全部wx-Gladeで描画できるようにするのはけっこう面倒くさそうですし・・
あんまりファイル分割しない方がいいんでしょうか。
それとも、wx-gladeはあんまり使わない、とか・・


731 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 20:29:23 ]
wx-gladeはあんまり使わない

732 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 20:50:35 ]
wxFormBuilderがおすすめ
適当なコントロールから継承したカスタムコントロールやウィンドウなら、
継承元の見た目で作って、クラスを指定してヘッダファイル名まで指定できる。

733 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 22:55:02 ]
>>728
有難うございます。まだ調査している最中だったので助かりました。

>>732
そうなんですか。。。
知らなかったのでwxDev C++ を使ってますorz



734 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 15:19:46 ]
Windows環境だと、
>std::string str;
>wxString wstr = str;
と書けるんですが、
wxMacだと、
>wxString wstr = str.c_str();
と書かないとコンパイル通らないみたいです。

何でだろ。。。

735 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 16:09:27 ]
ユニコードを使ってるかどうかかな?

736 名前:734 mailto:sage [2008/03/21(金) 16:19:02 ]
あ、なるほど。>>735

wxMacは、環境設定でユニコードをオンにしてmakeしたようなかすかな記憶。
Windows版は、wx-debcppをインスコしただけだったような記憶。

この問題って難しい問題ですね。

737 名前:デフォルトの名無しさん [2008/03/21(金) 23:32:17 ]
すみません。初心者です。
wxDev-C++で作成したコードをLinuxでコンパイルできますか?
できるとしたら、makefileは自作ですか?
分かる方がいましたらよろしくお願いします。

738 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 23:59:59 ]
自作でもいいが、autotools(automake/autoconf)あたりがおすすめ



739 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 04:43:56 ]
wxが採用してるbakefileがいいんじゃないの。

740 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 10:55:32 ]
>>738 >>739
ありがとうございます。試してみます。
まず、configure自体を知らないとダメなんでしょうね。勉強します。

741 名前:730 mailto:sage [2008/03/23(日) 13:31:54 ]
情報ありがとうございます!
wxformbuilder、インストールしてみようと思ったのですが

Dependency is not satisfiable libwxbase2.8-0

とエラーが出てインストールできず・・

libwxbase2.8-0の再インストールとかしてみたのですがダメでした。
解決方法分かる方いらっしゃったら教えて頂けるとありがたいのですが・・

742 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 14:07:53 ]
wxのC言語バインディングってないのかのう?

743 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 15:26:47 ]
>737
wx-configを調べてみて
wxConfigクラスではなくてwx-configってコマンド

744 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 15:26:51 ]
>>741
とりあえず、ver3 RC8を落として、解凍すればインストールいらないのでは?
downloads.sourceforge.net/wxformbuilder/wxFormBuilder_v3.0.56-RC8-archive.exe?download
wxFormBuilder.exe起動したら動いたよ?ソースからビルドしようとしてる?

745 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 21:33:15 ]
>741
ちょいと使ってるOS回りの詳細を書いてくれ
なんとなくLinuxじゃないかと思うが、だとすっとdistroとバージョンは?

746 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 21:59:32 ]
wxDev-C++でデバッグしていて、ブレイクポントの2、3ステップ先で止まる
んですけど、こういうもん?Code::Blocksの方が使いやすいですかね?(Windowsです)

747 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 22:01:31 ]
>>741
>Dependency is not satisfiable libwxbase2.8-0
の時点でUn*x系だろうけど…
wxがちゃんと動いてるなら自前でビルドした方が良いんじゃないか?

748 名前:730 mailto:sage [2008/03/23(日) 22:34:56 ]
ご親切にありがとうございます!

OSはUbuntuで7.10です。wxWidgets自体は動いてます。

downloads.sourceforge.net/wxformbuilder/wxFormBuilder_v3.0.56-RC8-archive.exe?download
の方、試しに落として起動しようとしてみたのですが、エラーが出て起動できませんでした。

自分が落とそうとしていたのはこっちです。
sourceforge.net/project/downloading.php?group_id=135521&use_mirror=jaist&filename=wxformbuilder_3.0.56-0ubuntu1dapper1_i386.deb&93744357

こっちの方をダウンロードすると勝手にgdebi-gtkというので開かれ、パッケージインストーラというのが出るのですが、そこで

Dependency is not satisfiable libwxbase2.8-0

と言われます。

ubuntuforums.org/showthread.php?t=536984
とか
www.developpez.net/forums/showthread.php?t=369200 (イタリア語・・?)
とか見て色々試してみたのですが、解決しません・・

wxwidets の導入に手間取って、色んなパッケージのインストールとアンインストールを繰り返しまくってたのでなんか完全にインストールできてない状態になっているのかなと思ったのですが、libwxbase2.8-0をSynapticで完全削除後再インストールしても状況変わらず・・。

sudo apt-get install libwxbase2.8-0 でも 既に最新のパッケージです と言われてしまう状態です。




749 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 01:25:04 ]
>>748
ダウンロードしたら、パッケージのあるディレクトリ行って
%sudo dpkg -i wxformbuilder_3.0.56-0ubuntu1dapper1_i386.deb
みたいな感じじゃなかったか
…物凄い基本だった気がするが、Linuxやめちゃったからよく覚えてないや

つーかWindowsバイナリ走らせようとするなwwww

750 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 01:25:44 ]
Linuxじゃない、Debianだ

751 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 08:27:41 ]
debでインストールしようとするならubuntuスレで聞け

./configure & make & sudo make install
ならこのスレでもok...か?

752 名前:730 mailto:sage [2008/03/25(火) 00:08:06 ]
レスありがとうございます。
Linux初心者なもので・・ご親切にありがとうございます。

sudo dpkg -i wxformbuilder_3.0.56-0ubuntu1dapper1_i386.deb
これをやってみると、

wxformbuilder は以下に依存 (depends) します: libwxbase2.8-0 (>= 2.8.7.1) ...しかし:
システム上の libwxbase2.8-0 のバージョン は 2.8.4.0-0ubuntu3 です。

のようなエラーが出ました。どうもlibwxGtkとかlibwxbaseのバージョンが古かっただけみたいです汗
再インストールするのがめんどくさいのでwxformbuilderの方のバージョンを前のにしてインストールしてみたら今度は成功しました。
wxWidgetsのソース群はsynapticでインストールしたのですが、レポジトリが最新じゃないのですね・・

というわけで、解決しました。
微妙にスレ違いすいません&ありがとうございましたm(_ _)m


753 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 18:13:28 ]
wxWidgetsのUTF-8版はありますか?

754 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 18:22:01 ]
>>753ググレカス
www.wxwidgets.org/wiki/index.php/Development:_UTF-8_Support

755 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 02:19:49 ]
すみません。wxDev-C++でBreakPointに止まってくれないのですが、そういう症状出たことある人いますか?
バージョンは6.10です。VB感覚で作成できそうなので、残念です。
もしwxDev-C++が候補から外れると、
Code:Blocksを使ってみようかと重うのですが、そちらはちゃんとデバッグできますか?

756 名前:753 mailto:sage [2008/03/27(木) 08:58:47 ]
>>754
ありがとう。
UTF-8は目標ですか。

AnsiToUnicode/UnicodeToAnsiみたいな関数が欲しいですが、
wxWidgetsにあるんだろうか。。。

>>755
そういう症状でます。
自分の場合、ターゲットOSのデバッガでデバッグできました。
デザイン用のGUIエディタと割り切って、デバッグIDEは別のものにしてみたら?

757 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 10:08:28 ]
何でwxWidgetsだけで何でもかんでもやろうとするんだ・・・

758 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 11:24:28 ]
>>756ググレ(ry
・・・っていうかAPIリファレンスくらい目を通しておけ
wxwindowsjp.sourceforge.jp/html/2.8.4/wx_wxstring.html#wxstringwcstr

UTF-8の事だけど、試してないから正確なことはわからないが
未完成なだけで、一応使えるんだろ?
これから使うんだったら報告よろ





759 名前:756 mailto:sage [2008/03/27(木) 11:53:38 ]
>>758
さんくす。

実際にwxConvUTF8.使ってるサイトハッケソ
ttp://diary.imou.to/~AoiMoe/2004.09/middle.html
今すぐ動作させてみます。



関係ないけど、マニュアルのuft8_strを使うとコンパイルエラー、みたいな。

760 名前:756 mailto:sage [2008/03/27(木) 13:42:08 ]
>wxString SBuf;
>SBuf = "UTF-8文字列";
>wxMessageBox(SBuf, wxT("SBuf"), wxOK);
>SBuf = wxConvUTF8.cMB2WC(SBuf);
>wxMessageBox(SBuf, wxT("SBuf"), wxOK);

2番めメッセージで、空文字になってるようなorz


761 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 17:01:21 ]
Windows上で使っています。
wxWidgetsでIMEを制御する方法があったら教えてください。

TextCtrlにフォーカスが移ったらIMEがONになる、などの使い方がしたいです。

762 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 17:23:15 ]
>>760
気分転換にデバッガで追ってみた
原因はよくわからんが文字列に日本語が入ってるのがいかんらしい
"UTF-8String"で問題なかった

>>761
公式にはないようだから
自分で作るか適当に探してみ

あとwxTextCtrlはデフォで日本語入力ができるから
IMEが制御できてもあんまり意味ないとおも

763 名前:761 mailto:sage [2008/03/27(木) 17:36:16 ]
>>762
ありがとうございます。
数値を入れるTextCtrlではIMEが自動でOFFになる、と説明すればよかったです。
ググっても出てこないので、自作の道を考えてみます。

764 名前:760 mailto:sage [2008/03/27(木) 18:10:35 ]
>>762
調査ありがうとうございます。
言われるとおり日本語があるかないかで動作変わるみたいです。

ソースの日本語表記の問題ではないことを確かめるため、
コントロールから日本語入れてみました。

>wxString SBuf = WxEditPath->GetValue();
>SBuf = wxConvUTF8.cMB2WC(SBuf);

これで、Editに"aaa"と入れると、SBufは"aaa"で、sizeが3でした。
しかし、"あああ"と入れると、SBufは""でsizeは0。
日本語入れると動作しないUTF-8コンバートだなんて(><)


765 名前:760 mailto:sage [2008/03/27(木) 18:44:31 ]
>wxUSE_UNICODE
を定義してコンパイルすると、

>catch (std::logic_error &e) {
> wxMessageBox(wxT(e.what()), wxT("Error"), wxOK);
>}

といったwxMessageBoxがコンパイルエラー起こすんですが、何でですか?
ソースコードのファイルはSJISですが関係あるのかなぁ。


766 名前:760 mailto:sage [2008/03/27(木) 18:53:43 ]
あれ、wxDev-C++で、新規プロジェクトを作った直後wxUSE_UNICODEをつけてmakeすると、
コンパイルは通るけど、リンクエラーだ。
なんか難しいなorz

767 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 18:59:21 ]
>>766
wxDev-C++なんてよくわからないもの使わないでVC++を使ってください

768 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 22:22:51 ]
>>765
ソースがSJISならwxConvUTF8は使えないと思う



769 名前:755 mailto:sage [2008/03/27(木) 23:57:05 ]
>>756
ありがとうございます。デザインだけwxDev使えば良いんだね。
そういう使い方もあったか。

770 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 07:02:56 ]
>>764
根本的にわかってないなあ。overviewとかリファレンスとか読めよ。
なんでこう手探りでやろうとするかね。

c??2?? というのは MB, WC, WX があって、MBはマルチバイト文字列、
WCはwchar、WXはwxChar。
wxWidgets的にはwcharとwxCharは違う。陽にwcharを操作する状況でない限りはWXを使うべき。で、
wxConvUTF8.cMB2WC
はUTF-8表現されたマルチバイト文字列からwcharへの変換。
そこにWindowsでANSIビルド使ってるならSJISか? を渡せば変換に失敗して
何も出てこないのは当たり前の話。

>> 765
> >wxUSE_UNICODE
> を定義してコンパイルすると、

それはwxをビルドするときの設定で定義されるものだ。必要ならANSIビルドと
unicodeビルドと両方入れて、wx-configのオプションによって使い分けるんだよ。

771 名前:764 mailto:sage [2008/03/28(金) 09:28:54 ]
ありがとう。>>770

文字変換関数のみはunicodeビルドをするしかないですね。

>wx-configのオプションによって使い分けるんだよ。

難しいorz

772 名前:764 mailto:sage [2008/03/28(金) 09:32:44 ]
>wx-configのオプションによって使い分けるんだよ。

あ、wxConfigオブジェクトとwxAppオブジェクトの連携かと思って劇しく難しいのかと思ったら、
コンパイルのコマンドラインの話ですね?

なら、文字変換関数のみ別プロジェクトでwxUSE_UNICODEを定義してコンパイルしてオブジェクトモジュールを作っとくだけですよね。

その後、>>766 のリンクエラーを対処すれば終わり?

773 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 15:58:39 ]
そんなうまくいくかどうかわからんような小細工は
ここで質問してるような奴がやることじゃないと思うがなあ。

774 名前:764 mailto:sage [2008/03/28(金) 16:12:19 ]
その通りかもしれない。

wxWigetsの文字変換はやめときます。

ドズで動作するのは、ICUだけですか?
iconvは動作しませんよね。

775 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 17:27:03 ]
iconvはない。でもWindowsならOS自体に変換APIがあったと思うけど。詳細は忘れた。

776 名前:デフォルトの名無しさん [2008/03/28(金) 19:56:57 ]
windowsならmlang.dllが使える。
iconvのI/Fがいいなら

ttp://gtklab.sourceforge.jp/iconvmlang/index.html
なんかどう?


777 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 20:28:23 ]
もしかして、新Mac板にいたwx君なのか?

778 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 12:27:39 ]
ListCtrlを使っているのですが、MFCでいうオーナードローとかカスタムドローって
できないのでしょうか?
描画時のイベントやメソッドが見つからないのですが・・・




779 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 19:32:18 ]
wxFormBuilder使ってみたのですが、C++Editorでソースをいじってみようとしたら、文字の書いたり消したりが全くできませんでした。(ショートカットメニューのCopy と Select ALLだけが動く・・)
これはバグではなくて、wxFormBuilderはそういうもんなのでしょうか?
ショートカットメニューにcutとかpasteとかもあるのにdisableになっている感じなので、バグのような気がするのですが・・。

780 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 08:47:27 ]
>>776
それ、良いですね。

何でかというと、wxDev使ってるせいで、デザイン中はWinなんです。
そこで、iconvでWinとUNIX系と同じコードにできるなんて理想。

781 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 18:16:01 ]
wxLocalのオブジェクトってグローバルであるのでしょうか?
どうやって取得すれば。。。

それとも自分でnewするもんでしょうか。

782 名前:781 mailto:sage [2008/03/31(月) 18:45:34 ]
なんか分らないけど、
>include
して、
>wxLocal::メソッド
と書くと、
コンパイル&動作しました。

グローバルオブジェクトなのか、スタティックメソッドなのかどっちかでしょう。

783 名前:デフォルトの名無しさん [2008/03/31(月) 19:25:03 ]
>wxLocale::GetSystemEncodingName()
>windows-932

この値は、iconv_openで使う文字列でしょうか?

784 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:05:31 ]
>>782-783
理解できないまま、推測だらけでコーディングするのは良くないよ
自分で試したり、質問する前にちゃんとドキュメント読んだり、検索してる?

785 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 23:51:05 ]
似たような事を別スレで言われてMac板へ向かった彼じゃないか?

786 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 02:05:32 ]
>>778
wxListCtrl - Ownerdraw: msg#00755

osdir.com/ml/lib.wxwindows.general/2004-01/msg00755.html
で質問している外人さんがいるけれど、答えは「自作リストコントロールを作りました」になっています。

しかし、
jaist.dl.sourceforge.net/sourceforge/wxwindows/changes-2.8.7.txt
ここを見ると、「Support right-aligned/centered owner drawn items in wxListCtrl」と書いてあるので、何かやり方があるのかも。

787 名前:デフォルトの名無しさん [2008/04/01(火) 16:04:23 ]
wxMac(Mac OS X)で、
システムメニューのHelpを押したときの処理を書く方法はありますか?
もしくはシステムメニューのHelpの下にサブメニューを作りたいです。

(IDEはwx-Dev C++ですが、手書きで良いので)

788 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 00:31:40 ]
すみません。 eclipse + CDT + MinGW + wxWidgets の環境構築の方法を解説したサイトはありますか?
ちなみにOS は Windows XP です。
古い情報は何件か見つけたのですが、うまくいきませんでした。





789 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 10:30:04 ]
>>787
www.wxwindows.org/docs/faqmac.htm#aboutmenu
ここに書いてあるみたいだけど、英語だからワカンネー (´・ω・`)

790 名前:787 mailto:sage [2008/04/02(水) 10:44:08 ]
サンクス>>789

ググる翻訳でうっすらと分かる感じです。
とりあえず、Menu IDを合わせると動くのかなぁ。

----------
アップル社はどのような標準をサポートしてwxmacメニュー項目については、ヘルプメニューですか?
wxwidgetsがないため、特定のAPIには、 [ ヘルプ ]メニューまたはメニュー項目については、 Mac OSのポートが使用する静的変数を助けるためのいくつかのエンジンを的確に判断する:

・それを前提としてメニュー項目については、 ヘルプメニュー部分です。
・ [ ヘルプ ]メニューのタイトルは、保存されwxapp : : s_machelpmenutitlenameと、デフォルトの" &ヘルプ"が、それを変更することができますし、お客様の特定のコンストラクタをメニューのタイトルです。
・メニューアイテムのID については、保存されwxapp : : s_macaboutmenuitemid 、 wxid_aboutデフォルトでは、変更することもできますが、お客様のニーズに合わせている。
・wxwidgets 、他のアイテムは、 [ヘルプ]メニューに追加されると、マックOS ヘルプ ]メニューの翻訳文のお申込みのためのIDは透過的に処理されます。

791 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 12:18:01 ]
wxpython だったらできた。

ttp://www.harukaze.net/~haruka/wxpython/wxpy09.html
を参考に、

self.HelpMenu = wx.Menu()
ID100 = wx.NewId()
self.HelpMenu.Append(ID100, u"ヘルプ", "help") #Helpメニューの下にプルダウンされる内容
MyMenuBar = wx.MenuBar()
MyMenuBar.Append(self.HelpMenu, "&Help") #Helpメニューを追加する
self.Frm.SetMenuBar(MyMenuBar)
self.Frm.Bind(wx.EVT_MENU, self.Alert, id=ID100)

とした。
About の方は、wx.ID_ABOUT で指定しても動かなかった

792 名前:787 mailto:sage [2008/04/02(水) 12:50:31 ]
>>791
wxpythonででも、出来るってことは出来るってことだね。

そのままC++コードに移せそうですね。

ま、最悪、wxpythonをデバッガでトレースか。

793 名前:788 mailto:sage [2008/04/02(水) 23:31:49 ]
windows版 eclipseでは、wx-configを指定したらダメなんでしょうか。

794 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 02:22:32 ]
wxFormBuilderで、既に存在しているウィジェットを継承したクラスをwxFormBuilder上で作って、
そのクラスをや他のクラスを含んだコードをクラス毎に1ファイルずつ分割して吐かせたいのですが、どうすればできるでしょうか??

subclassやらcustom control などの情報を探して色々やってみたのですが分かりませんでした。
どなたか教えていただけると幸いです。


795 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 10:47:50 ]
wxMacを使っていますが、デバッグコンパイルでさえ実行ファイルが92KBしかありません。
多分、ランタイムが必要なコンパイルとなってると思うのですが、
スタティックリンクにするための手順をご存知の方教えて頂けないでしょうか?

796 名前:デフォルトの名無しさん [2008/04/04(金) 17:42:29 ]
 ↑
この内容ヨロ!

797 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 18:24:41 ]
Mac板で聞くほうがいいんじゃね?

798 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 18:27:39 ]
 ↑
あんまり回答こないYO!



799 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 18:33:29 ]
何が原因かわからないけど、もうちょっと問題の切り分けをしたほうがいいんじゃね?
wxWidget の問題なのか、C++なのか、XCode なのかとかさ。

800 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 18:37:47 ]
するどいですね。
XCode使ってます。

逆に言うと、全く皆目見当つかなくて、切り分けできないので質問なげてます。
切り分け出来たら、あとはリファレンスとか何とか手に入れて全パターン試すだけですもんね。

ライブラリの構築(--disable-sharedですか?)の失敗なのか、
プロジェクトのmakeのコマンドラインが悪いのか。。。

801 名前:795 mailto:sage [2008/04/04(金) 18:48:38 ]
もしくは、バンドルするDLLを特定できれば良いのですが。。。

802 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 18:58:07 ]
XCodeでどう設定されてるかわからんけど、
wx-config --static=yes --libs
で出てくるオプション指定するとどうかな

使ってる共有ライブラリを特定するには
otool -L バイナリファイル名
で出てくる

803 名前:794 mailto:sage [2008/04/04(金) 19:07:00 ]
放置されっぱなしの794ですが、分かる方いらっしゃいましたらこちらも教えていただけると幸いです。

795さんうらやますぃ

804 名前:795 mailto:sage [2008/04/04(金) 19:15:39 ]
サンクス。

>wx-config --static=yes --libs
「他のリンクフラグ」に入れましたが、ダメみたいです。(入れ方が悪いのかも。いろいろ試してみます。)

>otool -L バイナリファイル名
/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 128.0.0)
/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 18.0.0)
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 22.0.0)
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 11.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.1.3)
/System/Library/Frameworks/WebKit.framework/Versions/A/WebKit (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/QuickTime.framework/Versions/A/QuickTime (compatibility version 1.0.0, current version 63.0.0)
/System/Library/PrivateFrameworks/ZeroLink.framework/Versions/A/ZeroLink (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)

こんな感じです。多杉orz

805 名前:795 mailto:sage [2008/04/04(金) 19:36:51 ]
プロジェクトのオプションが、
>ライブラリ検索パス
>フレームワーク検索パス
が空文字でした。

これが問題なのかな?

806 名前:795 mailto:sage [2008/04/04(金) 19:47:29 ]
検索パスは空ですが、
プロジェクトのメンバーにライブラリファイル
>mac-ansi-release-static-2.8
がちゃんと入っていました。

逆に、
>*.a
ファイルまで入ってるため、ダイナミックリンクになっちゃうのかな?

807 名前:795 mailto:sage [2008/04/04(金) 19:58:03 ]
やっぱり、*.aファイルも無いと動作しません。

リリースビルドを行うと、
>/usr/bin/ld: can't locate file for: -lwx_base_carbon-2.8
というエラーになりましたorz

808 名前:デフォルトの名無しさん [2008/04/04(金) 22:57:30 ]
>>794
もっと図太くならないと。バンバンageながら、質問やら状況を795並みにするんだ。
恥ずかしくなんか無い!!




809 名前:転載せざるをえない mailto:sage [2008/04/04(金) 23:05:24 ]
「エスパーきぼんぬ」「氏ね」「(゚Д゚)ハァ?」等のレスを貰う八ヶ条。
1. ハードウェア、OSのバージョン等には一字一句触れない。
2. 大切な個人情報が漏れるとまずいので、己の行った操作、変更などは秘密。
3. エラーメッセージの類は決して書かない。「エラーが出るんです」で留める。
目の前で生じている現象をそのまま具体的に書くなどもっての外。
事実より俺様の脳内解釈を優先すべし。
4. 独り言文体で必勝。
「…なんだけど、どうすればいいのかなぁ」「何が悪いんだろう?」
5. 「急いでいます」「困っています」等、自分の都合を全面に押し出す。
6. もう試したことを得意げに指摘してくる奴には、厳しく対応。
「それが駄目だったから質問してるんです」「それはもう試してみて駄目でした」
"どう"だめだったのか、本当に実際それを行ったかどうかなんか問題じゃない。
7. ストレートに答えを書かないもったいぶったレスには、逆切れで対応。
「だからどうすればいいんですか?」「分からないなら引っ込んでろやゴルァ」
示されたURL等を参照するなんて態度は、回答者を甘やかすことに他ならないので
絶対に避ける。
8. 情報は小出しに。

「エスパーきぼんぬ」 補足
上の八ヵ条を「一つでも」満たす者は質問者として不適格だということだ。
そのような悪い質問に対して答えられるのは,
質問者の意図をすべて汲み取ることのできるエスパーでもなければムリ,
という意味であって,決して,高度な技術を持つユーザに対する尊称ではない。
まちがっても「エスパーの方,回答お願いします」
なんて痛い質問するな。つうか氏ね。

810 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 23:11:06 ]
wx-config --static=yes --libs
をオプションに入れるんじゃなくて、これを実行して出てくるオプションを入れてくれ
というか一体どうやってビルドできるところまで設定したのよ

811 名前:デフォルトの名無しさん [2008/04/04(金) 23:20:44 ]
エスパーって(w
794がかわいそうすぎる

812 名前:794 mailto:sage [2008/04/04(金) 23:26:42 ]
>>808 さん
ありがとうございます。

神経細いわけではないと思うんですが笑、
状況を詳しく書こうと思っても、エラーが出るとかじゃないですしOSどうこうってわけでもなく、単純に使い方が分からないってだけなのでこれ以上説明できることが何もないのです・・。

wxFormbuilder使えば、wxFormbuilder上で既存のウィジェットを継承したクラスを作成できると思っているのですが、そもそもそれが間違っているのでしょうか??

ていうか809は俺のこと言ってるんですかね?汗


813 名前:809 mailto:sage [2008/04/05(土) 02:55:06 ]
あぁ御免、誤爆だな
そういや開いてから3時間ぐらい放置してたわ

…それだけだと何なので、
wiki.wxformbuilder.org/Tutorials/UsingSubclass
こういうことではないの?

814 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 09:25:00 ]
>>794
wxFBではクラスを作ることはできないので、自分で作るしかない。
ただ、作ったクラスを使うことはできる。適当にコントロールを置いて、プロパティのところに、includeするヘッダとクラス名を書けば
そのクラスを使うようにはなるが、コンストラクタへの引数やスタイルなどのプロパティは置いたコントロールに依存するので、paneあたりを
継承すれば、wxWindowあたりを継承したコントロールなどにも対応できる。

MS VC++のMFCのようなものではなくて、リソースファイルを作るぐらいに考えるといいのかな。
ウィンドウやダイアログごとに別ファイルにしたいなら、作者に要望を出すとか、ソース公開されてるから自分で変えるとか・・・

815 名前:794 mailto:sage [2008/04/05(土) 13:54:14 ]
レスありがとうございます。

> 813 さん
そのページも見たのですが、どうもサブクラスに使う名前とヘッダーファイルを指定できるだけのような感じがして、求めているものじゃない感じでした。


> 814 さん
>>wxFBではクラスを作ることはできないので、自分で作るしかない。
>>MS VC++のMFCのようなものではなくて、リソースファイルを作るぐらいに考えるといいのかな。
やっぱりそういうものだったのですか。
情報ありがとうございました。

逆に、継承クラスを書いたり、クラス別にファイルを吐き出してくれたりするwx関連のRADツールみたいなものはないのでしょうか??


816 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 19:23:00 ]
>>815
自分でコードを書いて作ったコントロールを
wxFormBuilder上でフォームに貼ることならできるみたい。
wiki.wxformbuilder.org/Tutorials/CreatingCustomWidgets

これだけ調べて出てこないということは、
wxでは、コントロールはコードで書く必要があるのではないかと。

817 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 23:58:12 ]
自分もRADツール使おうと思って色々探していて、
wxFormbuilder か wxDev C++ っていうのが一番よく見かけるような気がしたのでどちらかにしようかと思っているのですが、それぞれどういった特徴があるんでしょうか??
なんか上のやりとり見ているとの実際使ってみても何ができて何ができないのかすぐに分からなそうな気がしたので、詳しい方に教えてもらう方が早いかと思いました。
よろしかったらどなたかご教示ください。

818 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 19:05:35 ]
wxFormBuilderはRADツールではない。



819 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 12:50:10 ]
RAD なら wxForms がいいかも。
ただし Borland/CodeGear C++ Builder 用のアドインだけど。

820 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 13:11:03 ]
>>819
それ使って上での話?
C++Builderなら使ってるんだけど、
wxWidgetsは心機一転、別のIDE(wx-dev)にしちゃったおorz

821 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 13:50:41 ]
>>820
いや、使ってない。
Web 上の資料を見て「RAD じゃん!」と思ったので。

822 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 13:57:35 ]
自分は Python な人なので、GUI 作成には XRCed を使ってます。

823 名前:795 mailto:sage [2008/04/09(水) 13:59:07 ]
>>810
有り難うございます。出力されました。

-L/MyDev/wxMac-2.8.7/lib -framework IOKit -framework Carbon -framework Cocoa -framework System -framework QuickTime
/MyDev/wxMac-2.8.7/lib/libwx_mac_richtext-2.8.a /MyDev/wxMac-2.8.7/lib/libwx_mac_aui-2.8.a /MyDev/wxMac-2.8.7/lib/libwx_mac_xrc-2.8.a
/MyDev/wxMac-2.8.7/lib/libwx_mac_qa-2.8.a /MyDev/wxMac-2.8.7/lib/libwx_mac_html-2.8.a /MyDev/wxMac-2.8.7/lib/libwx_mac_adv-2.8.a
/MyDev/wxMac-2.8.7/lib/libwx_mac_core-2.8.a /MyDev/wxMac-2.8.7/lib/libwx_base_carbon_xml-2.8.a
/MyDev/wxMac-2.8.7/lib/libwx_base_carbon_net-2.8.a /MyDev/wxMac-2.8.7/lib/libwx_base_carbon-2.8.a
-framework WebKit -lwxregex-2.8 -lwxexpat-2.8 -lwxtiff-2.8 -lwxjpeg-2.8 -lwxpng-2.8 -lz -lpthread -liconv

>というか一体どうやってビルドできるところまで設定したのよ

XCodeにFinderからてきとーにD&Dしました。

824 名前:815 mailto:sage [2008/04/09(水) 14:24:18 ]
>>816さん
うーむないのしょうかね・・
レスありがとうございましたm(_ _)m

825 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 19:05:59 ]
>>823
頼むから、内容を細切れにして、いろんなスレでマルチで聞くのはやめてくれ。
誘導元か、関連するレスのリンクを貼ってくれないと状況が理解できない。
そんなんだと、根本的な問題の原因を見抜けなくてドツボにはまるかもよ。

826 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 20:14:28 ]
原因を解決する気があればこうも糞みたいな書き込みを続けないって。


827 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 21:35:35 ]
>>822
俺はRubyな人だけどXRCedが一番使いやすいと思ったわ

828 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 07:55:35 ]
いいよね



829 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 21:00:42 ]
>>822 wxGlade はだめなの?

830 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 21:18:14 ]
Gladeは安定性が低い

831 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 17:21:30 ]
windows Home, MinGW 5.1 wxMSW2.8.7 で開発しています。

簡単なGUIハローワールド程度のプログラムならコンパイルできる状態なのですが、
普通に g++ sample1.cpp sample2.cpp `wx-config --cppflags --libs`
とした時に、リンク時に、
undefined reference to `wxWindow::RegisterHotKey(int, int, int)'

undefined reference to `wxWindow::UnregisterHotKey(int)'
などのエラーが出るソースがあります。(コンパイルには成功しているみたいです。)

ググってみたのですが、情報が少なく解決できていません。(英語苦手というのもあります汗)
www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=GGLJ,GGLJ:2006-39,GGLJ:ja&q=undefined+reference+to+%60wxWindow%3a%3aRegisterHotKey%28int%2c+int%2c+int%29%27

解決方法分かる方いらっしゃいましたら、教えていただけると幸いです。


832 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 17:37:29 ]
すいません追記です。
上記のソースは1つのLinux環境と2つのWindows home 環境で試したのですが、Linux環境ではリンクにも成功してビルドできるのですが、Windows Home 環境では両方ともリンクに失敗します。
なので、WindowsにインストールされているwxMSWで設定がおかしいところがあるのかなと思うのですが・・


833 名前:831 mailto:sage [2008/04/11(金) 18:54:27 ]
すいません自己解決しました。

wx-config --libs で使うライブラリがmsys の /usr/lib
になければいけなかったのですが、なぜだか/local/lib にインストールされていたせいでした。
/usr/lib にコピーするだけで解決しました。
wxWidgetsインストール時のバグだったんでしょうか。。


834 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 20:31:28 ]
>>829
wxGlade は、次の2点が理由で好きではないのです。

1. 自分の書いたコードと自動生成されたコードがまざるのが不安
2. Output Path に指定したパスが保存したファイル(*.wxg)に入ってしまう。

特に2番は、複数マシンで開発をしているときに困ります。

835 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 20:41:34 ]
>>833
>wx-config --libs で使うライブラリがmsys の /usr/lib
>になければいけなかったのですが、なぜだか/local/lib にインストールされていたせいでした。

prefix指定しなかったのならデフォルトで /usr/local/lib にインストールされる。それが普通。
あと別に /usr/lib になければいけないなんてことはなくて
コンパイル時に -L/usr/local/lib つければいいだけ。
wx以前にgccの使い方の話なんでその辺勉強してみるといいかも。

836 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 00:57:03 ]
>>834
>1. 自分の書いたコードと自動生成されたコードがまざるのが不安
C++で使ってるけど,wxGladeの吐く.cpp, .hとは別のファイルにそれから
派生したクラスを定義して,実装は派生クラスに書いて,wxGladeの吐く
コードとはほぼ完全に分離できている。

>2. Output Path に指定したパスが保存したファイル(*.wxg)に入ってしまう。
.wxgからの相対パスで指定すればOKかと。

837 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 05:51:46 ]
>>835
wx-config って、その -L とかを自動で指定してくれるスクリプトのはずなんだよ。
それが必要なパスを吐かないなら、設定に問題がある。
インストールがうまくいかなかったんじゃないかな。

838 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 10:58:54 ]
>>834
自分は Python 形式で書き出しているので、
書き出されたファイルの一部に手を加える必要があります。
(最低でも ID 宣言とか)

相対パスで指定できるのは知らなかったです。
試してみます。



839 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 21:18:32 ]
>>837
ど素人なのすが、Windowsではwx-config は msys上でしか使えませんか?
eclipse上で指定したいのですが無理ですか?

840 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 11:54:53 ]
バッチファイル作ってラップするとか
@c:\msys\1.0\bin\sh.exe --login -c "wx-config %*"
こんな感じでwx-config.batとか作るといいかもしれない
eclipseでバッチファイルをそのままオプションに指定できるのかどうかはわからないが

841 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 18:02:18 ]
wxPythonで画像変形の高速化を行ないたい
のですがwxImageの画像データを直接取得する
方法はありませんか。GetData,SetDataでは
コピーしか渡らないようでうまく行きません。
PIL,Pygameによる画像変形は転送がネックに
なり高速になりませんでした。
PyOpenGLでは画像を直接取得できそうなのですが
画像が大きくなる(2048*2048)とリソースで
問題が出るようで試していません。
御教示お願いします

842 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 18:43:25 ]
>>841
wxImageのGetDataならピクセルデータを直接得られるはずだよ。
少なくとも、自分のところではそうなってる

843 名前:841 mailto:sage [2008/04/14(月) 01:39:36 ]
>>842
Python上で出来ました?
言葉が足りなかったので補足しますと、
wxImageの画像アドレスを知りたいのです。
ctypesでGetDataから渡された文字列を
強制的に書き換えても画像に反映されないので
コピーが渡されているようです。

高速化するにはDLLから直接書き換えるしか手が
なさそうなのですが、やっぱり無理
かなぁ。メニューのフォントサイズ変えるため
MenuItem.SetFontしたら落ちるし、前途多難…

844 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 03:11:03 ]
>>843
wx.ImageのGetDataBufferはダメだった?

845 名前:843 mailto:sage [2008/04/14(月) 17:22:28 ]
>>844
御回答有難うございます。
GetDataBufferってあったんですね。_core.py見なおしたら
見つかりました。返却値はbufferオブジェクトですね。
str()はありますがアドレスは隠蔽されてるみたいです。
Pythonからのアクセスはかなり快適で面白いオブジェクト
でしたが…残念。

答えていただけそうなのでもう1件お尋ねします。
wxBitmapを大量に格納しようとするとすぐ落ちて
しまいます。wxImageでは問題無いのでシステムリソースに
格納してるのかとも思っているのですが、その
限界を知る方法がよく分りません。御存知の方が
いましたら御教示お願いします。

846 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 19:52:08 ]
Python から wxDC を渡してやって、
DLL 側で画像描画をできないだろうか…と
ちょっと思ったり。

ファイルからの Bitmap の読み込みも DLL 側でやる感じで。

847 名前:843 mailto:sage [2008/04/14(月) 22:50:17 ]
GetDataBufferの件でやっと気付いた。
bufferオブジェクトってインタラクティブな状態で
見ると実体アドレスが出てる。bufferオブジェク構造体から
アドレスを拾えるみたいです。ctypesで直接書き込んで
確認できました。pyrex使えばなんとかなる…かも
教えていただき有難うございました。

>>846
ちょっと似たことをPILのImageWin.Dibでやってみました。
描画はPILからwxでwxのDCにPILからpasteする方法です。
結果はクリッピングがとても面倒で実用になりません
でした。pythonオブジェクトはpyrexで簡単に
拾えるかもしれませんが私の能力では実現は厳しそうです。


848 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 19:07:29 ]
ちょっとお尋ねしたいのですが、ubuntuでwxWidgetsを使って開発していたソースをWindowsの方に移してコンパイルしようとすると、文字化けしました。
ソースの文字コードがUTF-8だったので、UbuntuではwxWidgetsの文字コードがデフォルトでUTF-8になっていて、WindowsではUTF-8ではない(多分S-JIS?)ということだと思うのですが、結局Windowsでは文字コードは何で開発するのがいいんでしょうか?
どういう観点から考えて決めればいいのか分からないので、ご助言頂けると幸いです。




849 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 22:09:40 ]
>>848
wxWidgets をインスコする際に UTF-8 モードか ANSI モード(すなわち日本語だと shift jis モード)か選択出来るので、
クロスプラットホームのために wxWidgets をつかってるなら使うプラットホームでそれを同じにしておいたほうがいいです。

どっちにするかですが、これからの時代は何も考えず UTF-8 にしておくのがよいと思います。単に業界の趨勢なので。


850 名前:848 mailto:sage [2008/04/16(水) 00:01:26 ]
>>849さん
やはりUTF-8ですか。
,/configure のときに --enable-unicode でいいのですよね。

レスありがとうございましたm(_ _)m

851 名前:850 mailto:sage [2008/04/18(金) 12:54:56 ]
すいません
./configure --enable-unicode
でmake し直したのですが、
やはりUTF-8のソースをビルドするとインターフェース部分のマルチバイト文字が化けてしまいます。
どうすればUTF-8のソースを文字化けせずにビルドできるようになるでしょうか?

Windows Home
wxWidgets 2.8.7 です。

どなたか教えていただけると幸いです。


852 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 17:47:58 ]
コンパイラにUTF-8を認識させなければならない。BOMありUTF-8にできるならファイルを変換すべきだが、gccでは使えなくなる。
VCならBOM有りの場合にはshift jisに変換後にコンパイルしてくれる。当然、埋め込んだ文字列はMBCSのShift_JISになる。
そこで、Shift_JIS->UTF-8への変換をプログラムでやる必要がでてくる。
もう一つの方法は全て英語で書きASCIIにして、.po/.moファイルを作成しi18nにより日本語を表示する。
この場合全てasciiなので、UTF-8とShift_JISは同じものとなるので、特に問題は生じない。

853 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 23:37:55 ]
というかポータビリティーのために wx を使っているのなら、
そもそもマルチバイト文字列をソースコードに書き込むのは
ポータビリティー上良くないということを認識しましょう。
コンパイラによって扱いが変わってくるので。

将来誰かが非日本語版のを作る場合とかも考えて、
(オープンソースなら誰か勝手にやるだろうし、会社でやってても
中韓国語版をつくることになるかもしれない)
ソースは ascii にして、wx の国際化機能をつかってやるのが吉。

ちょっと手間でも、いま払っておいた手間が後で
格段に仕事を節約することになります

854 名前:843 mailto:sage [2008/04/19(土) 01:58:58 ]
>>864
言われた意味がよくわかりました。ConvertToBitmapが
滅茶苦茶遅い!本気でImageからDCに直接描き込もうか
とも考えましたが、別の解決策があったので止めました。
でもScaleやRotateの出力先くらい指定できた方が
扱い良さそう。

実験としてwxPython用のコンボリュ−ション行列と
YUV操作関数作ったけど…誰も要りませんよね

855 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 03:49:33 ]
車輪の再発明をしても仕方がありませんし、公開に値するしろものでもありませんので
将来的にもソースは出せないと思います。
ゆくゆくは自作のプログラムに組み込めればそれでいいかな、と。

856 名前:854 mailto:sage [2008/04/19(土) 05:03:13 ]
>>855
直接wxImageをPythonからいじるノウハウについて
言ってるだけですよ。swig通してオブジェクトを
いじれれば質問もせずに済んだんですけど

857 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 14:34:24 ]
>>864のすばらしいアドアイスにwktk

858 名前:854 mailto:sage [2008/04/19(土) 23:09:46 ]
>>3のコピペは個々の解決法は不要という事ですね。
wxImageからDCに直接描画するwxPythonライブラリも
作ったけど御忠告に従います。有難うございました。



859 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 12:27:47 ]
>>858

いや、>>3 のコピペは「作ったのに公開しない人」を皮肉ったもので
悩まずどんどん公開すべきという意味だと思います。

860 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 12:32:53 ]
口だけで実は何も作ってない奴が成果物提示を要求された時の逃げ口上だろ。

861 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 21:21:39 ]
pc8.2ch.net/test/read.cgi/tech/1097524712/664
664 名前:デフォルトの名無しさん [sage]: 2006/01/09(月) 04:46:55
wxWidgetsのwxScintilla(wxStyledTextCtrl)に手を加えているのですが
意見をもらえないのでしょうか?
www.geocities.jp/full_sarcasm/testedit.html

開発途中のWindows版バイナリです。

車輪の再発明をしても仕方がありませんし、公開に値するしろものでもありませんので
将来的にもソースは出せないと思います。
ゆくゆくは自作のプログラムに組み込めればそれでいいかな、と。

862 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 12:25:27 ]
>>839
遅いけどこんなんあった
miteidesu.seesaa.net/article/93929180.html


863 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:21:52 ]
>>862
おぉぉぉ。すばらしい。明日試してみます!

864 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:03:40 ]
Eclipse CDT と MinGW でwxWidgets使ったプロジェクトの開発しているのですが、gdbでデバッグしようとすると、頻繁にエラーが出て落ちます。

同じ症状のかたいらっしゃるでしょうか?
wxWidgets と gdbは相性が悪いのだろうか・・


865 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 18:08:21 ]
Linux上では全然問題ないよー
MinGW固有の問題かな?

866 名前:864 mailto:sage [2008/04/25(金) 00:34:38 ]
むーそうですか。。ありがとうございます。


867 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 14:41:33 ]
docs.wxwidgets.org/2.8.6/wx_wxfileconfig.html#wxfileconfigctor
ここを見るとwxFileConfigクラスのインスタンスを宣言する時は、引数にwxInputStreamクラスのオブジェクトが必要なようなのですが、
wxInputStreamクラスのインスタンスはどのように宣言すればいいのでしょうか??
docs.wxwidgets.org/2.6/wx_wxinputstream.html#wxinputstreamctor
ここを見ると creates dummy input sream となっていてよく分かりません。
設定ファイルに使うファイルのパスを何かしらの方法で引数のwxImputStreamクラスのオブジェクトの中に入れておかなければいけないと思うのですが・・
wxwindowsjp.sourceforge.jp/docs/html/wx/wx464.htm
ここも見てみましたが、探している情報は載っていないように感じました。
どなたか教えて頂けると幸いです。


868 名前:845 mailto:sage [2008/04/25(金) 23:36:24 ]
大量のwxBitmap格納で落ちる事への自己レスです。
私の環境はWin98だったのですが、この場合内部で
DIBもしくはDDBを作成する為システムリソースを
食い潰す事が原因のようです。Win9xはリソース上限が
2M程度と聞きますが実際はよく分りません。
Win上でスクリプトからなら大量の画像はwxImageで
管理した方がよさそうです。

wxのソースをみてたらwxImageの処理があんなに
遅い訳がわかります。せめてAlphaの有無で
ループを別けてくれれば拡縮とかは少しは速く
なりそうなんですが…。



869 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 23:58:00 ]
まだ Win 98 なのなら、XP 売っているうちに買っておいたほうが良いよ >>868

870 名前:845 mailto:sage [2008/04/26(土) 00:51:40 ]
>>869
そう出来ればいいですねぇ…
リソース浪費するのは同じなのでWin2000以後も
この件に付いては気をつけたほうが良いとも
思います。ソースを追っていませんし管理方法に
詳しくありませんが、wxはDIBとDDBを使い分けてる
ようでDDBならVRAMの容量が処理能力に直結する
気がします。

871 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 05:17:33 ]
>>867
wxFileInputStreamで開けばいい。

872 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 09:32:15 ]
>>870
Vista WDDM以降、DDBはDIBみたいに振る舞うので注意。

873 名前:845 mailto:sage [2008/04/26(土) 18:13:24 ]
>>872
勉強になりました。
M$の言い分としてはVistaが動かせるようなPCなら
気にする事ではないんでしょうねぇ。

874 名前:867 mailto:sage [2008/04/26(土) 19:59:52 ]
>>871 さん
ありがとうございます。wxFileInputStreamなんてクラスがあるんですね。

ただ、また疑問点が出てきてしまいました。
www.h3.dion.ne.jp/~k5_n/wxwin/memo/ver0_2.html
ここを見て設定ファイル周りのコードを書いていたのですが、
そもそもwxFileConfigのコンストラクタの引数型が
docs.wxwidgets.org/2.8.6/wx_wxfileconfig.html#wxfileconfigctor
ここに書いてあるものと全然違うことに気付きました。
そもそもアプリケーションの設定ファイル周りの機能を作るにはwxFileConfigクラスを使うので正しいのでしょうか?
www.h3.dion.ne.jp/~k5_n/wxwin/memo/ver0_2.html
この資料は大分古いようなので・・(自分はwxwidgets2.8.7を使ってます)

ちなみにこの資料に書いてある通りに書くと、
wxFileConfigクラスのインスタンスのRead関数は正常に動くのですが、Write関数が正常に動きません・・
コンパイルは成功しているのですが、Write関数で設定ファイルを更新しようとしても何も更新されません。。

どなたかアドバイス頂けると幸いです。


875 名前:デフォルトの名無しさん [2008/04/27(日) 08:11:31 ]
MacのwxPythonでwx.MessageDialogのアイコンがどれ選んでも蛇が入ったロケットみたいなアイコンなんですがバグでしょうか?

876 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 10:02:27 ]
仕様です

877 名前:874 mailto:sage [2008/04/28(月) 12:19:09 ]
874です。
wxFileConfig::Write(); が、コンパイルには成功するのに正常に動作しない問題が解決しました。

正常に動かないときは

wxFileConfig* m_pConfig
..略..
m_pConfig->Write(wxT("sample"), 10);

のように、wxFileConfigのポインタからアロー演算子でWriteメソッドにアクセスしていたのですが、

wxFileConfig m_Config(コンストラクタの引数);
m_Config.Write(wxT("sample"), 10);
のように、ポインタにせずドット演算子でWriteメソッドにアクセスすると、書き込みに成功しました。

これはwxWidgetsのバグなんでしょうか??
どなたか同じ症状の方はいらっしゃるでしょうか?

878 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 13:15:54 ]
ポインタだけで実体作ってなかったとかいうオチは許さんぞ。



879 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 13:16:20 ]
>>877
そんなバグは聞いたことがない。
m_pConfigの実体を確保し忘れてるとか、多分そんなのが原因だと思う。

880 名前:874 mailto:sage [2008/04/28(月) 15:38:11 ]
・・・
#include "wx/wx.h"
#include "wx/config.h"
#include "wx/fileconf.h"

wxString config_file = wxGetCwd();
#if defined(__WXMSW__)
config_file += "\\";
#else
config_file += '/';
#endif
config_file += APP_CONFIG_FILE; // APP_CONFIG_FILEはdefineマクロ

wxFileConfig* m_pConfig = new wxFileConfig(
wxEmptyString,
wxEmptyString,
config_file,
wxEmptyString,
wxCONFIG_USE_LOCAL_FILE);

int dt = 10;
m_pConfig->Write(wxT("sample"), long(dt));


newで実体確保できてますよね??(おそるおそる)
これをビルドしようとするとコンパイルもリンクもできるんですが、
m_pConfig->Write(wxT("sample"), long(dt));
の部分を実行しても何も起きないんです。
Read();は普通に動くんですが・・


881 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 15:57:16 ]
ちゃんとdeleteしないと書き込まれないんじゃないか?

882 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 16:20:22 ]
Flush()しない場合はデストラクタで書き込まれる、とあるな。
両方やってないから書き込まれない。

883 名前:874 mailto:sage [2008/04/28(月) 16:39:36 ]
>>881さん
>>882さん

レスありがとうございます。

Write(); のあと Flush(); でいけました!まじありがとうございます!

Flushが必要、という情報が見つけられないのですが、よろしかったらソースを教えて頂けないでしょうか??
あと、「両方やってないから書き込まれない」の「両方」とは、Flush(); と、あともう1つは何でしょうか??


884 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 16:45:51 ]
>>883
>>882 を読んでそれが何かわからないようならC++を勉強しなおした方がいい

885 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 16:48:43 ]
>>883
「両方」じゃなくて「どちらも」の間違いだった。どちらかでも行えば書き込まれる。
あと、人に聞くまえにリファレンスを読め。


886 名前:874 mailto:sage [2008/04/28(月) 17:18:22 ]
docs.wxwidgets.org/stable/wx_wxconfigbase.html#wxconfigbaseflush

permanently writes all changes (otherwise, they're only written from object's destructor)
部分だったんですね。。

docs.wxwidgets.org/stable/wx_wxconfigbase.html#wxconfigbasewrite
こっちのWrite();のリファレンスの方には
write the specified value to the config file
ってあるので、Write();だけでファイルに書き込めるのだと思っていました。全く分かりませんでした。。

ありがとうございましたm(_ _)m


887 名前:851 mailto:sage [2008/05/02(金) 23:40:36 ]
>>852 さん
>>853 さん
めちゃくちゃ遅くなってすいません・・
レスありがとうございましたm(_ _)m
なんか書き込んだと思ったら書き込んでなかった?ようです><
すいませんm(_ _)m

888 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 01:24:28 ]
wxPythonの質問なんだけど、ここで大丈夫?
勉強し始めたばかりなんですが、トップフレームにボタンを作って、
このボタンを押すと、別スレッドで重い処理を実行させて、終わったら
「終わりました。」てメッセージボックスを表示させるプログラムを書いてます。

別スレッドのなかでwx.MessageBox("終わりました。","")を実行すると、
Windowsでは普通に表示されてOKボタンでメッセージボックスが閉じますが、
Linux(GTK)だとメッセージボックスが表示されますが、固まってしまいます。

WindowsとLinuxどちらの動作が正常なんでしょうか?
(wx.Frameなどを継承していない)別スレッドのクラスからwxを使っていいのでしょうか?



889 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 19:56:05 ]
どっちが正常ってか、Windowsで固まらないのはまぐれ
docs.wxwidgets.org/stable/wx_threadfunctions.html#wxmutexguienter

890 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 20:18:36 ]
>>889
ありがとうございます。
やっぱり何も対策を取らないと固まるんですね^^;
wx.MessageBox("終わりました。","")の手前にwxMutexGuiEnter()を書いて、
直後にwxMutexGuiLeave()を書いて試しましたが、wxMutexGuiEnter()で
固まってしまいました。たぶんMutexの初期化?が足りないのかもしれません。

wiki.wxpython.org/LongRunningTasks
ここを参考にwx.PostEventを使って、Windows&Linuxで思い通りの動作になりました。

891 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 07:22:33 ]
windows xp MinGW環境ですが、openGLを使いたいと思い、
config.gccのopenglのオプションを有効にしてgccでコンパイルしました。
openGL用のライブラリがリリース版とデバッグ版の2つできたのですが、
2つともファイルサイズが40kb程度しかありません。
これで正しくライブラリができているのでしょうか?

892 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 12:11:45 ]
wxStringオブジェクトを走査して特定の文字列が何回出てくるか調べたいんですが、それ用の関数ってないですよね??


893 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 12:24:10 ]
>>891
GLCanvasってレンダリングコンテキストのハンドリングぐらいしかやってないんじゃないかな。それだけならそんなもんじゃないかなぁ。


894 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 23:56:39 ]
>>892
>それ用の関数ってないですよね??
質問の仕方、心構えが間違ってる。ありませんか?と自然に聞けば良い。
自分が既に調べてみつからなかったんだけど ... ということをアピールして、
しかも、自分って正しいですよね、という雰囲気である。
これでは自分で心を閉ざしているようなものであって、
API レファレンスを読めばみつかる API もみつからない。

というのは別にして、wxString::find(const wxString&,size_t) ではだめなの?

895 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 23:59:56 ]
なんという紳士

896 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 00:04:29 ]
>>894の優しさに泣いた!

897 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 00:28:37 ]
>>894にならほ(ry

898 名前:892 mailto:sage [2008/05/27(火) 02:09:22 ]
レスありがとうございます。

>>質問の仕方、心構えが間違ってる。ありませんか?と自然に聞けば良い。
>>自分が既に調べてみつからなかったんだけど ... ということをアピールして、

う、こういう聞き方、あまりよろしくないのですかね??
単純に「ありませんか??」だとググれと言われてしまうし、かと言って毎回なんか質問書き込む度に既に調べて分からなかったので質問しましたってのは正直億劫だったのでこんな感じの聞き方になっていましたが・・

wxString::Findだと、最初にマッチした部分のインデックスが返ってくるだけですよね??
でもwxString::Cmpとforとif使ってなんとかなったので、質問したこと自体は解決しました。

>API レファレンスを読めばみつかる API もみつからない。
これはなんでですか??
この質問の仕方だとなんでAPIリファレンスに書いてあるAPIも見つからなくなる、のでしょう?
突っ込まれて反論してるのではなく、どういう意味か分からなかったので単純に教えて頂きたいな、ということです。



899 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 02:25:57 ]
>>898
>毎回なんか質問書き込む度に既に調べて分からなかったので質問しました

答える側になった事を考えれば分かると思うが、これが正解
事前に何を調べて自分としてはどう思っていて何が疑問なのかを丁寧に書く
これしか無いよ

900 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 02:32:59 ]
>>898
解決したならいいけどCmp()でどんなコードを書いたの?

901 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 03:13:25 ]
>>898
>wxString::Findだと、最初にマッチした部分のインデックスが返ってくるだけですよね??
この「ですよね??」という聞きかたが良くないです。
自分はこの API は既に知っているけど ... ということをアピールして、
しかも、自分って正しいですよね、という雰囲気である。
これでは自分で心を閉ざしているようなものであって、
この API が使える API であるということを認識出来ない。

自分はこれまで最初にマッチした部分のインデックスが返ってくるだけだと思っていたんだけれど、
相手が wxString::find を言ったということは、実は二つ目以降も返ってくるんではないか?
と謙虚に考えられなくなるわけです。相手に言われたら、
自分を疑って、もういちど自分で API レファレンスを読んでみればわかるはずで、
こうやって小言を言われる必要もなくなるわけです。というのが、
> この質問の仕方だとなんでAPIリファレンスに書いてあるAPIも見つからなくなる、のでしょう?
>突っ込まれて反論してるのではなく、どういう意味か分からなかったので単純に教えて頂きたいな、ということです。
への返答です。
僕は自分自身が、「ですよね?」「じゃないんですか?」と言いたくなったら、
まず自分を疑うことにしています。
その言葉を発した時点で、考えるのを放棄しているからです。

というのはいいとして、wxString::find(const wxString&,size_t) とわざわざ
オーバーロードしてある引数までかいてあるのは何故だとおもいますか?
それはそのバージョンをつかうと、第二変数でどこから調べるかが指定出来るからです。
そうするとそれを繰り返し呼べばいいわけです。
ちなみに find が大文字か小文字かも違います。
docs.wxwidgets.org/2.8.6/wx_wxstring.html#wxstringat
をみてください。

902 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 03:24:20 ]
ためになる話のような気がするから
あとでゆっくり読むぜ

903 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 03:45:34 ]

   _,,....,,_  _人人人人人人人人人人人人人人人_
-''":::::::::::::`''>   ゆっくりしていってね!!!   <
ヽ::::::::::::::::::::: ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
 |::::::;ノ´ ̄\:::::::::::\_,. -‐ァ     __   _____   ______
 |::::ノ   ヽ、ヽr-r'"´  (.__    ,´ _,, '-´ ̄ ̄`-ゝ 、_ イ、
_,.!イ_  _,.ヘーァ'二ハ二ヽ、へ,_7   'r ´          ヽ、ン、
::::::rー''7コ-‐'"´    ;  ', `ヽ/`7 ,'==─-      -─==', i
r-'ァ'"´/  /! ハ  ハ  !  iヾ_ノ i イ iゝ、イ人レ/_ルヽイ i |
!イ´ ,' | /__,.!/ V 、!__ハ  ,' ,ゝ レリイi (ヒ_]     ヒ_ン ).| .|、i .||
`!  !/レi' (ヒ_]     ヒ_ン レ'i ノ   !Y!""  ,___,   "" 「 !ノ i |
,'  ノ   !'"    ,___,  "' i .レ'    L.',.   ヽ _ン    L」 ノ| .|
 (  ,ハ    ヽ _ン   人!      | ||ヽ、       ,イ| ||イ| /
,.ヘ,)、  )>,、 _____, ,.イ  ハ    レ ル` ー--─ ´ルレ レ´



904 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 10:02:58 ]
なんか知らんが賢人が降臨したようだな

905 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 13:52:47 ]
賢人って… >>903 のこと?

906 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 17:45:13 ]
当たり前だろ

907 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 19:56:55 ]
馬鹿野郎俺に決まってるだろ

908 名前:892 [2008/05/27(火) 22:50:50 ]
レスありがとうございます。

>ちなみに find が大文字か小文字かも違います。
これに気づいてませんでした。C++互換というやつがあったんですね・・。

>相手が wxString::find を言ったということは、実は二つ目以降も返ってくるんではないか?
これはもちろん考えてます。が、それでも完全に見逃していました。。

wxString::find(const wxString&,size_t) でいけそうです。ありがとうございます。

が・・

>>それ用の関数ってないですよね??
>質問の仕方、心構えが間違ってる。ありませんか?と自然に聞けば良い。
これは分かるんですが・・

>>wxString::Findだと、最初にマッチした部分のインデックスが返ってくるだけですよね??
>この「ですよね??」という聞きかたが良くないです。
これはではどう聞けばよかったんでしょう?
これ以外に聞きようが無い気がするんですが・・




909 名前:892 [2008/05/27(火) 22:55:44 ]
>>900
こんなの書いてました汗

wxString str_wk;
int count;
wxString source = "なんか色々";
int length = sourceのデータ長
for (int i = 0; i < length; i++){
str_wk = source.Mid(i, 6);
if (0 == str_wk.Cmp(wxT("sample"))){
count++;
}
}

910 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 23:10:59 ]
>>908
ですよね?と聞く前に、wxString のメンバ関数一覧を再確認すればよかったんじゃないかな。たぶん。

911 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 23:47:43 ]
>>901のエントリについては、何か考えさせられた。

○(調べたけどわかんなかったので)ありませんか?
△(調べずに)ありませんか? … (ググれと言われる)
×ないですよね? … (ないんですよ。そうでしょう?(同意求む)的な感じ)

って感じなのかな。

912 名前:892 [2008/05/27(火) 23:55:56 ]
>>910
再確認して、その上で分からなかった(見逃してた)んです。
なので、言ってしまえば回答に直結するレス頂いてそれでも気づかなかった自分がバカだったってだけの話なのですが汗


913 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 00:03:07 ]
その人は嫌み言ってるだけだと思うので気にしないでいいと思うよ
まあふと疑問がでてドキュメント見たときに、
そのクラスのあんま関係なさそうだけど他のメソッドもついでに
全部勉強しておいてやろうとかいう感じでやってればスキルもあがるんじゃないでしょうか。

914 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 10:19:55 ]
これって、64bit対応してるかな?
コンパイラが64bitなら無問題?

915 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 11:55:45 ]
すくなくとも wxMac は対応してない。なぜなら GUI が Carbon で、それには 64bit 版がないから。

916 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 12:15:03 ]
え”〜、Carbonは64bitには亡くなるのぉ???

wxCocoaの完成を待つしか無い???

917 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 12:53:48 ]
>>916
いまんところの Apple の発表は、 Carbon の GUI 部分は 64 bit にしない、Carbon の非 GUi 部分は 64 bit にする、とのことだけど、まあすぐ気の変わる会社だから誰にも分かりません

Qt はもう方針転換して、Cocoa で組みなおしてます。もう Cocoa 64 bit のβ版がでてるはず。

wxMac はメンテナンスはされてるけど、ドキュメントから何から激烈に古いのでこれを機会に wxCocoa を誰か頑張ってくれ。

918 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 13:03:15 ]
wxGTKはMacでは動かないの?



919 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 13:10:59 ]
wxGTK は OS X 上で X11 を立ちあげて、そのなかで動くというのは可能
Windows でも cygwin とかでX11 サーバをいれとけば wxGTK も動くというのと同じ状況です
OS X の WindowServer は X11 ではないので。
まあ X11 は標準でついてくるけど。

920 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 13:49:29 ]
正直 OS X で X11+GTK とか勘弁してくれって感じだ…

921 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 15:31:32 ]
Mac で Xアプリが動くってのはオマケだね。

クリップボードさえX専用クリップボードだったり、
Windowsの16ビットアプリケーションより連携悪い。

922 名前:デフォルトの名無しさん [2008/05/30(金) 16:00:05 ]
wxStreamToTextRedirectorを使っているんですが、
cout << で、マルチバイト文字が化けて表示されてしまいます。

同じような症状の方、また解決方法を分かる方いらっしゃいましたらご教示いただけると嬉しいです。
ちなみにwxMSWをunicodeモードでインストールして使っています。

923 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 16:03:51 ]
自分の書き込みを何度も読み返すといいよ。

924 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 16:12:39 ]
Code::Blocksのスレが無いので、ここに書かせてくれ。
Code::Blocksのバグなんだ。興味ない人は無視してくれ。
詳細はチラ裏に書いたので、もし偉い人がいたら、本家にバグ報告してほしい。

ここからチラ裏

日本語のMac OS X上のCode::Blocksで、新規プロジェクトをウィザードで作ろうとすると、「Script compile error」というのが出る。
これは、Code::Blockが、ウィザードを記述してるスクリプト(Squirrel)を読み込むときに、U+005CがU+00A5に変換される(ファイルがShift-JISとして読み込まれる)のが原因。
src/sdk/scriptingmanager.cppの中にある、ScriptingManager::LoadScriptがスクリプトをファイルから読み込む関数っぽいので、その中の、cbReadFileContents(f)をcbReadFileContents(f, wxFONTENCODING_UTF8)に置き換えればいい。
だが、俺は英語ができないし、バグ報告のためのユーザアカウントも持っていないので、せめてここに書くぐらいしかできないorz

ここまでチラ裏

925 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 10:58:29 ]
OS X 上で、外人さんの作ったソフトで、unicode つかってないので、そのバグがでることって多いよね。TeX 用のソフトでそれではまることがしばしば ...

926 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:48:04 ]
>>924
了解

927 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:10:51 ]
Ubuntu 8.04でwxPythonがシンボル見つからないとかで起動しない。
自分でビルドしようと思ってもコンパイルエラー。swigのバージョンかな?
動かぬなら 動くまで待とう wxPython

928 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 19:47:07 ]
待ってねーでバグレポート送れよ



929 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 00:20:54 ]
英語がわからないに1票〜

930 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 00:55:38 ]
>>928
いや、本家フォーラムではもう話題になってる。日本で話題になって無いからチラ裏してみただけ。

931 名前:デフォルトの名無しさん [2008/06/04(水) 00:57:50 ]
なぁ、このフレームワークって人気ないの?

932 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 02:16:47 ]
>>931
ん?採用してるプロダクトも多いし
コミュニティも活発じゃん。

なんでそんな事を思うのかい?

933 名前:デフォルトの名無しさん [2008/06/04(水) 09:00:21 ]
採用しているプロダクトも少ないし
コミュニティも活発じゃないからだろうきっと。

934 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 10:01:18 ]
Qtに負けてる?

935 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 12:26:07 ]
>>934
Photoshop Elements、Opera、Google Earth、SkypeなんかがQtだね。
確かにちょっとよさそうだし、有料なんでサポートもしっかりしてそうだけど
wxWidgetsをすでに使ってるんだったら乗り換えるほどではないかな・・

936 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 12:27:18 ]
あ、そう。
じゃあ乗り換えるのやめる。

937 名前:デフォルトの名無しさん [2008/06/04(水) 18:08:03 ]
wxStringに格納されている改行文字を数えるために、for文などと組み合わせて

if(string::npos != mml.find(wxT("\n"), i ,len)){
line_count++;
}

のように書いてみたのですが、改行文字じゃないところまでマッチしてしまいます。
正しい書き方分かる方いらっしゃいましたら教えて頂けると嬉しいです。

環境はWindows wxMSW2.8.7
文字コードはunicodeです。

938 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 20:03:39 ]
sizerだったかな?
いまいちこの辺の理解ができない。




939 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 22:02:11 ]
>>937
i はどうやって更新してるの ???

940 名前:937 [2008/06/04(水) 22:27:08 ]
>>939
分かりにくくてすいません。
lenはずっと固定1で、
iは1ループで1ずつ加算していく感じです。

単純に一文字ずつ調べていくように書きました。
あとmmlってのがwxStringオブジェクトです。。


941 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 23:39:29 ]
阿呆か。第三引数は、この場合第一引数の長さの指定だろう。
www.cplusplus.com/reference/string/string/find.html
そもそも、findメソッド使いながら一文字ずつ調べようという発想が阿呆過ぎる。


942 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 00:08:18 ]
>>940
find は、i 文字目から探しはじめて、はじめにみつかった文字列を返す、ので、
i を1 ずつ加算していくとそりゃおかしくなるでしょうよ

943 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 02:45:11 ]
#include <iostream>
#include <string>

using namespace std;

int main(void)
{
string src = "aaaa\nbbb\nc\n\nddddd\n";
string::size_type pos = 0;
size_t count = 0;
while ((pos = src.find("\n", pos)) != string::npos) {
pos++;
count++;
}
cout << count << endl;
return 0;
}



944 名前:937 [2008/06/06(金) 14:26:46 ]
iを1ずつ加算していくのは他にちょっと事情があったからなのですが・・説明不足でした。
レスありがとうございました。解決しましたm(_ _)m

945 名前:デフォルトの名無しさん [2008/06/06(金) 15:05:22 ]
wxRichTextCtrl
を使ってみたんですが、マルチバイト文字をテキストコントロールのインターフェースに入力すると、なんか補完ウィンドウ?みたいのが出ます。

これを出ないようにしたいのですが、どうすればいいでしょうか。
リファレンス見ても分かりませんでした。


946 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:30:06 ]
MacOSX 10.6でCarbon廃止されたら、wxMacもなくなるのかなあ。

947 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 23:39:26 ]
10.6で廃止は早すぎるだろう?
そのうちなくなるかもしれないが、俺達にはwxCocoaがある!
未だまともに動かないwxCococaがっ

948 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 00:19:47 ]
誰も 32bit Carbon を廃止はしないだろう、そんなことしたら MS Office が動かなくなる



949 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 00:25:23 ]
MS Office以前にAppleがSnow LepardまでにOS Xの付属アプリを
全部 Cocoa ベースに置き換えられるとは到底思えないんだよなぁ…

950 名前:デフォルトの名無しさん [2008/06/08(日) 18:42:06 ]
>>945 です。
補完ウィンドウが出る、というか、日本語を打つと、書いた文字がスペースキーを押すと漢字変換が出来る状態になりますが、
その状態の文字が、文字を打った場所ではなく、なぜかテキストコントロールのインターフェースの一番上の行に毎回表示されてしまう、という現象のようです。(それを補完をウィンドウ?と455で言っていました。)
wxTextCtrlだと普通に打ったマルチバイト文字がその行に表示されるのですが・・wxRichTextCtrlだとなぜかこうなってしまいます。

解決方法見つからず困っています。どなたかアドバイスいただけると幸いです。


951 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 23:19:46 ]
>>950
wx のソースコードのバグを取って開発に貢献してください。

952 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 23:52:47 ]
バグというか実装されていない機能の中身おくったけどさ、
半年ぐらいしてパッチ当てるよーってメール着たんだが、さらに半年経っても当たる様子無い。
仕方ないんで、ソース取り出してクラス名変えて使ってるよ。

953 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 23:52:54 ]
自己解決しました

954 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 00:08:10 ]
自己解決したときはどう解決したかかいておいてください
あとで同じことにはまる人もいると思うので。

955 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 00:34:26 ]
自分のした質問じゃないのに「自己解決しました」とだけ書いて去っていく荒らしもいるから注意な。

956 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 03:26:30 ]
自己完結しました

957 名前:945 [2008/06/09(月) 11:31:24 ]
解決してません。

やはり自分もwxWidgets自体のバグなのかなと思うのでソースをいじってみることを考えているのですが、
スペースキーで漢字変換できる状態(うまい表現の仕方あったら教えてください・・)の文章の表示位置がおかしい、というのは、wxWidgetsとIMEの連携部分で何かおかしくなっている、ということなのでしょうか。
wxTextCtrlなら正常に動く感じなので、textctrl.hとrichtextctrl.hを比べてみたりしているのですが、どの辺りを見ればいいのか・・


958 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 18:00:33 ]
>>957
気になったので調べてみた。
どうやら wxRichTextCtrl は独自の処理を行っていて
riched32.dll などを使っていないようだ。
wxTextCtrl に wxTE_RICH(2) などを付加して作成すると
riched32(20).dll を使う仕組みになっているっぽい。



959 名前:957 [2008/06/09(月) 19:22:43 ]
貴重な情報ありがとうございます!
ドキュメントを色々読み直していたのですが、もしかしたら自分のやりたいことがwxTextCtrlでもできるかもしれないような記述を見つけたので、
wxTextCtrlをもうちょっといじってみようかと丁度思っていたところでした。

自分のやりたいことというのが、プログラマ向けのエディタによくある予約語の強調表示なのですが、
wxwindowsjp.sourceforge.jp/docs/html/wx/wx381.htm
ここに、
「例えば、1つ1つの文字に色やフォントを指定することも可能である
(ただし、Windows下では、スタイルをサポートするためにwxTE_RICHスタイルが要求されることに注意すること)。」
のように書いてあります。
さらにその下に

text->SetDefaultStyle(wxTextAttr(*wxRED));
text->AppendText("Red text\n");
text->SetDefaultStyle(wxTextAttr(wxNullColour, *wxLIGHT_GREY));
text->AppendText("Red on grey text\n");

のようなソースが示されていて、なんとなく感じは分かるのですが、
これだとインタフェースに文字を打ち込む際、特定の文字を打ち込んだ時リアルタイムに強調表示するようにできるのかどうか
(もちろんその文字を一部消したら、強調表示をリアルタイムで解除するようにもできるかどうか)分かりません。wxTextCtrlでこのようなことは出来るのでしょうか??質問ばかりですいません。


960 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 22:20:00 ]
wxWidgets 一般の話をしているのか、wxMSW の話をしているのか区別をしてくれ ...


961 名前:957 [2008/06/09(月) 23:15:37 ]
今はWindowsで開発しているのでwxMSWですが、
wxTextCtrlで強調表示機能実現できるかどうかってプラットフォームに依るのでしょうか??
wxTE_RICHはMSWでしか使えなくて、それ使わないと無理なので他のプラットフォームでは自動的にwxTextCtrlでは実現不可、ってことでしょうか。


962 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 11:19:56 ]
>>961
wxTE_RICH は wxMSW 専用。ほかの環境では意味をなさない。
(リッチエディットコントロールを使う指定だから)

>>959
入力した文字列をリアルタイムに強調表示したいのであれば、
OnChar(wxKeyEvent &)
あたりを使えばいいんじゃないかな。やってみないとわからないけど。

963 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 11:25:22 ]
>>961
ちょっと説明不足だったけど、強調表示などは
wxTE_RICH を指定しなくても wxTextCtrl::SetStyle() と
wxTextAttr を使えば、実現できるんじゃないかな。

964 名前:957 [2008/06/11(水) 00:01:42 ]
wxTextCtrl::SetStyle
wxwindowsjp.sourceforge.jp/docs/html/wx/wx381.htm#wxtextctrlsetstyle
「選択された部分の」スタイルを変更する。
この部分見逃していました。。

OnChar()ってのはMSW専用なんでしょうか。
msw/textctrl.h には書かれていますが普通のtextctrl.hには無いみたいです。
univ/textctrl.hってのにもありますが、univってのは何用なのか・・

でもとりあえずEVT_KEY_DOWNキーイベント用のハンドラをSetStyle()使って書けば実現できる気がしてきました。
ご丁寧に何度もありがとうございましたm(_ _)m

965 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 10:46:47 ]
>>964
univ ってのは、たぶん Universal Version のこと。
Windows の例で言えば、Windows のコントロールを使わず、
全部自前で処理するようにすること。
いろいろなプラットフォームで共通した動作をするようになる。


966 名前:957 [2008/06/18(水) 18:21:31 ]
なるほど、ありがとうございます。
返信遅れてすいません。

EVT_KEY_DOWN とか EVT_CHARとか使って強調表示機能っぽいものが出来始めたのですが、一つ分からないことが出てきました。

EVT_CHARは、ASCII文字の入力のタイミングは拾えるようなのですが、どうも全角文字の入力タイミングは拾えないみたいなんです。
全角文字でも強調表示したい単語があるので、全角文字が一字書き込まれる毎にそのタイミングを拾って、そのイベントが終了したらwxProcessEventでキャレット周辺の文字列を取得して、所定の文字列が含まれていたら強調表示〜みたいなことがしたいのですが、
そもそも全角文字入力の際に発生しているイベントはなんなのでしょう??

967 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:37:04 ]
>>966
2度EVT_KEY_DOWNが飛んできませんか?
内部で捨てていない限り2度飛んでくるので、
それを漢字1文字分にすればいいと思います。

968 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 23:14:50 ]
>>966
キー毎に強調表示するんでなくて、タイマーで1秒ごとに処理するとか ...








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<262KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef