facebook twitter hatena line google mixi email
★お気に入り追加


  • 1
  •  
  • 2010/04/09(金) 15:12:36
クロスプラットフォーム GUI ライブラリの wxWidgets (旧 wxWindows)についてのスレ。

本家
ttp://www.wxwidgets.org/
wxWindows日本語プロジェクト
ttp://wxwindowsjp.sourceforge.jp/
Cross-Platform Programming with wxWidgets
ttp://wxwidgets.info/
Let's wxWidgets
ttp://dot-gray.s33.xrea.com/
wxWindowsで始めるC++ GUIプログラミング
ttp://www.h3.dion.ne.jp/~k5_n/wxwin/
wxWidgets でクロスプラットフォーム GUIアプリを作ろう
ttp://0xcc.net/pub/uu-2004-08/

前スレ
【GUI】wxWidgets(旧wxWindows) その4【サイザー】
http://pc12.2ch.net/test/read.cgi/tech/1214657360/

ここまで見た
  • 309
  •  
  • 2011/12/06(火) 11:00:02.97
>>307,308
何から何まですみません。

ここまで見た
  • 310
  • 255
  • 2011/12/06(火) 11:57:28.16
wxAccessibleってマニュアルに
For details on the semantics of functions and types, please refer to the Microsoft Active Accessibility 1.2 documentation.
とか、
Availability: only available for the wxMSW port.
とかあるけどlinuxで意味あるのか?

ここまで見た
  • 311
  •  
  • 2011/12/06(火) 14:11:37.79
>>310
下のサイト
http://www14.ocn.ne.jp/~bkclass/doc_wxsamples.html
を見て、サンプルのソース実行して勉強してたんですけど、accessっていうサンプルをコンパイルして実行をしようとすると、
"This sample has to be compiled with wxUSE_ACCESSIBILITY"
というメッセージが出たので、
Windowsのみ本体のwxUSE_ACCESSIBILITYを1にする、とは書いてあったんですが、動いてないということはLinuxでも必要なのかと勝手に思い込んでこちらで聞いてみたんですが、やっぱりLinuxでは意味が無いんでしょうか…

ここまで見た
  • 312
  • 311
  • 2011/12/06(火) 14:27:45.09
度々すみません。
こちらでもマニュアルを確認したら、accessはWindowsのみと書いてありました。
今度からはマニュアルを良く読んで、わからなかったらこちらで聞きたいと思います。
自分自身でもあんまりにゆとりすぎて反省してます…。
みなさん大変ご手数をおかけしました。


ここまで見た
  • 313
  •  
  • 2011/12/07(水) 15:35:36.35
ほとんどのゆとりにくらべたらまだましなほうだわ

ここまで見た
  • 314
  •  
  • 2011/12/07(水) 19:17:24.24
ゆとりはHSPとかC#に行くだろうからこっちには来ないだろうな
あとC++のGUIライブラリで有名で日本語ドキュメントがあるのはQtとかgtkだろうからさらにやる人は減る
最後にwxWidgetsは英語の知識とC++のオブジェクト指向がわかってないとできないから挫折する人も多いだろう

とゆとりが言ってみる

ここまで見た
  • 315
  •  
  • 2011/12/07(水) 20:24:22.32
wxWidgets > Qt >>> こえられないかべ >>> GTK

ここまで見た
  • 316
  •  
  • 2011/12/11(日) 22:40:24.44
wxWidgets > Qt なの?

ここまで見た
  • 317
  •  
  • 2011/12/15(木) 13:37:15.62
いわゆるビジュアルプログラミング言語は
生産性を改善するという触れ込みでありながら、事実上普及していない

何でかは知らんけど、同じ大きさのモニタに表示できる情報量で
テキストに負けちゃうからっていう説を聞いたことがあるような

ここまで見た
  • 318
  •  
  • 2011/12/16(金) 01:32:59.64
