トップページtech
981コメント348KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/09/09(土) 00:06:30
クロスプラットフォーム GUI ライブラリの wxWidgets (旧 wxWindows)について語りましょう。

本家
 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
0525デフォルトの名無しさん2007/12/01(土) 22:18:22
フォントの高さをピクセル単位で取得したいのですが、
> font.GetPointSize();
だと値が表示されている高さよりも明らかに小さくなります。
正確な値を得るにはどうすればいいのでしょうか?
よろしくお願いします。
0526デフォルトの名無しさん2007/12/01(土) 23:15:35
ポイントとピクセルは全然違う単位だ
0527デフォルトの名無しさん2007/12/02(日) 00:51:21
>>526
それなら、ポイントをピクセルに直すにはいったいどうすればいいのでしょうか?
解像度とか関係ありそうなのですが、よく分からないのです。
0528デフォルトの名無しさん2007/12/02(日) 01:38:57
>>527
wxDC::GetCharHeight()
がそれっぽいですがベースラインより下の部分も含んでるのかどうかはわかりません
0529デフォルトの名無しさん2007/12/02(日) 20:09:11
>>528
それを参考にして書いていたら、wxWindowにも
同じ名前のドンピシャなメソッドがあることが分かりました。
ありがとうございました。
0530デフォルトの名無しさん2007/12/05(水) 20:34:52
分割ウィンドウ(wxSplitterWindow)を使用した場合、ステータスバーの表示/非表示
切り替えは出来ないものなのでしょうか。サンプルのsplitterに、statbarからの表示/非表示
切り替えコードを追加してみたのですが、初回の非表示(失敗)後に、分割ウィンドウの
サイズが変更不能となってしまいます。
05315302007/12/05(水) 21:18:50
すみません、自己解決しました。
wxStatusBar* statbar = GetStatusBar();

statbar->Hide();
//SetStatusBar(NULL); // <- 親フレームと分割ウィンドウの連動が解除されてしまうのでコメントアウト
SendSizeEvent(); // 非表示部が即時更新されないので追加
0532デフォルトの名無しさん2007/12/13(木) 16:52:55
VS2005の変数ウォッチのようなことがしたいのですが、そのためのコントロールを探しています。
変数ウォッチとは、プログラムのデバッグ時にint型やクラス型で定義された変数の
名前や中身や型を表示するものです。

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

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

条件に合うコントロールがあれば教えていただきたいのです。
よろしくお願いします。
0533デフォルトの名無しさん2007/12/14(金) 18:55:29
使ったことないですが、下記サイトのwxTreeListCtrlがそれっぽいような…。
http://homepage2.nifty.com/bkclass/doc_wxcode.html
0534デフォルトの名無しさん2007/12/15(土) 01:40:55
>>533
wxCoreというのは初めて知りました。
サンプルも動かしてみたのですが、これは素晴らしいですね。
どうもありがとうございました。
0535デフォルトの名無しさん2007/12/16(日) 20:16:12
スクロールバー領域を除いた
ウィンドウのクライアント領域のサイズを得ることはできますか?
0536デフォルトの名無しさん2007/12/16(日) 20:20:35
ウィンドウのクライアント領域−スクロールバー領域=スクロールバー領域を除いた
ウィンドウのクライアント領域のサイズ
0537デフォルトの名無しさん2007/12/16(日) 21:21:45
>>536
すいません。説明が足りませんでした。

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

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

また、普通のウィンドウクラスにはスクロールバーのサイズを得るメソッドが無い
(多分どこかにはあると思うのですが自分は知らない)
のでスクロールバーのサイズを得ることもできません。
0538デフォルトの名無しさん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.
0539デフォルトの名無しさん2007/12/16(日) 22:57:22
>>538
またまたすいません。

対象としているコントロールにはwxTextCtrlやwxTreeCtrlなどの
wxScrolledWindowを継承しないものも含まれています。
0540デフォルトの名無しさん2007/12/16(日) 23:22:23
おいおいいいかげんにしろよ
さすがにエスパーはいないぜ
自分で英語のリファレンス読めよ糞
0541デフォルトの名無しさん2007/12/17(月) 17:40:00
例えば、ボタンをディセイブルにする、とかを調べたくて、
コントロールのリファレンスを読みたいのですが、教えて頂けないでしょうか?

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

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

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


