【GUI】wxWidgets(旧wxWindows) その5【サイザー】 (960レス)
上下前次1-新
434: 2012/07/05(木)16:30 AAS
wxWidgetsでShift_JISからUTF-8変換
http://nantonaku-shiawase.hatenablog.com/entry/2012/05/16/031005
wxNotebookとwxAuiNotebookの違い
http://nantonaku-shiawase.hatenablog.com/entry/20120211/1328967345
435: 2012/07/08(日)23:42 AAS
>>430
EVT_CLOSEのハンドラの処理では終了処理した後event.Skip(false);
Closeを呼ぶとまたハンドラが呼ばれる
436: 2012/07/09(月)07:12 AAS
http://wxpython.org/docs/api/wx.CloseEvent-class.html
You should check whether the application is forcing the deletion of the window
using CanVeto(). If it returns False, you must destroy the window using wx.Window.Destroy.
If the return value is True, it is up to you whether you respond by destroying the window or not.
For example you may wish to display a message dialog prompting to save files or to cancel the close.
437(1): 2012/07/13(金)19:00 AAS
ソースに
const char sjis[3] = {0x88, 0xa2, 0x00};
wxString s(sjis, wxCSConv(wxT("CP932")));
cout << s.mb_str(wxConvUTF8) << endl;
という部分があるとリンク時に下のようなエラーになります。
"hoge.sln" (Rebuild target) (1) ->
(hoge:Rebuild target) ->
hoge.obj : error LNK2001: 外部シンボル ""class wxMBConvUTF8 & wxConvUTF8" (
?wxConvUTF8@@3AAVwxMBConvUTF8@@A)" は未解決です。
hoge.obj : error LNK2001: 外部シンボル ""public: static unsigned int const
wxStringBase::npos" (?npos@wxStringBase@@2IB)" は未解決です。
..\hoge.exe : fatal error LNK1120: 外部参照 2 が未解決です。
何が足りないのでしょう?
438: 2012/07/13(金)20:37 AAS
ヘッダファイルの読み込みかライブラリのリンクを行ってない
VC++なんて捨ててMinGWでやろうぜ!
MinGW + EclipseCDTで環境用意すればいい
439: 2012/07/13(金)20:49 AAS
どのライブラリが足りないのか判らないんで
どのライブラリに含まれているかを教えろ
440: 2012/07/13(金)21:49 AAS
>103-
http://diary.imou.to/~AoiMoe/2004.09/middle.html#2004.09.13
441(1): 2012/07/14(土)23:52 AAS
c++とwxWidgetsを勉強中です。
わからないことがあるので教えていただけませんか。
void functestFrame::OnButton2Click(wxCommandEvent& event)
{
wxString str1 = L"まっぎょ";
functestFrame::wxStringfunc(&str1);
}
void functestFrame::wxStringfunc(wxString* str)
{ wxMessageBox(*str);}
4-10はコンパイルと実行できました。
void functestFrame::OnButton3Click(wxCommandEvent& event)
{
wxArrayString temp1;
temp1.Add(wxT("ぽけもん"));
functestFrame::wxArrayStringfunc(&temp1);
}
void functestFrame::wxArrayStringfunc(wxArrayString *arraystring)
{
for (int i=0 ; i< *arraystring.GetCount() ; i++)
{*arraystring.Item(i);}
}
コンパイルエラーがでます。
C:\Users\x\Desktop\functest\functestMain.cpp||In member function 'void functestFrame::wxArrayStringfunc(wxArrayString*)':|
C:\Users\x\Desktop\functest\functestMain.cpp|169|error: request for member 'GetCount' in 'arraystring', which is of non-class type 'wxArrayString*'|
C:\Users\x\Desktop\functest\functestMain.cpp|170|error: request for member 'Item' in 'arraystring', which is of non-class type 'wxArrayString*'|
||=== Build finished: 2 errors, 0 warnings (0 minutes, 1 seconds) ===|
wxstringと同じ方法をしているつもりなのですが、どのようにすればコンパイルができるのでしょうか?
442(1): 2012/07/15(日)11:07 AAS
>>441
ちょっとしたコードを書いてみた
http://pastebin.com/KCE8eyDe
コンパイルが通らない原因
wxArrayStringの通常変数とポインタ変数の違いがわかっていない
C++では実体に対しては「.」でアクセス、ポインタ変数に対しては「->」アロー演算子でアクセスする
参考:http://brain.cc.kogakuin.ac.jp/~kanamaru/lecture/prog1/13-03.html
× arraystring.GetCount();
○ arraystring->GetCount();
あと関数の入り口で「wxArrayString *arraystring」と宣言されているならば
その関数内部では「*arraystring」ではなく「arraystring」でアクセスする
「*」をつけてしまうと「arraystring」のポインタのポインタになってしまう
void functestFrame::wxArrayStringfunc(wxArrayString *arraystring)
{
for (int i=0 ; i< *arraystring.GetCount() ; i++)
{*arraystring.Item(i);} ← ここもいまいち何をしようとしてるかわからん
}
443: 2012/07/15(日)11:14 AAS
あと細かいことを言うと文字列の宣言を以下のようにしているようだが
wxString str1 = L"まっぎょ";
せっかく用意されているので「wxT」マクロを使った方がいい
wxString str1 = wxT("まっぎょ");
これでどのような環境でも日本語が変数に入れられるはず
444(1): 2012/07/15(日)21:32 AAS
>>442
ありがとうございます。
サンプルをコンパイルして、実行できました。
通常変数と、ポインタ変数ですか。
リンク先を読んで理解します。
すみません、あと一点教えてください。
wxStringは、通常変数? wxArrayStringは、ポインタ変数?を利用しているというころでしょうか?
下記マニュアルをどのように調べればよいのでしょうか?
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx368.htm
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx32.htm
445(1): 2012/07/16(月)05:30 AAS
>>444
>wxStringは、通常変数? wxArrayStringは、ポインタ変数?を利用しているというころでしょうか?
C/C++ではクラスや変数の宣言時に実体を宣言するかポインタで宣言するか決められるので
その質問はそもそもちょっとポイントがずれている
【ポインタ】
例えば
wxButton *btn1 = new wxButton(panel, wxID_BUTTON1, wxT("ボタン1"));
はwxButtonクラスをポインタ変数で宣言している
*btn1内のクラスメソッドをいじるには「*btn1->GetLabel();」と書く必要がありますよ、と
普通は大きなクラスはポインタ変数でインスタンスを作って宣言したほうが良い
【実体】
wxString myTestStr;
myTestStr = wxT("テスト文字列");
myTestStr.IsEmpty(); ← 空文字であるかどうか調べてる
>下記マニュアルをどのように調べればよいのでしょうか?
もうお気づきかもしれないが
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx368.htmに載っているのは
wxStringという「クラス」についてのリファレンス
wxString::Hogehoge のように「::」がくっついた後半部分がそのクラスが使用出来るメソッド(関数)
myTestStr.IsEmpty(); ← wxStringのIsEmptyというメソッドをつかっている
自分が欲しい機能をクラスリファレンスで探し、クラスを宣言してどのように使えるかは
メソッド部分を見れば良いということ。
446: 2012/07/16(月)07:23 AAS
DLLよりもstaticの方が配布サイズ小さくなるな
447: 2012/07/16(月)10:56 AAS
逆でわ?
448: 2012/07/16(月)11:06 AAS
DLLリンクで作るともちろんexeは小さくなるけど
DLLも一緒に配布するとなるとでかくなるって意味
449: 2012/07/16(月)11:08 AAS
そりゃあんたのプログラムの規模が小さいだけでわ?
450: 2012/07/16(月)11:12 AAS
いや先入観無しで聞いてくれ
最初はそう思ってたんだが
確かにDLLリンクで作るとexeはめっちゃ小さい
しかし実際そこそこの規模のプログラム書いて
staticで作ってみて出来たexeが
(前者のexeに必要なDLLを合わせたサイズに比べると)
意外と小さい
451: 2012/07/16(月)11:15 AAS
exe だけ配布汁!
452: 2012/07/16(月)11:22 AAS
そりゃDLLはwxWidgets全部入りだしな
453: 2012/07/16(月)12:51 AAS
規模によるとしか言いようがない
454: 2012/07/16(月)12:57 AAS
MFC 最強ですねわかります
455: 2012/07/16(月)13:25 AAS
DLLはwxWidgetsのシンボル全部入ってるけど、
staticリンクだと本体が使うシンボルだけ.aから
引っ張ってくるんだから、そうなるのは当たり前
456: 2012/07/16(月)14:12 AAS
規模によるとしか言いようがない
457: 2012/07/16(月)14:13 AAS
DLL ってなんのためにあるんだっけ?
458: 2012/07/16(月)14:13 AAS
ワロタ
459: 2012/07/16(月)14:34 AAS
wxWidgetsで作ったexeが一個(あるいは少数)しかないときはそうなるのは当たり前。
DLLのメリットが生きるのはOS等のようにexeが無数にあってさらに共通部分(API)が多い場合。
趣味でやってるならSTATICでいいんじゃね?
460: 2012/07/16(月)14:56 AAS
めずらしくwxWidgetsスレが伸びている・・・
461: 2012/07/16(月)15:55 AAS
規模によるとしか言いようがない
462: 2012/07/16(月)15:56 AAS
2.9.4 出たからな
463: 2012/07/16(月)16:19 AAS
2.9.4 はまだ Development だよね。
いつ Stable になるんだよ、まったく。
464: 2012/07/16(月)16:28 AAS
馬鹿には無理
465: 2012/07/16(月)17:57 AAS
馬鹿には無理さんは帰って、どうぞ
466: 437 2012/07/16(月)19:32 AAS
事故解決しました。
リンカ設定ではディレクトリで vc_dll の方を指定していたのですが、
PreprocessorDefinitions に WXUSINGDLL が抜けていたため、
static link しようとしてシンボル未解決になっていたようです。
467: 2012/07/16(月)19:53 AAS
つ http://wiki.wxwidgets.org/Microsoft_Visual_C%2B%2B_Guide#Project_properties
468: 2012/07/16(月)19:55 AAS
そうそう。
それです。
469: 2012/07/17(火)23:59 AAS
>>445
レスありがとうございます。
>>その質問はそもそもちょっとポイントがずれている
ポインタ渡し、参照渡しを調べていたのですが、勘違いしていたようです。
int,charなどの型の場合・関数の場合・クラスの場合と大体は似ているようですが、
クラス内の機能を使用するときには、->を使わないとだめなことがなんとなくわかりました。
void functestFrame::OnButton2Click(wxCommandEvent& event)
{
wxString str1 = wxT("まっぎょ");
functestFrame::wxStringfunc(&str1);
}
void functestFrame::wxStringfunc(wxString* str)
{ wxMessageBox(*str);
str -> Last();}
教えてもらったとおりやると、コンパイルと実行ができ、str.Lastとやればコンパイルエラーがでました。
間接参照演算子の*strの使い方で勘違いしていました。
あくまで、データをみるだけで、クラス等のpointer渡しの場合かつその機能を使う
場合は、->を使うんですね。
ありがとうございました。
470: 2012/07/18(水)09:07 AAS
全然違うw
C++の初心者用入門本読んで勉強汁
471: 2012/07/18(水)13:24 AAS
wxWCharBuffer の使い方が良く判りません。
472: 2012/07/23(月)08:38 AAS
過疎
473: 2012/07/23(月)13:34 AAS
過疎かあ?ヌ
474: 2012/08/10(金)14:24 AAS
わからないことがあるので、教えてください。
http://fossies.org/unix/misc/wxWidgets-2.9.4.tar.gz:a/wxWidgets-2.9.4/utils/helpview/src/client.cpp
のソースの中で、149行目と150行目の : は何という演算子で、どのようなことをしているのでしょうか?
149 MyFrame::MyFrame(wxFrame *frame, const wxString& title)
150 : wxFrame(frame, wxID_ANY, title, wxDefaultPosition, wxSize( 200, 100 ) )
149行目は、コンストラクターというのはなんとなくわかりますが、その後の演算子?がなにをしているのかが
わかりません。
検索しても、スコープ演算子はでてくるのですが、: 一個だけの演算子の意味がでてきません。
試しに、150行目に該当する部分をコメントアウトしてみると、ビルドは通りますが、実行しても何も表示されません。
{}の中に、 wxFrame(frame, wxID_ANY, title, wxDefaultPosition, wxSize( 200, 100 ) );を追加してビルドして
実行しても何も表示されません。
475(1): 2012/08/10(金)14:33 AAS
すいません、リンク先の内容が質問したい内容と同じではありませんでした。
実際は、C:\wxWidgets-2.9.3\samples\sockets\client.cppの内容をビルドしながら理解しようとしています。
client.cpp
// frame constructor
MyFrame::MyFrame() : wxFrame((wxFrame *)NULL, wxID_ANY,
_("wxSocket demo: Client"),wxDefaultPosition, wxSize(300, 200))
ここのコンストラクタの後の、: の演算子?であっているのかどうかも不明なのですが・・・
これは何をしているのでしょうか?
476(1): 2012/08/10(金)14:58 AAS
>>475
MyFrameは多分継承したクラスなので、基底クラスであるwxFrameのコンストラクタを呼び出している。
477: 2012/08/10(金)14:59 AAS
あげちゃった・・・。Orz
478: 2012/08/10(金)15:15 AAS
>>476
教えてくれてありがとうございます。
継承と基底クラスを調べてみます。
479: 2012/08/10(金)16:12 AAS
若き日のヴィドゲンシュタインがよみがえったように
480: 2012/08/10(金)16:21 AAS
連結グラフ G=(V,E) と重み d:E->R+が与えられたとき 最小木を求めよ。
481: 2012/08/14(火)17:06 AAS
演算子?ではありませぬ
482: 2012/08/28(火)18:53 AAS
初期化リストじゃね?
483: 2012/08/31(金)17:18 AAS
wxStaticBitmapに透過png画像を指定して描画しても、
透過になってくれてないようなのですが、
単にwx.BITMAP_TYPE_PNGで読んだものを貼るだけじゃ駄目なんでしょうか?
484: 2012/08/31(金)18:43 AAS
wxInitAllImageHandlers() の呼び忘れや
png を作成したソフトが原因で正常に透過処理されないとかかなあ
サンプルのimage参考にするといいと思うよ
485: 2012/08/31(金)22:09 AAS
wxPython in action の翻訳版が・・・
http://www.slideshare.net/ryanvan/wxpython-in-action
486: 2012/08/31(金)23:26 AAS
スライド565ページって、出版じゃないのかー。
それでも俺は原書を選ぶぜ。
487: 2012/08/31(金)23:48 AAS
webはスライドだけど
savefileボタン押したら
普通にPDFが落ちて来た
488: 2012/09/01(土)02:49 AAS
・wxAuiPaneInfoで、一度設定したCaptionをCaptionVisibleのtrue, falseで切り替えたいけど
なぜか反映されん、なんでだぜ
wx 2.9.4使ってみた
・GTK環境 wx2.8でSetSizer呼んだ後Fit呼ぶと異常終了するバグが2.9.4では直ってた
・同じくGTK環境 wxListctrlでwxLIST_AUTOSIZEしても、自動でカラムの幅が調整されない
(なんかメーリス見たらwxPythonのロビンさんが「まだ直ってないの?」みたいなこと書いてた。誰か直して。)
489(1): 2012/09/01(土)04:53 AAS
GTKは糞
490: 2012/09/05(水)19:33 AAS
GTK+ は多段タブも実現できんのだな
WindowsにできてGTKにできんことが結構見えてきた
ミゲルさんもこんなこと書いてるし、Linuxのデスクトップはダメだな
http://www.yamdas.org/column/technique/linuxdesktopj.html
491: 2012/09/06(木)09:29 AAS
>>489
またおまえか
巣に帰れ
492(2): 2012/09/06(木)09:57 AAS
何度でも言うよ
欠かさず言うよ
GTKは糞
493(1): 2012/09/06(木)17:47 AAS
>>492
おっさんなにやってん?
494: 2012/10/15(月)03:49 AAS
eNprdGhEhnH6XMi8RgcFfQj71L1t6+FS
Cvr6jXc0G/c3BgLhfriwvl5No4NejUJz
LpIZQVwwPY0OQOkaBSBnDlRujgKYC4ZQ
ZfoKYGVzkkEcDYX4xjnxmo0OzXUKU/L6
1jadbDo7bfP0uVwwA8FqG4MgjH01YAMa
A7kgNND1LQtgroC6Kb4xDiyr1BiAAjP1
9JpzFQBRXmeP
495: 2012/10/24(水)22:55 AAS
大量削除の危機を生き延びたんだな
496: 2012/11/01(木)21:43 AAS
┌─┐
│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘
497: 2012/11/17(土)01:59 AAS
hosh
498(1): 2012/11/18(日)17:34 AAS
wxWidgetsって、gtkを呼び出す抽象的なレイヤになるの?
499: 2012/11/18(日)18:00 AAS
OSとかbuildしたときの設定による
Windows版なら今は直接Win32API呼んでるはず
500: 2012/11/19(月)00:34 AAS
>>498
抽象的なレイヤって言い方が引っかかるけど
どのプラットフォームでも同じコードで動くよ
501: 2012/11/19(月)02:31 AAS
gtkを呼び出す抽象的なレイヤなんてないよ
502: 2012/11/20(火)14:03 AAS
wxGtkって何なんだ?
503: 2012/11/20(火)14:05 AAS
具象的
504: 2012/11/20(火)16:40 AAS
gtkをwxWidgetのバインディングで呼出してんだから抽象的じゃないの?
具象的だと日本語おかしくね?
505(1): 2012/11/20(火)16:46 AAS
gu
taite
ki
506(1): 2012/11/22(木)21:38 AAS
>>505
はいはいワロス
507: 2012/11/22(木)23:26 AAS
>>506
ひでー
508: 2013/01/10(木)03:31 AAS
>>492
何度も言うよ
残さず言うよ
だろ
>>493
中途半端なつっこみするなら黙ってろよムズムズする
509: 2013/01/10(木)07:36 AAS
何度でも言うよ
欠かさず言うよ
GTKは糞
510: 2013/01/10(木)16:50 AAS
マイナーGUIスレを見たけど、以前はFOXが人気だったんだね
まだ息してるのかな
511: 2013/01/10(木)16:53 AAS
今はもう、QtかWxWidgetsの二択にしか見えない。気のせい?
512: 2013/01/11(金)08:37 AAS
FortranプログラムのGUIシェルをwxWidgetsで作ろうとsampleのexecを改造しているけれどよくわからない。
いい本ないでしょうか。
最近wxPythonの本が出ましたがパイプまでは書いていないので…
513: 2013/01/11(金)09:01 AAS
eNprdGhEhnH6XMi8RgcFfQj71L1t6+FS
Cvr6jXc0G/c3BgLhfriwvl5No4NejUJz
LpIZQVwwPY0OQOkaBSBnDlRujgKYC4ZQ
ZfoKYGVzkkEcDYX4xjnxmo0OzXUKU/L6
1jadbDo7bfP0uVwwA8FqG4MgjH01YAMa
A7kgNND1LQtgroC6Kb4xDiyr1BiAAjP1
9JpzFQBRXmeP
514: 2013/01/13(日)12:10 AAS
64bit版MinGWでwxWidgetsコンパイルしてるけど
作ったバイナリが起動すらしないので死にそう
515: 2013/01/14(月)01:59 AAS
コンパイルできた
64bitネイティブアプリや、どや
516: 2013/01/15(火)01:35 AAS
windows7を使用しています。
http://wiki.wxwidgets.org/Beech:Using_common_dialogs
を参考に拡張子が、csvとtxtのファイル名のみを取得しようとしています。
wxDir::GetAllFiles(dir , &filename ,wxT("*.txt"));
wxDir::GetAllFiles(dir , &filename ,wxT("*.csv"));
filespecが一つのときは指定拡張子のみ取得できます。
wxDir::GetAllFiles(dir , &filename ,wxT("*.csv;*.txt"));
2個指定すると何も取得されません。
指定方法が悪いと思うのですが、どのようにすればいいのでしょうか?
教えてください。
517(1): 2013/01/15(火)06:14 AAS
http://trac.wxwidgets.org/ticket/4420
518: 2013/01/15(火)06:31 AAS
分からないならレスしないでください
519: 2013/01/15(火)17:15 AAS
>>517
レスありがとう。
一つしかサポートされないのですね。
ありがとうございました。
520: 2013/01/16(水)15:50 AAS
なんで
http://wiki.wxwidgets.org/Beech:Using_common_dialogs
を参考にすると
wxDir::GetAllFiles(dir , &filename ,wxT("*.csv;*.txt"));
が出てくるんだろ
基地外か
521(1): 2013/01/16(水)23:31 AAS
wxWidgetsを使おうとしてる時点でオカシイのだ(・∀・)
522: 2013/01/17(木)18:18 AAS
童貞乙
523: 2013/01/19(土)07:42 AAS
この道はいつか来た道♪ああ そうだよあかしやの花が咲いてる
524: 2013/01/20(日)02:49 AAS
windowsで変な抽象レイヤなんて触るなら、c#使った方がマシ
525: 2013/01/21(月)20:07 AAS
wxRubyでWindowsのイベントを捕まえたいのですがどのようにすれば出来ますか?
C++なんかだとMSWWindowProcをオーバーライドすることで出来るみたいですが
wxRubyには見あたらないような・・・
526: 2013/01/21(月)23:44 AAS
Ruby を Windows で使う人って()
527: 2013/01/21(月)23:59 AAS
【ActiveScript】RubyをWindowsで使うスレ【GUI】
2chスレ:tech
528: 2013/01/23(水)01:57 AAS
>>521
MFCを直に触りたくないとき、他に候補なんてある?
529: 2013/01/23(水)04:51 AAS
Qt
530: 2013/01/23(水)07:01 AAS
CLX, GTK+, Qt, Tk, FLTK, FOX
C言語/C++ベースおよびマルチ言語ベース
ウィジェット・ツールキット - Wikipedia
531: 2013/01/23(水)07:03 AAS
Agar
CEGUI
GLUI
Juce
Ultimate++
Visual Component Framework (VCF)
YAAF
532: 2013/01/30(水)12:24 AAS
MFCならWindowsのみで動けばいいんだろ
WTL
OWLNext
533: 2013/01/31(木)05:40 AAS
このひとまた変な本出してるな
http://www.amazon.co.jp/dp/4877832890/
このひとの他の本酷かったから買うつもり無いけど
上下前次1-新書関写板覧索設栞歴
あと 427 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.025s