【GUI】wxWidgets(旧wxWindows) その3【サイザー】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/09/09(土) 00:06:30本家
http://www.wxwidgets.org/
wxWindows日本語プロジェクト
http://wxwindowsjp.sourceforge.jp/
Let's wxWidgets
http://dot-gray.s33.xrea.com/
(*)準備中(*)
http://www.geocities.co.jp/SiliconValley-Cupertino/8526/
wxWindowsで始めるC++ GUIプログラミング
http://www.h3.dion.ne.jp/~k5_n/wxwin/
wxWidgets でクロスプラットフォーム GUIアプリを作ろう
http://namazu.org/~satoru/pub/uu-2004-08/
dW : Linux : wxWindowsの概要
http://www-6.ibm.com/jp/developerworks/linux/010413/j_l-wxwin.html
SunWorld Online:wxWindows――無名だが成熟したGUIツールキット
http://www.idg.co.jp/sw/back/200102/20010219_01_report.html
0671デフォルトの名無しさん
2008/02/18(月) 23:25:280672デフォルトの名無しさん
2008/02/18(月) 23:45:30試したことないが。
0673デフォルトの名無しさん
2008/02/19(火) 18:56:330674デフォルトの名無しさん
2008/02/19(火) 20:28:21wxGlade, wxFormBuilder, wxDesigner, wxSmith, VisualWx...
あ、結構あるなw
0675デフォルトの名無しさん
2008/02/19(火) 20:39:390676デフォルトの名無しさん
2008/02/19(火) 22:38:31http://wiki.codeblocks.org/index.php?title=Comparison_of_wxSmith_features
0677デフォルトの名無しさん
2008/02/19(火) 23:59:22Linuxのように、ディス取り標準ビルドの共有ライブラリが一つあってそれが基準になるなら良いけど、
Windowsではオレオレビルドのdllがまかり通るからstaticリンクが無難。
0678デフォルトの名無しさん
2008/02/20(水) 01:17:48Linuxで共有ライブラリのビルドオプションが気に入らなかったら、
staticリンクにしろってことでいいのかな?
0679デフォルトの名無しさん
2008/02/20(水) 11:10:38UN*X 系は RUNPATH や LD_LIBRARY_PATH で対処する方が多いんじゃないかな。
wx みたいな、でかいライブラリを static にする事は殆ど無いと思うよ。
0680デフォルトの名無しさん
2008/02/22(金) 01:10:25gridの任意のセルに、Ctrl押し下げ+マウスの左クリックイベントを送りたいのですが
どのようにすればいいですか?
だれかとっかかりだけでも教えてください。お願いします。
0681デフォルトの名無しさん
2008/02/23(土) 03:00:16かなり頑張ってるな。
0682デフォルトの名無しさん
2008/02/23(土) 20:04:150683デフォルトの名無しさん
2008/02/23(土) 20:08:42おまえはやる気あんのか?
0684デフォルトの名無しさん
2008/02/24(日) 10:02:28wxWigets or QT or GTK どれが良いですか?
wxWigets の環境をうまく作れなかったので、QT入れてみたのですが・・・。
0685デフォルトの名無しさん
2008/02/24(日) 10:26:47恋人をうまく作れなかったので、風俗嬢に挿れてみたのですが・・・。
0686デフォルトの名無しさん
2008/02/24(日) 10:31:450687デフォルトの名無しさん
2008/02/24(日) 11:55:180688デフォルトの名無しさん
2008/02/24(日) 15:11:32初体験なのに3つも選択権をもっているような人は
このスレに来てはいけません
>>687
具体的に何を迷っているのか分からない。
なぜ考える必要があるの?
0689デフォルトの名無しさん
2008/02/24(日) 16:07:330690デフォルトの名無しさん
2008/02/24(日) 19:56:56複数のテキストボックス(サークル)間にリンクを張って
表示するのに便利なモジュールってありますか?
# うまく説明できなくてすみません。
snapshotを見ると、UML図を書けるようなアプリはあるようですが、、、
0691デフォルトの名無しさん
2008/02/24(日) 22:22:27それはおいとくとして、
けっこうプラットフォームによってまちまちな部分があるので、
マルチプラットフォームを考えてるなら、ありもののパーツで
なんとかならない場合はwxはやめといた方がいいかも。
たとえばマインドマップとかペイントソフトとかだとキャレットの操作が必要になると
思うけど、Win版はちゃんとネイティブのキャレットを操作してるが
GTK版なんかは自前でキャレットらしき棒を描く場所を変更してるだけ。
0692デフォルトの名無しさん
2008/02/25(月) 00:33:320693デフォルトの名無しさん
2008/02/25(月) 01:06:09最近のはproportionと呼び名が変わったようだ。
>>523 の説明がわかりやすいと思う。
0694デフォルトの名無しさん
2008/02/25(月) 09:50:19親ウィンドウのMoveEventから
子ウィンドウのMoveを呼び出したのですが、
エラー落ちしてしまいます。
何か方法があるのでしょうか?
0695692
2008/02/26(火) 01:20:38なるほど。523見てなんとなく分かりました。
ありがとうございました。
0696694
2008/02/26(火) 08:35:58その時にはまだ子ウィンドウが生成されてなかった。
しかも初期化が完了してない無効なポインタだったので
当然エラーということだった
コンストラクタで始めに関数が呼ばれる前に
事前初期化してないとエライことになる可能性があるという教訓でした。
0697デフォルトの名無しさん
2008/02/26(火) 16:20:52wxMenuBarにフォント設定したけど反映されない・・・
なぜ・・・
0698デフォルトの名無しさん
2008/02/27(水) 09:25:53は
wxWindowsを継承しるのになんでそのフォント使わないで
インラインで別のフォント使うのか理解できん。
0699デフォルトの名無しさん
2008/02/27(水) 11:01:340700デフォルトの名無しさん
2008/02/27(水) 21:31:150701デフォルトの名無しさん
2008/03/01(土) 00:38:09あと、その場合、バインディング言語(wxPython等)でも利用可能なんでしょうか?
0702デフォルトの名無しさん
2008/03/01(土) 09:36:440704デフォルトの名無しさん
2008/03/03(月) 01:02:32のですがどうやればいいのでしょうか?
よろしくお願いします。
0705デフォルトの名無しさん
2008/03/03(月) 01:36:52Raise()
0706デフォルトの名無しさん
2008/03/03(月) 18:51:07http://www.codeblocks.org/
0707デフォルトの名無しさん
2008/03/03(月) 18:52:500708デフォルトの名無しさん
2008/03/03(月) 19:22:07できました。ありがとうございました
0709706
2008/03/03(月) 20:05:07Fedora8で昔使ってみたときのプロジェクト試してみたけど、
Buildしたときのerrorとwarningが入れかわってる気がする。一応動いたけど。
ちょっと前にチェックしてたけど、
2、3日に一回くらい開発版だしてて追いつけなかったからリリースをまってた。
いろんなOSで動くところが好きなので、そのうち本格的に使うかも。
macportsにもきてた。
0710デフォルトの名無しさん
2008/03/04(火) 01:37:13widgetを配置する画面(Frameをダブルクリックして出てくる画面)に、
配置してあるボタン等が収まりきらなくなりました。
しかしながら、Previewで見るときちんと全部収まっています。
Panelを削除するとこの現象は出ないのですが、どこか作り方が
おかしいのでしょうか?
どなたか教えてください。
0711デフォルトの名無しさん
2008/03/04(火) 01:50:20Previewの方が正しい。
wxGladeを立ち上げ直すと直ることもある。
けど,まあそんなもんだと思っている。
0712710
2008/03/04(火) 23:36:30レスありがとうございます。
そうですか。
Panelを捨ててしまうと、タブ移動が出来なくなるので困っていました。
wxGladeのバージョンアップに期待というところでしょうか?
sizerの入れ子の数とかでおかしくなるのかなー。
0713デフォルトの名無しさん
2008/03/15(土) 16:00:25ボタンを対象に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が返ってきてしまうんだ…
0714デフォルトの名無しさん
2008/03/15(土) 16:01:46ちなみにwxRubyについてるサンプルソース読むと、XRCのサンプルでもコード上でメニューバーとか追加してた
0715デフォルトの名無しさん
2008/03/15(土) 20:02:14Wx::Frame#get_menu_bar
ちぅのがあるのね…
0716デフォルトの名無しさん
2008/03/16(日) 09:00:110717デフォルトの名無しさん
2008/03/16(日) 17:25:520718デフォルトの名無しさん
2008/03/17(月) 02:22:43wxAppクラスを継承したMyAppクラスの宣言部がmain.cppとして一個増えただけでした。
http://www.h3.dion.ne.jp/~k5_n/wxwin/memo/ver0_0.html
このページみたいにモジュールを分割していきたいのですが、wxTextCtrlを継承させる予定のwxTextCtrl2クラスのコードを別ファイルで吐かせたりするにはどうすればよいのでしょうか。
0719デフォルトの名無しさん
2008/03/18(火) 01:24:25wxTextCtrl2っていうCustom Widgetを作るんじゃなかったかな
0720デフォルトの名無しさん
2008/03/18(火) 16:17:05dlg->ShowModal();
dlg->Destroy();
メニューの実行で、上記を実行していますが、
最後のDestroyでアプリが落ちてしまいます。
Destroyは不要ですか?
環境は、Mac OS X 10.4 /wxMac-2.8.7を使っています。
0721720
2008/03/18(火) 16:28:26ダイアログのシステムボタンで閉じる → ×
Close()で閉じる → ×
Hide()で閉じる → ○
つまり、閉じ方によって、ウィンドウのDestroyが呼ばれるかどうかが決まるんですね?
詳しい方、情報もしくは、同意よろorz
0722デフォルトの名無しさん
2008/03/19(水) 14:39:14ファイルのパスのデリミタや、
実行ファイルのディレクトリを
取得できますか?
0723デフォルトの名無しさん
2008/03/19(水) 16:01:400724723
2008/03/19(水) 16:07:020725723
2008/03/19(水) 16:29:580726デフォルトの名無しさん
2008/03/19(水) 16:33:300727デフォルトの名無しさん
2008/03/19(水) 16:44:51orz
0728デフォルトの名無しさん
2008/03/20(木) 13:36:28デリミタは、wxFileName::GetPathSeparator()
実行ファイルディレクトリは、
wxFileName exepath(wxStandardPaths::Get().GetExecutablePath());
wxString exedir = exepath.GetPath();
でexedirに入る。
0730729
2008/03/20(木) 19:58:09これだとクラス継承する毎にパレットに追加しなくてはならなくなりますよね。。(当然ですが)
クラス継承して使いたい場合、みなさんどうやってコードを書いているのでしょうか??
自分で継承して作ったクラスを全部wx-Gladeで描画できるようにするのはけっこう面倒くさそうですし・・
あんまりファイル分割しない方がいいんでしょうか。
それとも、wx-gladeはあんまり使わない、とか・・
0731デフォルトの名無しさん
2008/03/20(木) 20:29:230732デフォルトの名無しさん
2008/03/20(木) 20:50:35適当なコントロールから継承したカスタムコントロールやウィンドウなら、
継承元の見た目で作って、クラスを指定してヘッダファイル名まで指定できる。
0733デフォルトの名無しさん
2008/03/20(木) 22:55:02有難うございます。まだ調査している最中だったので助かりました。
>>732
そうなんですか。。。
知らなかったのでwxDev C++ を使ってますorz
0734デフォルトの名無しさん
2008/03/21(金) 15:19:46>std::string str;
>wxString wstr = str;
と書けるんですが、
wxMacだと、
>wxString wstr = str.c_str();
と書かないとコンパイル通らないみたいです。
何でだろ。。。
0735デフォルトの名無しさん
2008/03/21(金) 16:09:270736734
2008/03/21(金) 16:19:02wxMacは、環境設定でユニコードをオンにしてmakeしたようなかすかな記憶。
Windows版は、wx-debcppをインスコしただけだったような記憶。
この問題って難しい問題ですね。
0737デフォルトの名無しさん
2008/03/21(金) 23:32:17wxDev-C++で作成したコードをLinuxでコンパイルできますか?
できるとしたら、makefileは自作ですか?
分かる方がいましたらよろしくお願いします。
0738デフォルトの名無しさん
2008/03/21(金) 23:59:590739デフォルトの名無しさん
2008/03/22(土) 04:43:560740デフォルトの名無しさん
2008/03/22(土) 10:55:32ありがとうございます。試してみます。
まず、configure自体を知らないとダメなんでしょうね。勉強します。
0741730
2008/03/23(日) 13:31:54wxformbuilder、インストールしてみようと思ったのですが
Dependency is not satisfiable libwxbase2.8-0
とエラーが出てインストールできず・・
libwxbase2.8-0の再インストールとかしてみたのですがダメでした。
解決方法分かる方いらっしゃったら教えて頂けるとありがたいのですが・・
0742デフォルトの名無しさん
2008/03/23(日) 14:07:530743デフォルトの名無しさん
2008/03/23(日) 15:26:47wx-configを調べてみて
wxConfigクラスではなくてwx-configってコマンド
0744デフォルトの名無しさん
2008/03/23(日) 15:26:51とりあえず、ver3 RC8を落として、解凍すればインストールいらないのでは?
http://downloads.sourceforge.net/wxformbuilder/wxFormBuilder_v3.0.56-RC8-archive.exe?download
wxFormBuilder.exe起動したら動いたよ?ソースからビルドしようとしてる?
0745デフォルトの名無しさん
2008/03/23(日) 21:33:15ちょいと使ってるOS回りの詳細を書いてくれ
なんとなくLinuxじゃないかと思うが、だとすっとdistroとバージョンは?
0746デフォルトの名無しさん
2008/03/23(日) 21:59:32んですけど、こういうもん?Code::Blocksの方が使いやすいですかね?(Windowsです)
0747デフォルトの名無しさん
2008/03/23(日) 22:01:31>Dependency is not satisfiable libwxbase2.8-0
の時点でUn*x系だろうけど…
wxがちゃんと動いてるなら自前でビルドした方が良いんじゃないか?
0748730
2008/03/23(日) 22:34:56OSはUbuntuで7.10です。wxWidgets自体は動いてます。
http://downloads.sourceforge.net/wxformbuilder/wxFormBuilder_v3.0.56-RC8-archive.exe?download
の方、試しに落として起動しようとしてみたのですが、エラーが出て起動できませんでした。
自分が落とそうとしていたのはこっちです。
http://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
と言われます。
http://ubuntuforums.org/showthread.php?t=536984
とか
http://www.developpez.net/forums/showthread.php?t=369200 (イタリア語・・?)
とか見て色々試してみたのですが、解決しません・・
wxwidets の導入に手間取って、色んなパッケージのインストールとアンインストールを繰り返しまくってたのでなんか完全にインストールできてない状態になっているのかなと思ったのですが、libwxbase2.8-0をSynapticで完全削除後再インストールしても状況変わらず・・。
sudo apt-get install libwxbase2.8-0 でも 既に最新のパッケージです と言われてしまう状態です。
0749デフォルトの名無しさん
2008/03/24(月) 01:25:04ダウンロードしたら、パッケージのあるディレクトリ行って
%sudo dpkg -i wxformbuilder_3.0.56-0ubuntu1dapper1_i386.deb
みたいな感じじゃなかったか
…物凄い基本だった気がするが、Linuxやめちゃったからよく覚えてないや
つーかWindowsバイナリ走らせようとするなwwww
0750デフォルトの名無しさん
2008/03/24(月) 01:25:440751デフォルトの名無しさん
2008/03/24(月) 08:27:41./configure & make & sudo make install
ならこのスレでもok...か?
0752730
2008/03/25(火) 00:08:06Linux初心者なもので・・ご親切にありがとうございます。
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
0753デフォルトの名無しさん
2008/03/26(水) 18:13:280754デフォルトの名無しさん
2008/03/26(水) 18:22:01http://www.wxwidgets.org/wiki/index.php/Development:_UTF-8_Support
0755デフォルトの名無しさん
2008/03/27(木) 02:19:49バージョンは6.10です。VB感覚で作成できそうなので、残念です。
もしwxDev-C++が候補から外れると、
Code:Blocksを使ってみようかと重うのですが、そちらはちゃんとデバッグできますか?
0756753
2008/03/27(木) 08:58:47ありがとう。
UTF-8は目標ですか。
AnsiToUnicode/UnicodeToAnsiみたいな関数が欲しいですが、
wxWidgetsにあるんだろうか。。。
>>755
そういう症状でます。
自分の場合、ターゲットOSのデバッガでデバッグできました。
デザイン用のGUIエディタと割り切って、デバッグIDEは別のものにしてみたら?
0757デフォルトの名無しさん
2008/03/27(木) 10:08:280758デフォルトの名無しさん
2008/03/27(木) 11:24:28・・・っていうかAPIリファレンスくらい目を通しておけ
http://wxwindowsjp.sourceforge.jp/html/2.8.4/wx_wxstring.html#wxstringwcstr
UTF-8の事だけど、試してないから正確なことはわからないが
未完成なだけで、一応使えるんだろ?
これから使うんだったら報告よろ
0759756
2008/03/27(木) 11:53:38さんくす。
実際にwxConvUTF8.使ってるサイトハッケソ
ttp://diary.imou.to/~AoiMoe/2004.09/middle.html
今すぐ動作させてみます。
関係ないけど、マニュアルのuft8_strを使うとコンパイルエラー、みたいな。
0760756
2008/03/27(木) 13:42:08>SBuf = "UTF-8文字列";
>wxMessageBox(SBuf, wxT("SBuf"), wxOK);
>SBuf = wxConvUTF8.cMB2WC(SBuf);
>wxMessageBox(SBuf, wxT("SBuf"), wxOK);
2番めメッセージで、空文字になってるようなorz
0761デフォルトの名無しさん
2008/03/27(木) 17:01:21wxWidgetsでIMEを制御する方法があったら教えてください。
TextCtrlにフォーカスが移ったらIMEがONになる、などの使い方がしたいです。
0762デフォルトの名無しさん
2008/03/27(木) 17:23:15気分転換にデバッガで追ってみた
原因はよくわからんが文字列に日本語が入ってるのがいかんらしい
"UTF-8String"で問題なかった
>>761
公式にはないようだから
自分で作るか適当に探してみ
あとwxTextCtrlはデフォで日本語入力ができるから
IMEが制御できてもあんまり意味ないとおも
0763761
2008/03/27(木) 17:36:16ありがとうございます。
数値を入れるTextCtrlではIMEが自動でOFFになる、と説明すればよかったです。
ググっても出てこないので、自作の道を考えてみます。
0764760
2008/03/27(木) 18:10:35調査ありがうとうございます。
言われるとおり日本語があるかないかで動作変わるみたいです。
ソースの日本語表記の問題ではないことを確かめるため、
コントロールから日本語入れてみました。
>wxString SBuf = WxEditPath->GetValue();
>SBuf = wxConvUTF8.cMB2WC(SBuf);
これで、Editに"aaa"と入れると、SBufは"aaa"で、sizeが3でした。
しかし、"あああ"と入れると、SBufは""でsizeは0。
日本語入れると動作しないUTF-8コンバートだなんて(><)
0765760
2008/03/27(木) 18:44:31を定義してコンパイルすると、
>catch (std::logic_error &e) {
> wxMessageBox(wxT(e.what()), wxT("Error"), wxOK);
>}
といったwxMessageBoxがコンパイルエラー起こすんですが、何でですか?
ソースコードのファイルはSJISですが関係あるのかなぁ。
0766760
2008/03/27(木) 18:53:43コンパイルは通るけど、リンクエラーだ。
なんか難しいなorz
0767デフォルトの名無しさん
2008/03/27(木) 18:59:21wxDev-C++なんてよくわからないもの使わないでVC++を使ってください
0768デフォルトの名無しさん
2008/03/27(木) 22:22:51ソースがSJISならwxConvUTF8は使えないと思う
0770デフォルトの名無しさん
2008/03/28(金) 07:02:56根本的にわかってないなあ。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のオプションによって使い分けるんだよ。
0771764
2008/03/28(金) 09:28:54文字変換関数のみはunicodeビルドをするしかないですね。
>wx-configのオプションによって使い分けるんだよ。
難しいorz
■ このスレッドは過去ログ倉庫に格納されています