|....,,__
|_::;; ~"'ヽ
| //^''ヽ,,)
|  i⌒"
| ∀`) < 誰もいない きのこるならいまのうち
|⊂
| ノ
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
      |( ´∀`) < きのこ のこーのこ げんきのこ ♪
      |(ノ   |つ
      |     |
     ⊂ _ ノ
       ""U
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
     (´∀` )| < エリンギ まいたけ ブナシメジ ♪
    ⊂|  (ノ |
      |     |
      ヽ _ ⊃
      .U""
|
| ミ
| ミ  サッ!
| ミ
|

ここまで見た
  • 319
  •  
  • 2011/12/16(金) 06:38:53.32
下記のページ
http://docs.wxwidgets.org/2.8/wx_wxcommandevent.html

でwxCommandEventを勉強していたのですが、
GetIntとGetSelectionの違いがよく分かりません。

GetIntは
wxCommandEvent::GetInt
int GetInt()
Returns the integer identifier corresponding to a listbox, choice or radiobox selection (only if the event was a selection, not a deselection), or a boolean value representing the value of a checkbox.

と書いてあり、GetSelectionは
Returns item index for a listbox or choice selection event (not valid for a deselection).

と書いてあるのですが、GetIntの選択されたリストボックスに対応付けられたInt型と言うのはGetSelectionで返される値と何か違うものなのでしょうか?

ここまで見た
  • 320
  •  
  • 2011/12/16(金) 13:32:13.51
ver 2.8.12
include/wx/event.h
538: int GetSelection() const { return m_commandInt; }
554: int GetInt() const { return m_commandInt; }


ここまで見た
  • 321
  •  
  • 2011/12/22(木) 01:35:21.75
リストボックスの中に、入れ子でリストボックスを作りたいと思いマニュアルを見て、wxListBoxのメンバ関数であるCreate関数を利用すれば2段階リストが構成できるということまではわかったのですが、Create関数の使い方がいまいちわかりません。

お手数ですが、どなたか使い方を教えていただきませんでしょうか。

ここまで見た
  • 322
  •  
  • 2011/12/22(木) 06:52:48.65
了解

ここまで見た
  • 323
  •  
  • 2011/12/22(木) 18:41:37.88
wxRegExを使うため、wxregexライブラリをビルドし、成功しました。
しかし、いざプログラムで「wxRegEx」クラスを使おうとすると、「error C2065: 'wxRegEx' : 定義されていない識別子です」というエラーが出て、全く使えません。
思いつく方が居たらお願いします。

OS: Windows 7
wxWidgets: 2.9.1
コンパイラ: Visual C++ 2010 Express

ここまで見た
  • 324
  •  
  • 2011/12/22(木) 18:52:26.42
>>323
すいません、プリコンパイル済みヘッダを再作成してみたらうまくいきました。
スレ汚しすいません……

ここまで見た
  • 325
  •  
  • 2011/12/22(木) 19:21:01.94
MinGW勢はいないのか
どいつもこいつもマイクロソフトの犬だな

ここまで見た
  • 326
  •  
  • 2011/12/23(金) 01:55:47.35
mingwの時点でOSはWindowsなのに
>どいつもこいつもマイクロソフトの犬だな
とか書くのかよw

ここまで見た
  • 327
  •  
  • 2011/12/23(金) 02:50:47.72
確かにそうだな、ちょっとWindows捨ててくる

ここまで見た
  • 328
  •  
  • 2011/12/23(金) 16:08:42.36
wxWidgetsはWindows以外はおまけだろ。
Win32のラッパーとしての価値しかないと思っている。

ここまで見た
  • 329
  •  
  • 2011/12/23(金) 16:11:37.68
>>326
ナイス

ここまで見た
  • 330
  •  
  • 2011/12/23(金) 16:12:34.17
>>328
元々 wxWindows だからなぁ

ここまで見た
  • 331
  •  
  • 2011/12/24(土) 17:54:24.54
migw もなぁ…64bit対応がなぁ…
wxruby とか使いたくても使えないよ

しかしひとはビルドしろという
なんどでもビルドしろという
びるどしろー

ここまで見た
  • 332
  •  
  • 2011/12/25(日) 00:36:14.77
rubyるど

ここまで見た
  • 333
  •  
  • 2011/12/25(日) 08:31:41.01
MSWでwxListCtrlを使ってみたらDESELECTEDイベントが通知されないバグがあったので
クリックやキボード操作が行われる度に選択状態を自分でチェックしてDESELECTEDイベントを送るようにしたら
アイテムが1個の時に何故かマウスイベントが消し去られるバグまで出てきて
もう八方塞がりです
なにこれ馬鹿

ここまで見た
  • 334
  •  
  • 2011/12/25(日) 12:00:56.99
wxLC_VIRTUALの呪い

ここまで見た
  • 335
  •  
  • 2011/12/25(日) 13:04:57.85
そういうのってバグ報告できないのかな?

ここまで見た
  • 336
  •  
  • 2011/12/25(日) 21:34:01.11
馬鹿が使うと馬鹿っぽく振舞います

ここまで見た
  • 337
  •  
  • 2011/12/27(火) 11:01:32.77
明らかに開発陣はWindowsでテストしてないな
昔よりバグが悪化してるwww

ここまで見た
  • 338
  •  
  • 2011/12/27(火) 12:10:40.98
最近wxTreeCtrl使ってるけどイベント通知できんわ
仕様がわかってないだけかも知れんが、バグだったら報告しなきゃだな

ここまで見た
  • 339
  •  
  • 2011/12/27(火) 16:48:41.14
できるよ

ここまで見た
  • 340
  •  
  • 2011/12/27(火) 19:07:54.63
最新バージョンってバグ多いの?
これから使うか悩んでるので教えてださい。

ここまで見た
  • 341
  • 338
  • 2011/12/27(火) 23:00:49.89
今日ちょっとwxTreeCtrlの全イベント試してみたが、特に問題なかった。環境はMSW(MinGW)

>>340
英語が多くてドキュメントがAPIリファレンスしかないのがある意味バグw
この前wxXMLをHTMLに使ったら一気にバグってワロタ(当たり前だけど)

それさえ超えればいいものだと思います

ここまで見た
  • 342
  •  
  • 2011/12/27(火) 23:36:17.73
自分の無能を環境のせいにすんなやぼけ

ここまで見た
  • 343
  •  
  • 2011/12/28(水) 08:03:39.44
バグとか明らかに仕様とは違う動きをしたりすることは多々あるけど
もともとネイティブAPIをラップしただけだから誤魔化せるかもしれない
結局のところネイティブレベルの知識とwxWidgetsの中身まで調べないといけないので時間はかかる
それでもネイティブコンパイル出来ないC#も嫌だし、MFCよりは遥かにましだけどw
ネイティブレベルのことをしたくてGUIも楽に作りたいって要求に答えてくれるものがないもんな


ここまで見た
  • 344
  •  
  • 2011/12/28(水) 15:34:13.86
>>341
英語なのはキツイけどほかに良いライブラリも見当たらないし我慢するw

>>343
バグがあるってのはちょっと残念だなぁ
ネイティブレベルの知識もそんなに無いし不安だ・・・
けど、大きなバグじゃないのなら少し使ってみようと思います。

ここまで見た
  • 345
  •  
  • 2011/12/29(木) 15:13:49.10
649 デフォルトの名無しさん [sage] 2011/12/29(木) 14:50:37.28 ID: Be:
学生プログラマ日本一決定戦(予選は社会人も参加可)
ttp://codevs.jp/howto.html
現在予選開催中
応募締切 2012.1.6 12:00

おもしろいことやっているじゃん。誰か今から参加しろよ。

ここまで見た
  • 346
  • 本田
  • 2011/12/31(土) 22:24:08.47
>>340
http://www.wxwidgets.org/
wxWidgets 2.9.3 Released
2011-12-14

While this is still officially a development release because some API details are still not frozen,
we believe that 2.9.3 can be used in production environment,
especially for the new projects for which (small) changes in behaviour since 2.8 are not a problem.
Give it a try and let us know what do you think!

ここまで見た
  • 347
  •  
  • 2012/01/01(日) 00:03:23.71
2.8もバグ多い

ここまで見た
  • 348
  •  
  • 2012/01/01(日) 11:14:18.13
サイザーage

ここまで見た
  • 349
  • 2012/01/01(日) 12:26:18.78
今年のおみくじは大吉を良く目にする

ここまで見た
  • 350
  • 2012/01/01(日) 13:38:44.46
今年はwx使うことあるかなー

ここまで見た
  • 351
  •  
  • 2012/01/04(水) 16:51:15.64
wxWebViewって縦書きに対応してる?

ここまで見た
  • 352
  •  
  • 2012/01/05(木) 01:29:02.25
wxTextCtrlの内容を一行ずつ読み込みたいです。
行数を調べるのに以下のやり方でいいのかと考えたのですがエラーがでます。

size_t abc = wxTextCtrl::TextCtrl1.GetNumberOfLines();

コンパイルすると以下のエラーがでます。

C:\Users\x\Desktop\practice\practiceMain.cpp||In member function 'void practiceFrame::OnButton2Click(wxCommandEvent&)':|
C:\Users\x\Desktop\practice\practiceMain.cpp|225|error: 'TextCtrl1' is not a member of 'wxTextCtrl'|

http://docs.wxwidgets.org/2.9.3/classwx_text_file.html
ここを見るとメンバー関数と書いているようなのですが、何か考え違いをしていると思うのですが・・
教えてください。

ここまで見た
  • 353
  •  
  • 2012/01/05(木) 01:32:45.50
>>352
wxTextCtrlではなくwxTextFileとあるけように思える。
IDE使ったほうがいいんじゃない?

ここまで見た
  • 354
  •  
  • 2012/01/05(木) 02:10:29.44
>>353
レスありがとうございます。

リンクを間違っていました。 以下を参考にしました。
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx381.htm#wxtextctrlgetnumberoflines

IDEは、CODE::BLOCKS SVN:7550を使用しています。

試しに以下のことをやってみたのですがエラーがでました。
int abc = TextCtrl1.GetNumberOfLines(TextCtrl1);
C:\Users\x\Desktop\practice\practiceMain.cpp|225|error: request for member 'GetNumberOfLines' in '((practiceFrame*)this)->practiceFrame::TextCtrl1', which is of non-class type 'wxTextCtrl*'|
int abc = TextCtrl1.GetNumberOfLines();
C:\Users\x\Desktop\practice\practiceMain.cpp|225|error: request for member 'GetNumberOfLines' in '((practiceFrame*)this)->practiceFrame::TextCtrl1', which is of non-class type 'wxTextCtrl*'|

wxTextCtrl1は、CODE::BLOCKSのGUIの部品を貼り付けています。

ここまで見た
  • 355
  •  
  • 2012/01/05(木) 02:31:38.99
>>354
全体のコード見てないからなんとも言えないが、TextCtrlはprivateとかで宣言しないと外から触れんぞ


Frame.h
private :
wxTextCtrl* m_text;

Frame.cpp

// メソッド内にテキストコントロール配置
m_text = new (.....);

m_text->Hogehoge();

ここまで見た
  • 356
  •  
  • 2012/01/05(木) 12:59:53.67
>>355
レスありがとう。

int abc = TextCtrl1 -> GetNumberOfLines();

と書けば、エラーなくコンパイルできました。

本当にありがとうでした。


ここまで見た
  • 357
  •  
  • 2012/01/05(木) 17:12:08.35
>>356
それじゃあコンパイルできても内部処理書く段階で死にそうなのでアドバイス

第十三回-03 ドット演算子とアロー演算子
http://brain.cc.kogakuin.ac.jp/~kanamaru/lecture/prog1/13-03.html

あとこことかも役に立つ

●C++編(言語解説) トップページ
http://www.geocities.jp/ky_webid/cpp/language/index.html

ここまで見た
  • 358
  •  
  • 2012/01/05(木) 21:49:09.86
>>357
ありがとうございます。
ゆっくり読みます。

ここまで見た
  • 359
  •  
  • 2012/01/06(金) 15:41:25.76
テキストファイルを読み込む時に、utf-8のファイルの場合はreadして読み込むことができます。
テキストファイルがsjisの場合、次のようなエラーメッセージが表示されます。
[Faild to convert file "z:\test.txt" to unicode

http://docs.wxwidgets.org/2.9.3/classwx_text_file.html
http://docs.wxwidgets.org/2.9.3/classwx_conv_auto.html
上記を読むと、wxConvAuto機能を使用すると自動的にコンバートしてくれるように記載されているように見えます。

それで、openするときに、wxConvAuto()を付け加えてみたのですがエラーがでます。
wxConvAutoは付けても、付けなくても同じ現象です。
tfile.Open(file,wxConvAuto());

TextCtrl1->SetValue(str);
に、utf-8のファイルを読み込むと内容が反映されます。
sjisだとオープン時に(本当にオープンするときのエラーかどうかはわかりませんが・・・)上記エラーがでます。
またTextCtrl1にはテキストファイルの内容が反映されません。

どこが悪いか教えてください。


ここまで見た
  • 360
  •  
  • 2012/01/06(金) 15:42:52.53
すいません、ソースコードは短めなので、こちらに書きます。

wxString file,str,s,number;
wxTextFile tfile;

wxFileDialog fdlog(this,_T("テキスト読み込みファイルの選択"),
wxEmptyString, wxEmptyString, wxEmptyString,
wxFD_OPEN);
if(fdlog.ShowModal() != wxID_OK) return;
{
file.Clear();
file = fdlog.GetPath();
tfile.Open(file,wxConvAuto());
wxLogMessage(_T("オープンできました。"));
str = tfile.GetFirstLine();
s = str;
str += '\n';
while(!tfile.Eof())
{
s= tfile.GetNextLine();
str += s;
str += '\n';
}
TextCtrl1->SetValue(str);
wxLogMessage(_T("読み込み完了しました"));
tfile.Close();

こんな感じです。


フリックゾンビ
フリックラーニング
ここまで見た

★お気に入り追加

このページを共有する
facebook twitter hatena line google mixi email
おすすめワード