イベントも理解できれば完璧ですが、wx-Devがイベントハンドラ作ってくれるから、理解しなくても良いかなぁ?
05435412007/12/17(月) 18:33:28
wxDevってコード補間ありますたorz

でも、WxButton::Enable(bool)が候補に出ないなぁ。コンパイルはトオタケド
0544デフォルトの名無しさん2007/12/17(月) 18:42:19
wxWindow::Enable
virtual bool Enable(bool enable = true)
0545デフォルトの名無しさん2007/12/28(金) 10:15:54
wxFrameって、OnCreateみたいなイベントハンドラはありませんか?

05465452007/12/28(金) 10:18:15
あ、OnInitDialogは、Frameオブジェクトの生成された後、1回コールされると考えてあってますか?
05475452007/12/28(金) 11:18:39
wxFrame::OnInitDialogがコールされないんですが、、、
仕様ですか?
0548デフォルトの名無しさん2007/12/28(金) 12:34:30
>>545
EVT_WINDOW_CREATE
0549デフォルトの名無しさん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だかららしいのですが。
0550デフォルトの名無しさん2008/01/07(月) 02:47:58
ライブラリorファイルが足りてないに一票
05515492008/01/07(月) 03:37:44
>>550
ありがとうございます。

環境を書き忘れてました、すいません。
当方64bitのGentooでしたのですが、試しに32bitのDebianで試してみたところ
segfaultで落ちることは無いようです。Glib-Object-WARNINGはuimを切ると出なくなりました。
wxGTKのバージョンは2.8.7.1です。
もしかしたら私の環境だけなのかと思い書かせて頂いた次第です。
0552デフォルトの名無しさん2008/01/07(月) 04:20:21
/lib64 だったりとか
05535492008/01/08(火) 00:14:53
wxGTKのバージョンを2.8.7.1-r1にしたら落ちなくなりました。
どうやらwxGTKのバグのようでした。どうもありがとうございました。
0554デフォルトの名無しさん2008/01/10(木) 00:53:45
wxPythonでwxGridのwxGridCellChoiceEditor
でセルにプルダウンなメニューを出しているのですが、動作がおかしいのです。
Windowsでは期待道理に動くのですが、Linuxだと候補から選択してもセルに
値が入りません。

ttp://d.hatena.ne.jp/Megumi221/20071123
の方も同様にいわれているのですが、どなたか解決された方いらっしゃらない
でしょうか?
Linuxのgtkとかのライブラリ依存なのでしょうか・・・
05555542008/01/10(木) 23:50:38
gtk2を2.10.4にしたら出なりました。お騒がせしました。
0556デフォルトの名無しさん2008/01/11(金) 03:40:29
そんなもんじょのいこ
ってそれはえなりだよ
0557デフォルトの名無しさん2008/01/12(土) 19:53:06
とにかくGTKがダメダメだということだけは分かったw
0558デフォルトの名無しさん2008/01/20(日) 23:45:50
このスレで前に似たような質問があったのですが・・
どうしても解決しないので質問させてください。

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

自分もここ
http://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' は内部コマンド外部コマンド、
操作可能なプログラムまたはバッチファイルとして認識されていません。
というエラーになります。。

