【GUI】wxWidgets(旧w ..
[2ch|▼Menu]
511:デフォルトの名無しさん
07/11/14 23:46:59
URLリンク(0xcc.net)
このページ見て設定してみたけどコンパイルできません。
wx/wx.h がNo such file or directoryとなりインクルードできないです。
どうしたらよいのでしょうか?


512:デフォルトの名無しさん
07/11/14 23:58:01
はい使ってるOSとコンパイラは?

513:デフォルトの名無しさん
07/11/15 00:00:09
Windows XPで MinGW 使ってます。


514:デフォルトの名無しさん
07/11/15 00:25:15
wx/wx.hがあればいい。それだけ。

515:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/11/15 00:48:08
make install してやってから
`wx-config --cxx` -o hoge.exe hoge.cpp `wx-config --cflags --libs`
みたいにしてコンパイルしれ

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


518:デフォルトの名無しさん
07/11/15 01:52:51
cppflagsが返すのはCプリプロセッサのためのオプションだぞ

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

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

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

522:デフォルトの名無しさん
07/11/23 00:52:43
サイザーの使い方を教えてください。

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

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

523:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/11/23 02:02:10
>>523
それでできました!
CにEXPANDを指定したら、縦に広がったりしてかなり困っていました。
サイザーってそういうふうになっているんですね。
どうもありがとうございます。

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

526:デフォルトの名無しさん
07/12/01 23:15:35
ポイントとピクセルは全然違う単位だ

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

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

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

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

531:530
07/12/05 21:18:50
すみません、自己解決しました。
wxStatusBar* statbar = GetStatusBar();

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


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

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

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

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

533:デフォルトの名無しさん
07/12/14 18:55:29
使ったことないですが、下記サイトのwxTreeListCtrlがそれっぽいような…。
URLリンク(homepage2.nifty.com)

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

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

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

537:デフォルトの名無しさん
07/12/16 21:21:45
>>536
すいません。説明が足りませんでした。

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

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

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

538:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/12/16 22:57:22
>>538
またまたすいません。

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

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

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



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

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

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


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

543:541
07/12/17 18:33:28
wxDevってコード補間ありますたorz

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

544:デフォルトの名無しさん
07/12/17 18:42:19
wxWindow::Enable
virtual bool Enable(bool enable = true)

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



546:545
07/12/28 10:18:15
あ、OnInitDialogは、Frameオブジェクトの生成された後、1回コールされると考えてあってますか?

547:545
07/12/28 11:18:39
wxFrame::OnInitDialogがコールされないんですが、、、
仕様ですか?

548:デフォルトの名無しさん
07/12/28 12:34:30
>>545
EVT_WINDOW_CREATE

549:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/01/07 02:47:58
ライブラリorファイルが足りてないに一票


551:549
08/01/07 03:37:44
>>550
ありがとうございます。

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

552:デフォルトの名無しさん
08/01/07 04:20:21
/lib64 だったりとか

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

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

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

555:554
08/01/10 23:50:38
gtk2を2.10.4にしたら出なりました。お騒がせしました。

556:デフォルトの名無しさん
08/01/11 03:40:29
そんなもんじょのいこ
ってそれはえなりだよ

557:デフォルトの名無しさん
08/01/12 19:53:06
とにかくGTKがダメダメだということだけは分かったw


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

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

自分もここ
URLリンク(0xcc.net)
を見て色々設定したのですが、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:デフォルトの名無しさん
08/01/21 03:02:40
あなたそりゃUNIXのシェルを前提としてる操作をWindowsのコマンドプロンプトで
やってもダメでしょうよ。

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

561:デフォルトの名無しさん
08/01/21 11:16:12
回答ありがとうございます。
URLリンク(0xcc.net)
ここの、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:デフォルトの名無しさん
08/01/21 11:33:27
>560 さん
回答ありがとうございます。MSYSは入ってます。
MSYSを導入して、rxvt上で実行 というのは、C:\MSYS\1.0\bin\rxvt.exe を立ち上げて
そこからg++ 〜 でコンパイルしろってことでいいんでしょうか。
家帰ったら試してみます。ありがとうございます。


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

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

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

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

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

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

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

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

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

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

569:デフォルトの名無しさん
08/01/22 05:10:43
ファイルひとつにこだわるならアーカイブ白と

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

571:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/01/22 17:22:09
簡単にGUIアプリが作りたいだけなら、wxPython でやってみるって手もある。

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

574:デフォルトの名無しさん
08/01/22 23:05:56
>>570
出来ました。ありがとうございます

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

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

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

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

579:デフォルトの名無しさん
08/01/23 05:26:51
っつーかwxHogehogeの中で一番楽なのがwxPythonな気がする

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

581:デフォルトの名無しさん
08/01/23 09:11:20
wxPythonについて概ねまとまってて勉強になったサイト
自信たっぷりの間違いがいくつかあるので注意
URLリンク(www.harukaze.net)


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

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


583:デフォルトの名無しさん
08/01/29 19:13:42
C++標準の例外じゃダメなの?

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

585:デフォルトの名無しさん
08/01/29 23:17:40
int main()
{
try {
// main routine
}
catch(...) {
// error handling
}
}

586:デフォルトの名無しさん
08/01/29 23:40:34
wxApp使った場合って、mainが隠蔽されてるんだっけ?
とするとwxApp::OnFatalExceptionとかがそうなのかなぁ。
URLリンク(wxwindowsjp.sourceforge.jp)

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

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

588:582
08/01/30 08:41:31
>>585 >>586 >>587 etc.
回答サンクス。

やっぱ質問してヨカタ。

589:582
08/01/30 10:36:01
ヘルプの内容(>>587)確認しました。

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

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

591:582
08/01/30 10:44:40
あれ?例外が補足されなくなちゃったorz

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

593:582
08/01/30 11:28:06
>>592
あ、本当ですね。上手くいきました。

594:582
08/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:デフォルトの名無しさん
08/01/30 12:07:13
サンプルみつけました:

wxWidgets/samples/except
URLリンク(cvs.wxwidgets.org)
URLリンク(cvs.wxwidgets.org)

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

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

597:デフォルトの名無しさん
08/01/30 15:29:47
URLリンク(www.wxwidgets.org)

598:デフォルトの名無しさん
08/01/31 16:16:31
すいません質問させて頂きたいのですが、
URLリンク(0xcc.net)
このページ見て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:デフォルトの名無しさん
08/01/31 17:14:43
対症療法だが日本語使うのをやめろ

600:デフォルトの名無しさん
08/01/31 22:16:10
てかエラーメッセージ読めよ…

601:デフォルトの名無しさん
08/01/31 23:01:50
レスありがとうございます。

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

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


602:デフォルトの名無しさん
08/01/31 23:02:14
レスありがとうございます。

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

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


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


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

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

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

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

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

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

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

610:デフォルトの名無しさん
08/02/01 04:05:20
デスクトップで作業してんじゃねーよ、カス


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

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

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


614:デフォルトの名無しさん
08/02/03 03:13:40
静的リンクだとMBになるよ

615:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/02/03 03:26:45
>>615
>特別なにもしてないと静的リンクにならないんでしょうか。

つ ldd

617:デフォルトの名無しさん
08/02/03 03:52:29
>>615
>>558-563

618:デフォルトの名無しさん
08/02/03 04:42:37
スレ違い
C初心者スレ池


619:デフォルトの名無しさん
08/02/03 04:58:13
>>615
>今度は何も生成してくれない。
>のはなんででしょう。。

太陽が眩しかったから

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

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


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

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

URLリンク(www.wxwidgets.org) とかの設定もみたけど、
wxWidgetのマクロによるインデントずれの問題は解決してないように見えるんだが・・・


624:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/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
08/02/10 08:16:38
orz…
EVT_BUTTON(wxID_OK, MyFrame::OnExit)

EVT_BUTTON(wxID_EXIT, MyFrame::OnExit)

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

628:デフォルトの名無しさん
08/02/12 09:52:51
wxWigetsのiniファイル読み書き専用関数とかあるんでしょうか?


629:デフォルトの名無しさん
08/02/12 13:20:18
>>628
URLリンク(wxwindowsjp.sourceforge.jp)

630:628
08/02/12 13:24:31
サンクス。やっぱこういうのが標準であると便利ですよね。

631:デフォルトの名無しさん
08/02/12 18:16:41
wxWigetsのStringListはありますか?

632:デフォルトの名無しさん
08/02/12 19:43:35
>>631
つ wxArrayString

633:631
08/02/13 09:46:38
有難うございます。

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


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

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

634:631
08/02/13 09:50:17
>関係ないけど、やっぱ改行コードってC++のendlを使いますよね?

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

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

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

636:デフォルトの名無しさん
08/02/13 11:00:08
std::stringだと、

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

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

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

638:デフォルトの名無しさん
08/02/13 11:18:50
あ、+ 演算子は実装されてますか。

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

639:デフォルトの名無しさん
08/02/13 11:47:01
MinGW gcc3.4.5では大丈夫だね。

640:デフォルトの名無しさん
08/02/13 16:26:50
STLって、MemoryStreamみたいな可変バイト列ってありましたっけ?

vector char とかするのかなぁ?

(ちょっとスレチ)

641:デフォルトの名無しさん
08/02/13 16:41:34
stringstream

642:デフォルトの名無しさん
08/02/13 16:48:22
>>641

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

643:デフォルトの名無しさん
08/02/13 18:30:57
>string str1;
>str1 = "a" + "b";
は書けます。

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

ちょっと不便。

644:デフォルトの名無しさん
08/02/13 19:04:47
全然

645:デフォルトの名無しさん
08/02/13 20:10:56
べつに

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

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

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

649:デフォルトの名無しさん
08/02/14 10:58:06
> wx4j

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

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

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

よろしくお願いします。

651:デフォルトの名無しさん
08/02/15 20:59:46
2番目はreadlineじゃ駄目なのか?

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

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

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

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

URLリンク(sourceforge.net)

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

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

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


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

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

659:デフォルトの名無しさん
08/02/16 13:48:26
ubuntuの「デスクトップ」をどうにかしてください

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


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

URLリンク(www.astro.caltech.edu)

662:デフォルトの名無しさん
08/02/16 23:17:58
>>659
ディレクトリ名書き換えれたけど

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

てかスレ違い?

664:デフォルトの名無しさん
08/02/17 02:33:33
ごめん微妙に誤爆

665:デフォルトの名無しさん
08/02/17 04:03:32
というか、流行ってた頃ってあったの?

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

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


668:デフォルトの名無しさん
08/02/17 22:01:05
libwxwidgets_plugin.dll
2.66 MB (2,793,984 bytes)

こういうカラクリ

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

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

671:デフォルトの名無しさん
08/02/18 23:25:28
てかサイズ大きくてもいいからDLL1ファイルだけってできないん?

672:デフォルトの名無しさん
08/02/18 23:45:30
MONOLITHICのSHAREDじゃ駄目なのか。
試したことないが。

673:デフォルトの名無しさん
08/02/19 18:56:33
wxWidgets用のRADツールはWinでならどれ使うのが良いでしょうか?

674:デフォルトの名無しさん
08/02/19 20:28:21
どれを、と言うほど選択肢あるのか?

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

あ、結構あるなw

675:デフォルトの名無しさん
08/02/19 20:39:39
wxWorksってのも違うの?

676:デフォルトの名無しさん
08/02/19 22:38:31
比較サイト見っけた
URLリンク(wiki.codeblocks.org)

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

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

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

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

681:デフォルトの名無しさん
08/02/23 03:00:16
wxDev-C++いれてみたけど
かなり頑張ってるな。


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

683:デフォルトの名無しさん
08/02/23 20:08:42
>>682
おまえはやる気あんのか?

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

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

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

686:デフォルトの名無しさん
08/02/24 10:31:45
>>684 が挙げた3つの中でC言語なのはGTK+だけ

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

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

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

689:デフォルトの名無しさん
08/02/24 16:07:33
妹=42歳(千代大海似)

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

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

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

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

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

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

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

695:692
08/02/26 01:20:38
>>693さん
なるほど。523見てなんとなく分かりました。
ありがとうございました。

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

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

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


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

698:デフォルトの名無しさん
08/02/27 09:25:53
wxMenuBar

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



699:デフォルトの名無しさん
08/02/27 11:01:34
早くwx-usersに要望を出す作業に戻るんだ

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

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

702:デフォルトの名無しさん
08/03/01 09:36:44
URLリンク(wxpyce.wikispaces.com)

703:701
08/03/01 09:55:26
>>702
サンクスです。

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

705:デフォルトの名無しさん
08/03/03 01:36:52
>>704
Raise()

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


707:デフォルトの名無しさん
08/03/03 18:52:50
使えそう?

708:デフォルトの名無しさん
08/03/03 19:22:07
>>705
できました。ありがとうございました

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


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


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

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

713:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/03/15 16:01:46
下がってるのであげてみることにする

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

715:デフォルトの名無しさん
08/03/15 20:02:14
事故解決した
Wx::Frame#get_menu_bar
ちぅのがあるのね…

716:デフォルトの名無しさん
08/03/16 09:00:11
widestudioとどっちがいいですか??

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


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5178日前に更新/262 KB
担当:undef