どうすればよいのでしょうか??どなたかご教示頂けると幸いです。
0559デフォルトの名無しさん2008/01/21(月) 03:02:40
あなたそりゃUNIXのシェルを前提としてる操作をWindowsのコマンドプロンプトで
やってもダメでしょうよ。
0560デフォルトの名無しさん2008/01/21(月) 11:12:14
wx-configはコンパイルオプションを吐くシェルスクリプト
MSYSを導入して、rxvt上で実行しろ
0561デフォルトの名無しさん2008/01/21(月) 11:16:12
回答ありがとうございます。
http://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`
の間違いでした。
0562デフォルトの名無しさん2008/01/21(月) 11:33:27
>560 さん
回答ありがとうございます。MSYSは入ってます。
MSYSを導入して、rxvt上で実行 というのは、C:\MSYS\1.0\bin\rxvt.exe を立ち上げて
そこからg++ 〜 でコンパイルしろってことでいいんでしょうか。
家帰ったら試してみます。ありがとうございます。
0563デフォルトの名無しさん2008/01/21(月) 12:20:12
コンパイル云々の前に、そのまま素で
$ wx-config --cflags
とでも打ってみるんだな
どんな効果がでるか一発で分かる
0564デフォルトの名無しさん2008/01/21(月) 13:05:17
''wx-config' は内部コマンド外部コマンド、
操作可能なプログラムまたはバッチファイルとして認識されていません。
というエラーになります。。
0565デフォルトの名無しさん2008/01/21(月) 13:17:20
いや、だから、wxWidgets はユニックス系なので、
windows のコマンドラインじゃなくて
ユニックス系の shell でやらなきゃ ...
05665582008/01/21(月) 14:00:43
>565さん
564は自分じゃないですよ。
多分あまりにも基本的な部分で間違ってるので他の方に茶化されたのだと・・

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

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

>563さん
ありがとうございます。帰ったら試してみます。
0567デフォルトの名無しさん2008/01/22(火) 00:24:02
初心者なら、まずLinuxなりFreeBSDなりでやった方がいいよ。
Windowsでやるよりはるかに簡単だから。ネットの情報もほとんどUNIX系だし。

一旦それでやってればWindowsでもすぐできるようになると思う。
UNIX系の情報を見ながらWindowsで一発でやるには両方の知識が必要。
0568デフォルトの名無しさん2008/01/22(火) 02:55:34
実行ファイルににxrcを組み込むか、それと同等の事って出来ないでしょうか?
xrcの存在意義を無視してるのは分かるのですが、
ソースは簡潔&実行時にはファイル一つ、にどうしてもしたくて..
0569デフォルトの名無しさん2008/01/22(火) 05:10:43
ファイルひとつにこだわるならアーカイブ白と
0570デフォルトの名無しさん2008/01/22(火) 05:32:32
>>568
xrcのデータを実行ファイルに持たせることなら普通に出来る。ドキュメント読め。
0571デフォルトの名無しさん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の方が簡単なのであればそっちでやってみることにします。
ありがとうございました。
0572デフォルトの名無しさん2008/01/22(火) 17:22:09
簡単にGUIアプリが作りたいだけなら、wxPython でやってみるって手もある。
0573デフォルトの名無しさん2008/01/22(火) 18:38:29
>>568に便乗質問なのですが、
xrcでフォームの位置やサイズをアプリケーション終了時に保存することはできますか?
0574デフォルトの名無しさん2008/01/22(火) 23:05:56
>>570
出来ました。ありがとうございます
0575デフォルトの名無しさん2008/01/23(水) 00:04:51
>>571
もうちっとコマンドラインとか、パスとか、そういうことを勉強したほうがいいと思うな ...
0576デフォルトの名無しさん2008/01/23(水) 01:05:42
>>572
そういえばマイナー同士の組み合わせの割には、wxPythonの日本語情報って
ググると意外に出てくるね。
0577デフォルトの名無しさん2008/01/23(水) 02:08:03
最近のが多いから
はじめたばかりの君は恵まれている
昔は見つからなかった
0578デフォルトの名無しさん2008/01/23(水) 02:15:24
なるほど。ということは、ちょっと前に「情報が少なかったのに頑張った」
猛者たちがあらわれたってことか。感謝感謝。
0579デフォルトの名無しさん2008/01/23(水) 05:26:51
っつーかwxHogehogeの中で一番楽なのがwxPythonな気がする
0580デフォルトの名無しさん2008/01/23(水) 08:53:58
今pythonがアツいってのもあるね
wxに限らずPyGTKやらPyQtやらで作られたアプリが増殖中
0581デフォルトの名無しさん2008/01/23(水) 09:11:20
wxPythonについて概ねまとまってて勉強になったサイト
自信たっぷりの間違いがいくつかあるので注意
ttp://www.harukaze.net/~haruka/wxpython/
0582デフォルトの名無しさん2008/01/29(火) 18:06:45
アプリケーションのトップのエラーハンドラって書けますか?

C++ Builder/VCL だと、
>void __fastcall TForm1::ApplicationEvents1Exception(TObject *Sender, Exception *E)
みたいな感じで書くんですが。
0583デフォルトの名無しさん2008/01/29(火) 19:13:42
C++標準の例外じゃダメなの?
0584デフォルトの名無しさん2008/01/29(火) 19:22:52
いや、それで良いのです。throw するのはC++の例外。
アプリの一箇所、一括でcatchしたいだけですが、どう書けば良いでしょう?
0585デフォルトの名無しさん2008/01/29(火) 23:17:40
int main()
{
try {
// main routine
}
catch(...) {
// error handling
}
}
0586デフォルトの名無しさん2008/01/29(火) 23:40:34
wxApp使った場合って、mainが隠蔽されてるんだっけ?
とするとwxApp::OnFatalExceptionとかがそうなのかなぁ。
ttp://wxwindowsjp.sourceforge.jp/docs/html/wx/wx30.htm#wxapponfatalexception
0587デフォルトの名無しさん2008/01/30(水) 01:38:35
Ver2.8.6使ってるけど、
wxApp::OnUnhandledExceptionのドキュメント見ると、
OnRunをオーバーライドしてそこでキャッチしろって書いてるよ。

int MyApp::OnRun()
{
 try{
  return wxApp::OnRun();
 }
 catch(std::exception &e){
  ...
 }
}
05885822008/01/30(水) 08:41:31
>>585 >>586 >>587 etc.
回答サンクス。

やっぱ質問してヨカタ。
05895822008/01/30(水) 10:36:01
ヘルプの内容(>>587)確認しました。

OnRunオーバーライドして、エラーはcatchはされるんですが、catchの前にエラーが出てしまうのは何ででしょう。
05905822008/01/30(水) 10:39:12
OnExceptionInMainLoop()をオーバーライドして、return trueしたところ、無問題になりました。
有難うございました。
05915822008/01/30(水) 10:44:40
あれ?例外が補足されなくなちゃったorz
05925872008/01/30(水) 11:20:47
bool MyApp::OnOnExceptionInMainLoop() { throw; }
でMyApp::OnRun()のcatchに直通できた。
wxのエラーダイアログの中止ボタン押したときの処理もこうだから、
たぶんこれで問題ないと思う。
05935822008/01/30(水) 11:28:06
>>592
あ、本当ですね。上手くいきました。
05945822008/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
です。
0595デフォルトの名無しさん2008/01/30(水) 12:07:13
サンプルみつけました:

wxWidgets/samples/except
http://cvs.wxwidgets.org/viewcvs.cgi/wxWidgets/samples/except/
http://cvs.wxwidgets.org/viewcvs.cgi/wxWidgets/samples/except/except.cpp?rev=1.13&content-type=text/vnd.viewcvs-markup
05965822008/01/30(水) 13:25:38
あれー、
>wxMac-2.8.7\samples\except
で、
コンソールからmakeしましたが、
アプリでThrowメニュー(int/string/object)を実行すると、アプリがエラーで吹っ飛びます。

どうも、wxMacのバグですね。
当面は、実行メニューをそれぞれtry-catchで囲んでおきます。
開発中にcatch内容が変わったりすると、メンドイですね。
0597デフォルトの名無しさん2008/01/30(水) 15:29:47
http://www.wxwidgets.org/docs/technote/patches.htm
0598デフォルトの名無しさん2008/01/31(木) 16:16:31
すいません質問させて頂きたいのですが、
http://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
です。

どなたかアドバイス頂けると幸いです。。
0599デフォルトの名無しさん2008/01/31(木) 17:14:43
対症療法だが日本語使うのをやめろ
0600デフォルトの名無しさん2008/01/31(木) 22:16:10
てかエラーメッセージ読めよ…
0601デフォルトの名無しさん2008/01/31(木) 23:01:50
レスありがとうございます。

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

日本語ですか。特に使ってないと思うのですが・・
0602デフォルトの名無しさん2008/01/31(木) 23:02:14
レスありがとうございます。

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

日本語ですか。特に使ってないと思うのですが・・
0603デフォルトの名無しさん2008/01/31(木) 23:17:53
英語が読めないならば、エラーメッセージを英日翻訳ソフトに入れると良いかもよ。
ascii文字以外が入っているかもう一度確認して見てください。
ascii文字の意味はわかりますか?
0604デフォルトの名無しさん2008/01/31(木) 23:44:01
親切にありがとうございます。
いえ、英語は分かるのでエラーメッセージの翻訳はできるんですが、それでも意味が分からないということなんです。
ASCII文字は分かります。
「ascii文字以外が入っているか」っていうのは、どこを確認すればいいのでしょう??
0605デフォルトの名無しさん2008/01/31(木) 23:56:32
インターフェースに日本語つかってるということなんじゃないの?
アルファベットだけつかったつもりでも、
まちがって全角スペースが入るということもあります
0606デフォルトの名無しさん2008/02/01(金) 00:03:41
>>602
直接的な答えじゃなくて申し訳ないけど、俺がやるなら:

・エラーメッセージを出力している部分の wxGlade のソースコードを読む
・エラーが出なくなるまでウィジェットを減らしてみる
0607デフォルトの名無しさん2008/02/01(金) 00:11:46
ソースファイルを1バイトずつ読み込んで値が全部0以上127以下になってるか調べればいいと思うよ
0608デフォルトの名無しさん2008/02/01(金) 01:42:06
解決しました。
単純にコードを吐き出すパスに「デスクトップ」が入っていただけでした・・汗
回答くださった方々ありがとうございましたm(_ _)m
0609デフォルトの名無しさん2008/02/01(金) 03:11:59
これはずっこけざるを得ない. まぁありがちだとは思うが.
ubuntu-jpも余計なことしてくれるよな. 'デスクトップ'は英語名に直しとき.
0610デフォルトの名無しさん2008/02/01(金) 04:05:20
デスクトップで作業してんじゃねーよ、カス
0611デフォルトの名無しさん2008/02/01(金) 09:53:13
まあ、トラブルの原因のほとんどは「単純」なミスだよね
0612デフォルトの名無しさん2008/02/02(土) 17:49:53
fedora8のwxwidgets(2.8.4)で
wxDirPickerCtrlで起動後初回の選択のみ反応しないのですが,
(GetPathに反映されず,ハンドラも呼ばれない)
同じような症状の方いませんでしょうか?
使い方でミスをしてるのか,バグなのか分からなくて困ってます.
0613デフォルトの名無しさん2008/02/03(日) 02:36:57
今ようやくHello,worldが作れたんだけれど、66KBだった。
4MBぐらいになるってどこかに書いてあったのだけれど。
0614デフォルトの名無しさん2008/02/03(日) 03:13:40
静的リンクだとMBになるよ
0615デフォルトの名無しさん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
と言われるけど、今度は何も生成してくれない。

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

つ ldd
0617デフォルトの名無しさん2008/02/03(日) 03:52:29
>>615
>>558-563
0618デフォルトの名無しさん2008/02/03(日) 04:42:37
スレ違い
C初心者スレ池
0619デフォルトの名無しさん2008/02/03(日) 04:58:13
>>615
>今度は何も生成してくれない。
>のはなんででしょう。。

太陽が眩しかったから
0620デフォルトの名無しさん2008/02/03(日) 09:23:53
Linux が素人にも使いやすくなって、Windows のコマンドラインと
Unix のシェルの違いもわからないひとが GUI プログラムを
コンパイルできるようになったというのは良いことなのやら悪いことなのやら ...
0621デフォルトの名無しさん2008/02/03(日) 10:04:57
ただの馬鹿なのが問題なんだ。
たとえ素人でも疑問を追及する意思があれば間抜けな質問を垂れ流したりはしない。
0622デフォルトの名無しさん2008/02/03(日) 17:02:57
>>612について情報をお持ちの方は居ませんでしょうか…
0623デフォルトの名無しさん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のマクロによるインデントずれの問題は解決してないように見えるんだが・・・
0624デフォルトの名無しさん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
のようなエラーが出ます。

どこがおかしいでしょうか??
初心者質問ですいません。
■ このスレッドは過去ログ倉庫に格納されています