【GUI】wxWidgets(旧wxWindows) その5【サイザー】at TECH
【GUI】wxWidgets(旧wxWindows) その5【サイザー】 - 暇つぶし2ch293:デフォルトの名無しさん
11/11/23 07:52:23.63 .net
MinGWでwxWidgetsやろうとしたら面倒すぎて死んだ

294:デフォルトの名無しさん
11/11/23 15:36:30.36 .net
>>293
大丈夫、慣れたらできる(マゾ)

295:デフォルトの名無しさん
11/11/23 15:48:53.79 .net
>>284
しかもよく見たらコマンド間違えてるな

× g++ -c foo.cpp `wx-config --cppflags`

○ g++ -c foo.cpp `wx-config --libs` `wx-config --cxxflags` -o foo

ライブラリにリンクしてないから実行ファイルができてない可能性が

296:デフォルトの名無しさん
11/11/23 21:59:05.34 .net
>>293
wxDev-C++
URLリンク(wxdsgn.sourceforge.net)
みたいなのもあるから暇なときに試してみたら?

VC++でやるよりは楽かも…、しれません。

297:デフォルトの名無しさん
11/11/24 00:18:52.26 .net
devC++は好きで昔から結構使ってるけど
やっぱvc版インストしてvcの統合環境でやったほうがデバッグは楽だよ
使うまではdevCのパッケ導入が楽かも知れんけどw

(最近はc#が色々楽すぎるんでwx自体全然使って無いけど・・・)

298:デフォルトの名無しさん
11/11/24 06:38:20.30 .net
VC++2008EnterpriseEditionでやったらめちゃくちゃ簡単だった


299:デフォルトの名無しさん
11/11/24 14:16:50.31 .net
hosyu

300:284
11/11/28 13:24:44.41 .net
レスの間が開いてすみません。みなさん色々とアドバイスありがとうございます。
>>289
よくわからないうちからいろいろなサイトをまわって色々試してたせいで若干記憶が曖昧で申し訳ないのですが、インストールは確かパッケージから入れたと思います。

サンプルのバージョンが2.9.2なのですが、コンパイルエラーを見る限り、2.8のライブラリを読んでいるみたいなので、安定版と最新版を両方入れてたみたいです。

改めて2.8.12を公式から落としてきて、そのサンプルでコンパイルしてみたらうまくいきましたので、ご指摘の通りサンプルとwxWidgetsのバージョンが違ったみたいです。ありがとうございました。

>>290
エラーメッセージは先頭の部分でした。ありがとうございました。
>>291
そうみたいですね。makefile.unxでうまくいきました。ありがとうございました。
>>295
今まで下記サイトを参考に
URLリンク(0xcc.net)

% g++ -c hello.cpp `wx-config --cppflags`
% g++ -o hello hello.o `wx-config --libs`

というようにコンパイルしてたんですけど良くなかったでしょうか。

301:デフォルトの名無しさん
11/11/28 19:19:16.59 .net
>>300

> 今まで下記サイトを参考に
> URLリンク(0xcc.net)
>
> % g++ -c hello.cpp `wx-config --cppflags`
> % g++ -o hello hello.o `wx-config --libs`
>
> というようにコンパイルしてたんですけど良くなかったでしょうか。

それならOK、コマンド1行でやるか2行でやるかの違い
ただ wx-config --cppflagsとwx-config --libsが何を表しているのか
includeとかlibってどういうものなのかググって意味を考えたほうがいいよ


302:デフォルトの名無しさん
11/12/05 19:16:58.26 .net
LinuxでパッケージからwxWidgetsを入れた場合、setup.hはどこにあるのでしょうか?
wxUSE_ACCESSIBILITYを有効にしようと思ってファイル検索したら大量にかかったので幾つか内容を変更してみても有効にならなかったので。


303:デフォルトの名無しさん
11/12/05 19:26:14.75 .net
パッケージはバイナリしか入ってない、つまりオプションを切り替えるのは不可能では?
ソースからビルドした方がいいと思われ

304:デフォルトの名無しさん
11/12/05 19:31:56.85 .net
>>303

ありがとう。ソースから入れなおしてみる。

305:デフォルトの名無しさん
11/12/05 19:45:40.51 .net
>>302
Linuxでは通常はソースのパッケージが別に用意されてるよ。

ディストリによるけど後ろに-develみたいなのがついたパッケージ
を入れるとソースが入る。

306:デフォルトの名無しさん
11/12/05 21:19:08.30 .net
>>305
そのレスを見る前に入れなおしてしまった…教えてもらったのに申し訳ないです。



オプションの切り替えは結局setup.hをいじれば良いのでしょうか?

307:デフォルトの名無しさん
11/12/05 21:34:18.68 .net
>>306
./configure -h で付けられるオプションが見れるからやってみ、その中にwxUSE_ACCESSIBILITYも入ってるだろう

308:デフォルトの名無しさん
11/12/05 21:38:07.80 .net
$ ./configure -h | grep accessibility
--enable-accessibility enable accessibility support

あったあった。何に使うのかわからんけどどうぞ。

309:デフォルトの名無しさん
11/12/06 11:00:02.97 .net
>>307,308
何から何まですみません。

310:255
11/12/06 11:57:28.16 .net
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:デフォルトの名無しさん
11/12/06 14:11:37.79 .net
>>310
下のサイト
URLリンク(www14.ocn.ne.jp)
を見て、サンプルのソース実行して勉強してたんですけど、accessっていうサンプルをコンパイルして実行をしようとすると、
"This sample has to be compiled with wxUSE_ACCESSIBILITY"
というメッセージが出たので、
Windowsのみ本体のwxUSE_ACCESSIBILITYを1にする、とは書いてあったんですが、動いてないということはLinuxでも必要なのかと勝手に思い込んでこちらで聞いてみたんですが、やっぱりLinuxでは意味が無いんでしょうか…

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


313:デフォルトの名無しさん
11/12/07 15:35:36.35 .net
ほとんどのゆとりにくらべたらまだましなほうだわ

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

とゆとりが言ってみる

315:デフォルトの名無しさん
11/12/07 20:24:22.32 .net
wxWidgets > Qt >>> こえられないかべ >>> GTK

316:デフォルトの名無しさん
11/12/11 22:40:24.44 .net
wxWidgets > Qt なの?

317:デフォルトの名無しさん
11/12/15 13:37:15.62 .net
いわゆるビジュアルプログラミング言語は
生産性を改善するという触れ込みでありながら、事実上普及していない

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

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

319:デフォルトの名無しさん
11/12/16 06:38:53.32 .net
下記のページ
URLリンク(docs.wxwidgets.org)

で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:デフォルトの名無しさん
11/12/16 13:32:13.51 .net
ver 2.8.12
include/wx/event.h
538: int GetSelection() const { return m_commandInt; }
554: int GetInt() const { return m_commandInt; }


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

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

322:デフォルトの名無しさん
11/12/22 06:52:48.65 .net
了解

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

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

324:デフォルトの名無しさん
11/12/22 18:52:26.42 .net
>>323
すいません、プリコンパイル済みヘッダを再作成してみたらうまくいきました。
スレ汚しすいません……

325:デフォルトの名無しさん
11/12/22 19:21:01.94 .net
MinGW勢はいないのか
どいつもこいつもマイクロソフトの犬だな

326:デフォルトの名無しさん
11/12/23 01:55:47.35 .net
mingwの時点でOSはWindowsなのに
>どいつもこいつもマイクロソフトの犬だな
とか書くのかよw

327:デフォルトの名無しさん
11/12/23 02:50:47.72 .net
確かにそうだな、ちょっとWindows捨ててくる

328:デフォルトの名無しさん
11/12/23 16:08:42.36 .net
wxWidgetsはWindows以外はおまけだろ。
Win32のラッパーとしての価値しかないと思っている。

329:デフォルトの名無しさん
11/12/23 16:11:37.68 .net
>>326
ナイス

330:デフォルトの名無しさん
11/12/23 16:12:34.17 .net
>>328
元々 wxWindows だからなぁ

331:デフォルトの名無しさん
11/12/24 17:54:24.54 .net
migw もなぁ…64bit対応がなぁ…
wxruby とか使いたくても使えないよ

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

332:デフォルトの名無しさん
11/12/25 00:36:14.77 .net
rubyるど

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

334:デフォルトの名無しさん
11/12/25 12:00:56.99 .net
wxLC_VIRTUALの呪い

335:デフォルトの名無しさん
11/12/25 13:04:57.85 .net
そういうのってバグ報告できないのかな?

336:デフォルトの名無しさん
11/12/25 21:34:01.11 .net
馬鹿が使うと馬鹿っぽく振舞います

337:デフォルトの名無しさん
11/12/27 11:01:32.77 .net
明らかに開発陣はWindowsでテストしてないな
昔よりバグが悪化してるwww

338:デフォルトの名無しさん
11/12/27 12:10:40.98 .net
最近wxTreeCtrl使ってるけどイベント通知できんわ
仕様がわかってないだけかも知れんが、バグだったら報告しなきゃだな

339:デフォルトの名無しさん
11/12/27 16:48:41.14 .net
できるよ

340:デフォルトの名無しさん
11/12/27 19:07:54.63 .net
最新バージョンってバグ多いの?
これから使うか悩んでるので教えてださい。

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

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

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

342:デフォルトの名無しさん
11/12/27 23:36:17.73 .net
自分の無能を環境のせいにすんなやぼけ

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


344:デフォルトの名無しさん
11/12/28 15:34:13.86 .net
>>341
英語なのはキツイけどほかに良いライブラリも見当たらないし我慢するw

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

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

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

346:本田
11/12/31 22:24:08.47 .net
>>340
URLリンク(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:デフォルトの名無しさん
12/01/01 00:03:23.71 .net
2.8もバグ多い

348:デフォルトの名無しさん
12/01/01 11:14:18.13 .net
サイザーage

349: 【大吉】 【683円】
12/01/01 12:26:18.78 .net
今年のおみくじは大吉を良く目にする

350: 【大吉】
12/01/01 13:38:44.46 .net
今年はwx使うことあるかなー

351:デフォルトの名無しさん
12/01/04 16:51:15.64 .net
wxWebViewって縦書きに対応してる?

352:デフォルトの名無しさん
12/01/05 01:29:02.25 .net
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'|

URLリンク(docs.wxwidgets.org)
ここを見るとメンバー関数と書いているようなのですが、何か考え違いをしていると思うのですが・・
教えてください。

353:デフォルトの名無しさん
12/01/05 01:32:45.50 .net
>>352
wxTextCtrlではなくwxTextFileとあるけように思える。
IDE使ったほうがいいんじゃない?

354:デフォルトの名無しさん
12/01/05 02:10:29.44 .net
>>353
レスありがとうございます。

リンクを間違っていました。 以下を参考にしました。
URLリンク(wxwindowsjp.sourceforge.jp)

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:デフォルトの名無しさん
12/01/05 02:31:38.99 .net
>>354
全体のコード見てないからなんとも言えないが、TextCtrlはprivateとかで宣言しないと外から触れんぞ


Frame.h
private :
wxTextCtrl* m_text;

Frame.cpp

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

m_text->Hogehoge();

356:デフォルトの名無しさん
12/01/05 12:59:53.67 .net
>>355
レスありがとう。

int abc = TextCtrl1 -> GetNumberOfLines();

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

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


357:デフォルトの名無しさん
12/01/05 17:12:08.35 .net
>>356
それじゃあコンパイルできても内部処理書く段階で死にそうなのでアドバイス

第十三回-03 ドット演算子とアロー演算子
URLリンク(brain.cc.kogakuin.ac.jp)

あとこことかも役に立つ

●C++編(言語解説) トップページ
URLリンク(www.geocities.jp)

358:デフォルトの名無しさん
12/01/05 21:49:09.86 .net
>>357
ありがとうございます。
ゆっくり読みます。

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

URLリンク(docs.wxwidgets.org)
URLリンク(docs.wxwidgets.org)
上記を読むと、wxConvAuto機能を使用すると自動的にコンバートしてくれるように記載されているように見えます。

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

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

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


360:デフォルトの名無しさん
12/01/06 15:42:52.53 .net
すいません、ソースコードは短めなので、こちらに書きます。

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();

こんな感じです。


361:デフォルトの名無しさん
12/01/06 16:25:17.96 .net
wxTextCtrlの中身を印刷したいのですが、どのようにすればいいのかいまいち分かりません。
どこかにwxTextCtrlのアドレスか何かを渡せばよいのでしょうか?教えてください

362:デフォルトの名無しさん
12/01/06 18:45:10.90 .net
>>360
過去スレにもSJIS読み込みについての事例が沢山あるが、wxWidgetsのライブラリによるSJIS→UTF-8の変換は全く期待できない
結論としては「UnicodeビルドしてUTF-8で読み込め」でFAだとおもう

おすすめはlibiconvでUTF-8に変換してからwxWidgets内に読み込む
iconvはwikipediaにもサンプルコードがあるから、使うのは難しくないはず URLリンク(ja.wikipedia.org)

>>361
wxWidgets2.9.3のクラスリファレンス見れ、いっぱい使えそうなのあるぞ

wxPrintData
wxPrintDialog
wxPrintDialogData
wxPrinter
wxPrinterDC
wxPrintout
wxPrintPreview

363:361
12/01/06 19:18:13.20 .net
印刷の件ですが、wxPrinterDCにwxTextCtrlの値を渡せばWindowsでは印刷することができました。

しかし、LINUX(ubuntu11.10)環境下では、印刷プレビューを見る限りではうまくいっている様に思えるのですが、実際に印刷してみると(test wordsと言う文字を1部だけ印刷しようとしました。)、
1枚目のプリントに下記のようなエラーが印刷され、その後プリンタが無限に白紙を出しつづけるという不具合が起こりました。

%!PS-Adobe-3.0 %%Creator: Gnome Print Version 2.18.8 %%CreationDate: D:201201061

この不具合は、wxWidgets2.8.12の印刷用のサンプルプログラムprintingの内容を印刷しようとしても起きてしまったので、
参考にしたサンプルその物がどこかおかしいか、こちらの印刷まわりの設定がおかしいかのどちらかだと思うので、とりあえず上記のエラーを調べてみます。


>>362
レスありがとうございます。
一応読んではいたのですが、いまいちよく分からなかったのでここに頼ってしまいました。住みません。

364:デフォルトの名無しさん
12/01/06 19:42:20.71 .net
さっきShift_JISで読み込むのは無理だと言ったがそれは嘘だ(コマンドー風に)

下みたいなテストプログラムで普通にShift_JIS読み込めてワロタ
2.9.3パない

// テキストファイルの読み込み
wxTextFile file(wxT("./Shift_JIS.txt"));
file.Open(wxConvAuto(wxFONTENCODING_CP932));
wxString test = file.GetFirstLine();

frame->SetStatusText(test);
frame->Show(true);

365:デフォルトの名無しさん
12/01/07 21:53:08.88 .net
>>362>>364
レスありがとうございます。
試しに以下のように入力してコンパイルしてみました。

wxTextFile file(wxT("c:\\Shift_JIS.txt"));
file.Open(wxConvAuto(wxFONTENCODING_CP932));
wxString test = file.GetFirstLine();

コンパイルすると、下記エラーがでます。
C:\Users\x\Desktop\practice\practiceMain.cpp|154|エラー: no matching function for call to 'wxConvAuto::wxConvAuto(wxFontEncoding)'|

wxwigetsは,2.8.12を使用しています。
コンパイルが通らない原因が、わからにので2.9.3のソースをダウンロードしてコンパイルを試しています。


cドライブ直下に、MinGWとmsysというのを導入後、msys.batで端末?を起動しました。
そこで、./configure --disable-shared --enable-monolithic --enable-unicodeと行い、make make installまでは行いました。
make installした成果物?をwindowsの実行環境にどうもっていくか調べているところです。

何が悪いか手探りなので的外れなことしてるような気もするんですが、これしかできないのでとりあえず2.9.3の環境を作ってみます。

366:デフォルトの名無しさん
12/01/07 22:42:42.75 .net
>>365
やりかたは間違ってないとおもうので頑張って
今ちょっとクラスリファレンス見てたけど

wxTextFileの部分で::Openで取れる引数が2.8から2.9で変わってるみたい

wxWidgets 2.8

bool Open(wxMBConv& conv = wxConvUTF8) const
bool Open(const wxString& strFile, wxMBConv& conv = wxConvUTF8) const

wxWidgets 2.9

bool Open (const wxMBConv &conv=wxConvAuto()) const
bool Open (const wxString &strFile, const wxMBConv &conv=wxConvAuto()) const

OpenメソッドにwxConvAuto()をとれるのが新機能みたい。2.8にはないんだな、これが。

367:デフォルトの名無しさん
12/01/08 00:03:23.41 .net
>>366
わざわざ調べてくれてありがとうございます。

2.8にはない新機能だったんですね。
2.9.3にする励みになりました。

code::blocksで、コンパイル済みのものを入れるだけで1週間くらいかかった記憶があります。
コンパイルなど慣れないことをするので、今回も同じくらい時間かかるかもしれません。

でも2.9.3にする気にになりました。
ありがとうございました。

368:デフォルトの名無しさん
12/01/09 00:02:24.31 .net
Mingwをcドライブ直下にインストール
PATHに、C:\MinGW\bin;C:\MinGW\mingw32\binを追加
c:\wxWigets-2.9.3を解凍

下記を参考にしました。
URLリンク(wiki.codeblocks.org)
オプションはcode::blocksで使用する場合のofficial supportと書いていたので下記とおりにしています。

コマンドプロンプトで下記実行
C:\Users\x>SET PATH=c:\mingw\bin;c:\mingw\mingw32\bin
c:\wxWidgets-2.9.3\build\msw>mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release clean
c:\wxWidgets-2.9.3\build\msw>mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release
c:\wxWidgets-2.9.3\build\msw>mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=debug clean
c:\wxWidgets-2.9.3\build\msw>mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=debug
c:\wxWidgets-2.9.3\lib\gcc_dll>copy *.dll %windir%

code::blocksの設定
settings>Enviroment>Enviromet variables
WSWIN=C:\wxWidgets-2.9.3
settings>Grobal Variable Editor
current varibale:wx
base: ${WXWIN}
include: ${WXWIN}\include
lib: ${WXWIN}\lib

開発環境のコンパイルが初めてで、これでいいのか不安ですが、code::blocks上のプロジェクトのコンパイルが通りました。

369:デフォルトの名無しさん
12/01/09 00:08:31.38 .net
>>366

wxTextFile gfile(wxT("c:\\Shift_JIS.txt"));
gfile.Open(wxConvAuto(wxFONTENCODING_CP932));
wxString test = gfile.GetFirstLine();


tfile.Open(file,wxConvAuto(wxFONTENCODING_CP932));

二通りのやりかたでコンパイルが正常にできました。

また、sjisのファイルを読みこむこともできました。

ありがとうございました。
助かりました!!!

370:361
12/01/09 23:07:32.49 .net
ubuntuでの印刷の件ですが、使っているプリンタのドライバがよくなかった様で、ドライバを変更したらうまく行きました。

現状、wxTextCtrl内の行が長すぎると用紙からはみ出てしまうので、適切なところで改ページするようにしたいと思っていますので、またもう少し考えてみます。

371:デフォルトの名無しさん
12/01/11 14:12:14.80 .net
Linuxで開発したツールを知り合いの古い環境で動くかどうかテストしたら、libc.so.6が見当たらないっていうエラーが出てくるのですが、標準Cライブラリって動的リンクするしか方法はないのでしょうか?
その場合、作った実行ファイルは古い環境では動かないのかな…
一応./configure のオプションは
--with-gtk --enable-std_iostreams --enable-std_string
--enable-controls --disable-shared --enable-unicode --with-libjpeg=builtin
--with-libpng=builtin --with-regex=builtin --with-libtiff=builtin --with-zlib=builtin --with-expat=builtin

にして、プログラムのコンパイルは
g++ -o hoge.cpp `wx-config --cxxflags` `wx-config --libs`
g++ -o hoge.cpp `wx-config --cxxflags` `wx-config --libs` -static-libgcc -static-libstdc++
g++ -o hoge.cpp `wx-config --cxxflags` `wx-config --static --libs`
の3通りで実行ファイルを作ってそれぞれ試してもらったのですが、どれもlibc.so.6が利用できないというような意味のエラーが出てきます。
また
g++ -static -o hoge.cpp `wx-config --cxxflags` `wx-config --libs`
についても試しましたが、コンパイルエラーが大量に(主にライブラリが見当たらないといったようなエラー)が出てきます。
解決方法があるようでしたらご教授お願いします

372:デフォルトの名無しさん
12/01/11 18:34:11.40 .net
>>371
エスパーしてみるわ

一応忠告しとくけどwxWidgetsは「同じソースコードからWin, Linux, Macで使えるバイナリがコンパイルできる」のであって
「LInuxでコンパイルしたバイナリがWindowsで使える」というわけではない。
それができるのはJavaだけ

上の問題ではないとしたら
Linuxでコンパイル→Linuxで使う、はライブラリが揃ってる限りいけるはず。

よって、既に生成している実行ファイルを友人の環境で「ldd <- 対象の実行ファイル ->」して
友人の環境で足りないライブラリを追加する

もしくは友人の環境でwxWidgetsのソースをコンパイルして「wx-config」が正しく使えるようにする。




373:372
12/01/11 18:39:33.34 .net
というかlibc.so.6が足りないだけなら
実行ファイルと同じディレクトリにlibc.so.6を置いて実行すればいける気もする

374:デフォルトの名無しさん
12/01/11 20:17:58.74 .net
>>372
レスありがとうございます。

LinuxでコンパイルしたファイルはLinuxでは使えない、というのはわかっています。私も知り合いも環境はLinuxです。
極力ユーザが煩わしくないように、実行ファイル以外のファイルをユーザが別途インストールする必要が無いようにしたいのですが、不可能なのでしょうか?下記サイト
URLリンク(up-cat.net)
によると、Javaとは違いランタイムがいらないと書いてありますが限度があるのでしょうか
一応Windows版は同じソースで私の周りの環境では問題なく動いたのですが…

libc.so.6を実行ファイルと同じフォルダにおけ、ということですが、共有ライブラリはlddコマンドで見れるような指定されているアドレスに置かなくても利用可能なのでしょうか?
その方法で動作するかもしれないのでまた試してみます。

375:デフォルトの名無しさん
12/01/11 21:04:03.63 .net
>>374
> LinuxでコンパイルしたファイルはLinuxでは使えない、というのはわかっています。

いやわかってないだろ、どう見ても。

376:デフォルトの名無しさん
12/01/11 21:12:12.37 .net
>>375
すみません間違いました。
LinuxでコンパイルしたファイルはLinux以外では使えない、というのはわかっています。です

377:デフォルトの名無しさん
12/01/12 00:36:38.89 .net
>>376
自分の環境でコンパイルするときに正しく-staticオプションつけとけば、依存なしにバイナリを走らせることはできるはず
依存関係が出てるってことはstaticリンクビルドされてないのは間違いないので、そのアプリをちゃんとコンパイルしなおすべきかと


378:デフォルトの名無しさん
12/01/12 10:46:49.97 .net
>>377
レスありがとうございます。

-static-libcというコマンドは存在しないみたいで、どのようにオプションをつければlibcを静的リンクすればいいのか、自分なりに調べてみたのですがよく分からないのでできれば教えていただきたいです。

379:デフォルトの名無しさん
12/01/12 12:10:12.07 .net
>>378
リンク時に「-static」とつければいいです
この意味がわからなければ
gcc,CXXFLAGS,LDFLAGS ,MAKEFILE、リンカとかのキーワードでググってね

380:デフォルトの名無しさん
12/01/12 15:19:19.22 .net
>>379
g++ -static -o hoge.cpp `wx-config --cxxflags` `wx-config --libs`
でコンパイルしていたのですが、下記のようなエラー(長いので前半部分だけです。ごめんなさい。)が出るのですが、./configureのオプションか何かが足りないのでしょうか…

/usr/bin/ld: cannot find -lgdk_pixbuf-2.0
/usr/local/lib/libwx_baseu-2.8.a(baselib_dlunix.o): In function `wxDynamicLibrary::GetProgramHandle()':
dlunix.cpp:(.text+0x13): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc/i686-linux-gnu/4.6.1/../../../i386-linux-gnu/libgio-2.0.a(libgio_2_0_la-glocalfileinfo.o): In function `lookup_gid_name':
(.text+0x1a5c): warning: Using 'getgrgid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/local/lib/libwx_baseu-2.8.a(baselib_utilsunx.o): In function `wxGetUserHome(wxString const&)':
utilsunx.cpp:(.text+0x14f5): warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
utilsunx.cpp:(.text+0x157a): warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc/i686-linux-gnu/4.6.1/../../../i386-linux-gnu/libglib-2.0.a(gutils.o): In function `g_get_any_init_do':
(.text+0xe2a): warning: Using 'setpwent' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc/i686-linux-gnu/4.6.1/../../../i386-linux-gnu/libglib-2.0.a(gutils.o): In function `g_get_any_init_do':
(.text+0xe40): warning: Using 'endpwent' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking



381:デフォルトの名無しさん
12/01/12 18:33:37.54 .net
>>380
どこまで甘えてんだよ
少しは自分で調べてください・・・少しはソースを見やがれ

まず1行目
-lgdk_pixbuf-2.0

こいつの意味は「libgdk_pixbuf-2.0.a」という名前のライブラリをリンクするという意味
調べたらGNOMEプロジェクトの1つみたいだな
URLリンク(ftp.gnome.org)

まあこいつはyumでもapt-getでもなんでもいいからインストールすればいいだろ
インストール後に /usr/lib 直下に上で書いたライブラリがあればコンパイルは通るはず

2行目より後は警告だから無視してもいいのかもしれないが、意味としては
「warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking」
「警告:コンパイルに使っとるglibcがシェアードライブラリじゃねーか、スタティックライブラリでリンクしろよクソ野郎」

という感じですか、間違ってたらすまん。頑張ってgdk-pixbufとwxとglibのライブラリを手に入れてください(もちろんスタティックライブラリで)

382:デフォルトの名無しさん
12/01/12 18:42:52.46 .net
あ、でも
「warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking」系のエラーは
スタティックライブラリを使っても出ることがあるみたいだな。
つーことは一番の目標はgdk-pixbufをインストールすることか。簡単じゃん。

383:デフォルトの名無しさん
12/01/12 19:03:01.17 .net
ここまでおまえの自演

384:デフォルトの名無しさん
12/01/12 20:59:28.67 .net
>>381
後から見返してみると私の状況説明がたりないため、自業自得ですが、
どこまで甘えてんだよと言われましても>>379までの-staticオプションをつけてコンパイルする、というのは>>371ですでにためしたと説明したつもりだったのですが、すみません。

一応こちらでもできる限りのことを調べて、ソースも読んでから書き込んだつもりですが、調べたことをかけてなかったら確かに意味がありませんね。

一応libgdk-pixbuf-2.0.0、libgdk-pixbuf-2.0.dvg はインストール済みで、wxWidgetsはもちろん入れています。glibやlibcもapt-cache searchを使って目についた関連がありそうなものをインストールしまくって、コンパイルした結果上記のエラーが出ています。
また、libc.aと言うファイルを5時間ほど探しつづけましたが見当たらず、また、下記のリンクの一番下の回答者の
Check your Output mode settings, I believe you have linking set to "static". So the linker is looking for libgdk-pixbuf-2.0.a, which is probably not present. If you switch it to "shared" it should begin to work..

URLリンク(www.ultimatepp.org)

をみると、私の英語力ではlibgdk-pixbuf-2.0.0はstaticで出力できないと読めるため、八方塞がりとなり、ここで聞いた次第です。
気分を悪くしてしまってすみません。

>>383
自演ではないです。

385:デフォルトの名無しさん
12/01/12 21:16:37.55 .net
>>384
お前さんが知り合いの古い環境と同じ環境作って、
その環境でwxWidgetsとそのツールビルドすればええやん

386:381
12/01/12 21:32:18.61 .net
>>384
なんか思ったより込み入った問題みたいだな、キツイこと言ったかもしれないけど冗談だと思って聞き流してくだされ

ちょっとググッたけどlibgdk-pixbuf-2.0.0のスタティックライブラリが生成できないのはバグみたいだぞ
そして2番目のリンクではパッチとかも出てる
URLリンク(askubuntu.com)
URLリンク(bugs.launchpad.net)

で、対策としては gdk-pixbufのソースをとってきて
./configure --enable-static でいけるんではないかと思う(./configure -h したら一応あったけどこれは試した?)


387:381
12/01/12 23:04:21.77 .net
gdk-pixbuf-2.21.3にて
./configure --enable-static
make
make install

できた。めんどくせえ。

388:デフォルトの名無しさん
12/01/12 23:23:27.63 .net
wx関係ない問題なのに面倒見いいな……

389:デフォルトの名無しさん
12/01/12 23:24:18.71 .net
自演ですから

390:デフォルトの名無しさん
12/01/13 00:05:23.76 .net
>>385
レスありがとうございます
すみません。また書き方が悪かったですね。
知り合いの環境で動かしたのは、Linuxの環境で作成したバイナリファイルを、Linuxの他の環境で動くかどうかを確かめるためでしたので、知り合いの環境だけで動いても目的を果たせないんです。
linux環境すべてで動かせるとは思ってはいないのですが、せめて、多少のバージョン違いは克服したい、と思いまして。

>>386
レスありがとうございます
いえ、こちらが勝手に謝ってるだけだと思ってください。
そもそも自力で解決できないのが悪いんですし。
そしてまさかそこまで調べていただけるとは思いませんでした。
本当にありがとうございます。
パッチを試してみて、また報告します。
こちらのwxWidgetsのバージョンは2.8.12と2.9.3があるのですが、--enable-staticというオプションが確認できないので、調べてみます。
そしてちゃんと調べればきちんとパッチなども出てきたのですね…
これからはもっとよく調べてから書き込むことにします。

391:381
12/01/13 00:44:46.25 .net
>>388
wxはgtkもラップしてますしおすし

>>390
質問に答えるついででビルドしてみただけだよん

392:371
12/01/13 02:21:19.65 .net
>>388
ここでするべき質問ではなかったでしょうか…それ以前にちゃんと隅々まで調べておくべきでしたね

>>391
--enable-staticはgdk-pixbufの方のオプションでしたね。勘違いしました。
無事に静的ライブラリでリンクすることができました。本当に有難うございました。


しかし本当に見返すとひどいですね。半年ROMって出直すことにします。

393:デフォルトの名無しさん
12/01/17 01:29:32.09 .net
過疎ってんのかと思ったら割と繁盛してた

XRCでローカライゼーション機能(wxLocale)に対応してるみたいですが、普通にXRC中に文字列書いておけば
コンバートしてくれるのでしょうか?
自分で試せって?そうですね、すいません

久々に何か書いてみたかっただけです(^0^)

394:デフォルトの名無しさん
12/01/18 14:29:53.54 .net
2.8.12をソースからコンパイルしました。
>>368が間違っているかどうかわからないのですが、今のコンパイル環境を書きます。
CODE::BLOCKSを使用する前提なので、CODE::BLOCKSスレかと思ったのですが、
ここで質問させてもらっていたのでここに書きます。
windows 7 64bit/32bit共にmingwだと、2.8.12はコンパイルが行えなかったです。
mingwだとコンパイルできなかったので、tdm-gcc tdm-gcc-4.6.1をインストールしました。
tdm-gcc-4.6.1は、setupの時に32bitを選択しています。
URLリンク(forums.codeblocks.org)

PATHにC:\MinGW32\bin;C:\MinGW32\mingw32\binを追加。

DOSプロンプトで以下を実行。(2.9.3)
C:\Users\x>SET PATH=c:\mingw\bin;c:\mingw\mingw32\bin
c:\wxWidgets-2.9.3\build\msw>mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release clean
c:\wxWidgets-2.9.3\build\msw>mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release CXXFLAGS="-fno-keep-inline-dllexport"
c:\wxWidgets-2.9.3\build\msw>mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=debug clean
c:\wxWidgets-2.9.3\build\msw>mingw32-make -j -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=debug CXXFLAGS="-fno-keep-inline-dllexport"
c:\wxWidgets-2.9.3\lib\gcc_dll>copy *.dll %windir%
(2.8.12)
C:\Users\x>SET PATH=c:\mingw\bin;c:\mingw\mingw32\bin
c:\wxWidgets-2.8.12\build\msw>mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release clean
c:\wxWidgets-2.8.12\build\msw>mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release CXXFLAGS="-fno-keep-inline-dllexport"
c:\wxWidgets-2.8.12\build\msw>mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=debug clean
c:\wxWidgets-2.8.12\build\msw>mingw32-make -j -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=debug CXXFLAGS="-fno-keep-inline-dllexport"
c:\wxWidgets-2.8.12\lib\gcc_dll>copy *.dll %windir%

395:デフォルトの名無しさん
12/01/18 14:41:08.38 .net
何が間違っているのか教えてください。
wxWigets2.9.3を使用しています。
URLリンク(docs.wxwidgets.org)
ここを参考にしました。
wxRenameFile(_T("z:\\test.txt"),_T("z:\\test2.txt"));
コンパイル後、実行すると Failed to copy the file 'z:\test.txt' to 'z:\test2.txt' (error 2: 指定されたファイルが見つかりません。と表示されます。
zドライブ上には、test.txtファイルはあります。

試しに、下記を試すと実行できました。
  wxMkdir(_T("Z:\\T"));
wxMkdir(_T("Z:\\T"));

と実行すると、ディレクトリの作成と削除はできました。
2.9.3が開発版だからなにか問題があるかと思い、2.8.12を入れてみたのですが同じ現象です。

多分書き方が悪いんだと思うのですが、どこがわるいのかわかりません。

教えてください。





396:デフォルトの名無しさん
12/01/18 14:50:42.64 .net
馬鹿には無理

397:デフォルトの名無しさん
12/01/18 15:44:45.10 .net
>>395
テキストファイルが読み取り専用になってたりしない?

398:デフォルトの名無しさん
12/01/18 16:01:13.12 .net
>>397
レスありがとうございます。
読み込み専用ではなかったのですが、windowsの拡張子を表示する設定にしていませんでした。
拡張子を表示する設定にしたところ、test.txt.txtになっていました。
すみません、初歩的な事を数日見逃していました。

レスありがとうございました。


399:デフォルトの名無しさん
12/01/18 16:41:41.95 .net
わろす

400:デフォルトの名無しさん
12/01/18 18:21:10.87 .net
なんか若い子がいっぱい来た感じ

>>396
これはスクリプトなのかしら

401:デフォルトの名無しさん
12/01/18 18:24:47.81 .net
>>394
エラーログを貼らないとどんなハッカーでも原因はわからんですよ^^;
そもそもCode::Blocksはビルドする必要ないような?初心者はバイナリバージョンをダウンロードすればいいと思うよ。
もしCode::Blocksの翻訳とかやってる方だったら全力支援しますが

402:401
12/01/18 18:27:55.92 .net
ごめん>>401は忘れてください。ただの報告だったんですね・・・
またエラーかと思った


403:デフォルトの名無しさん
12/01/19 00:46:20.39 .net
わろす

404:デフォルトの名無しさん
12/01/22 22:48:49.88 .net
wxWidgets2.9.3を使用しています。
下記リンクを参考にしました。
URLリンク(docs.wxwidgets.org)

文字列の中に特定の文字が複数回出た場合の検索を行いたいです。

.find()この中に、aとか、txtとか入れると、最初の桁数だけ検索できます。
たとえば、[t]と入力すると、文字列の中に4回でてきますが、一個目のものしか検索されません。
また、[猫]や[犬]などを入力すると、ループの処理に入らずすぐに終了します。
[あ] を入力すると、1回ループ処理に入っているますが、検索結果に0が帰ってきます。

コードは以下のようになっています。

//wxString gpath C:\Users\x\Desktop\practice\猫犬象aAbB猫猫猫犬犬あいう.txt
    wxString bb,cc,dd;
size_t pos=0;
if((pos=::gpath.find(("猫"),pos))!= wxString::npos)
{
wxMessageBox(_T("ループ 処理開始"));
pos = ::gpath.find("猫",pos);
cc.Printf(_T("%d"),pos);
dd += cc;
dd += "\n";
pos + 1;
wxMessageBox(_T("ループ 判定処理に戻る"));
}
readpos -> SetValue(dd);
wxMessageBox(_T("終了"));

文法?など、何が間違っているか教えてください。

405:デフォルトの名無しさん
12/01/22 23:59:25.48 .net
>>404
wxString gpath = L"C:\\Users\\x\\Desktop\\practice\\猫犬象aAbB猫猫猫犬犬あいう.txt";
wxString word = L"猫";
wxString result;
size_t pos = 0;
wxMessageBox(_T("ループ 処理開始"));
while ((pos = gpath.find(word, pos)) != wxString::npos) {
result += wxString::Format(L"%d\n", pos);
pos += word.size();
wxMessageBox(_T("ループ 判定処理に戻る"));
}
OutputDebugStringW(result.c_str());

pos + 1はpos += 1のタイポだと好意的に解釈するにせよ、それでも
「何故1なのか」が理解できてないのはちょっとまずい。
ifとwhileの区別が付いてないのもかなり厳しい。
charとwchar_tの違いについてとか、
1. (pos = gpath.find(word, pos)) != wxString::npos
2. pos = gpath.find(word, pos) != wxString::npos
は全く意味が違う、とか。
wxWidgets以前に、まず基本的な文法を押さえることから始めた方がいいと思う。


406:デフォルトの名無しさん
12/01/23 01:28:04.42 .net
>>404
レスありがとうございます。

>>ifとwhileの区別が付いてないのもかなり厳しい。
理由がわからないので、whileとifを書き直してテストしてました。
これは、コピペを修正するのを忘れていました。 
ただ、最初はforで試したのですが、まったくだめでwhileやifなどを試してみました。
ただ理解してないのは間違いないです。

>>pos + 1はpos += 1のタイポだと好意的に解釈するにせよ
検索後、ひとつ右の文字から再度検索したかったので +1 にしたのでタイプミスではありませんでした。
+=でないとだめとのことなので、考え方が間違っているのですね。
見直します。

>>charとwchar_tの違いについてとか、
charがabとか半角文字で、wcar_tが2バイト文字が許されると漠然と認識しています。
ユニコードビルドなので、wxStringを使用した場合すべて2バイト文字が許されると認識していましたが、
なんか違うようですね。
wxString word = L"猫”;
wxString::Format
など、知らないものがでてきたので、これも調べます。

ありがとうございました。

407:デフォルトの名無しさん
12/01/23 03:10:53.18 .net
VCでもmingwでも pos + 1; に対してはWarning出すから、
ちゃんとWarningは読んで意味を理解しよう。
VC使ってるならステップ実行も使おう。

>charがabとか半角文字で、wcar_tが2バイト文字が許される
L""を知らなかった、ということはたぶん間違った理解をしてる。
まずはstring, wstringを使って両者についての理解を深めた方が良いかも。
ちなみにVCとmingwでwchar_tの定義は異なるので、それに気付かず両者を混同して
テストすると理解が深まるどころか発狂しそうになるので要注意。

知らないことが出てきたらまず自分で調べる、というのは正しい姿勢だし、
これからも是非継続してもらいたいけれども、この辺はもう完全にスレチなので、
c++初心者スレとかで聞いた方がいいと思う。
まあ頑張ってくれ。

408:デフォルトの名無しさん
12/02/02 23:41:58.22 .net
TDM-GCC 32bit wxWidgets2.9.3を使用しています。
URLリンク(docs.wxwidgets.org)を参考にしました。
URLリンク(2ch.ac.la) を参考にしました。
wxRegExの機能を使用したいです。

[ももも]猫[]け[2.5]犬象()aA b  B(2012年01月24日)猫猫__@(H23)_猫(わんわん)犬犬あいう.txt
という文字列から正規表現で文字を検索の仕方を調べています。
試しに\[...\]と正規表現をいれて実行したところ[ももも]というのは検索できました。

もうひとつ[2.5]というのも検索されているはずかなと思うのですが、とうやればいいかがよくわかりません。

以下のコードで、\[...\]で[ももも]は検索できました。

wxString search (L"\[...\]")
wxString text; (L"[ももも]猫[]け[2.5]犬象()aA b  B(2012年01月24日)猫猫__@(H23)_猫(わんわん)犬犬あいう.txt"
wxRegEx cktext(search);
wxString result;
if(cktext.Compile(search,wxRE_EXTENDED) == TRUE)
if( cktext.Matches(text,wxRE_NOTBOL))
result += cktext.GetMatch(text,count);

で、2件以上ヒットする場合はループにする必要があるかと次のようにしてみました。

409:デフォルトの名無しさん
12/02/02 23:49:55.81 .net
if(cktext.Compile(search,wxRE_EXTENDED) == TRUE)
{
wxMessageBox(L"正規表現です。");
if( cktext.Matches(text,wxRE_NOTBOL))
{
wxMessageBox(L"マッチ処理に入りました");
count = cktext.GetMatchCount();
wxMessageBox(wxString::Format("%d",count));
for (size_t i=0 ; i < count ; count--)
{
wxMessageBox(L"マッチループ処理に入りました");
result += cktext.GetMatch(text,count);
wxMessageBox(L"いったんすとっぷ1");
results -> SetValue(result);
wxMessageBox(L"いったんすとっぷ2");
}
results -> SetValue(result);
} else {
wxMessageBox(L"マッチ処理にヒットしませんでした。");
}
} else {
wxMessageBox(L"正規表現ではありません。");
}
実行しますと、「マッチループ処理に入りました」メッセージの後に、
faild in GetMatch() invalid match indexと表示されます。
wxMessageBox(wxString::Format("%d",count));
ここで1が帰ってくるのですくなくとも1件はヒットしていると思うのですが・・・・

考え方や、ソースのどこが間違っているのか教えてください。

410:デフォルトの名無しさん
12/02/03 00:46:43.23 .net
>>409
詰まったら詰まった現象を再現できる可能な限り短いコードを晒してくれ。
バグってる長いコードなんて誰も読みたくはない。

一応ヒントになりそうなコードは書いたが、
今回も残念ながらwxWidgets以前の問題だ。
正規表現に関してちゃんと勉強してくれ。

wxString regexText(L"\\[...\\](.)");
wxString text(L"[ももも]猫[]け[2.5]");
wxRegEx rx;
rx.Compile(regexText, wxRE_EXTENDED);

if (rx.Matches(text, wxRE_NOTBOL)) {
int n = rx.GetMatchCount();
for (int i = 0; i < n; ++i) {
wxMessageBox(rx.GetMatch(text, i));
}
}


411:デフォルトの名無しさん
12/02/03 02:34:29.06 .net
>>410
レスありがとうございます。

>詰まったら詰まった現象を再現できる可能な限り短いコードを晒してくれ。
>バグってる長いコードなんて誰も読みたくはない。
次からそのように心がけます。

>今回も残念ながらwxWidgets以前の問題だ。
>正規表現に関してちゃんと勉強してくれ。

もう一度、正規表現のコンテンツを読みます。

コードを書いてくれてありがとうございます。
参考にします。

しばらく時間がかかりそうですが、うまくいきましたら報告にきます。
ありがとうございました。

412:デフォルトの名無しさん
12/02/03 12:24:05.07 .net
>>409
> for (size_t i=0 ; i < count ; count--)
count-- っておま


413:デフォルトの名無しさん
12/02/04 00:41:55.82 .net
>>412
--ってあまりよくないようなので、i++に変更しました。

wxString regexText(L".?");
wxString text(L"abc123");
wxRegEx rx;
rx.Compile(regexText,wxRE_ADVANCED);
if (rx.IsValid()==TRUE)
{
if (rx.Matches(text)) {
int n = rx.GetMatchCount();
for (int i = 0; i < n; ++i) {
wxMessageBox(rx.GetMatch(text, i));
}}}

上記コードでコンパイルしたところ、faild in GetMatch() invalid match indexというのはでなくなりました。
((count--)と実行していた行で、エラーが発生していました。)

最短一致 .?を期待しています。 このソースだとaだけが表示されて、forを抜けてしまいます。
.?なので、全ての文字の1文字か0文字で、一文字が検索されると認識しています。

私の認識では、6回メッセージが表示されると思っているのですが、この考えは間違っているのでしょうか?
a,b,c,1,2,3と 一文字ずつメッセージが表示されると思っているのですが・・・

それとも正規表現の場合、一つの文字列から検索する場合には一回のみしか検索しないのでしょうか?
ただ、GetMatchCountでヒットした回数と内容を覚えているような気もします・・・

正規表現もこれであっているかの自信もないのですが、どこに間違えがありますか?
教えてください。

414:デフォルトの名無しさん
12/02/04 02:27:28.32 .net
>正規表現の場合、一つの文字列から検索する場合には一回のみしか検索しないのでしょうか?
その通り。
むしろ前回の状態を記憶するとどうして思ったのかがよくわからない。

>GetMatchCountでヒットした回数と内容を覚えているような気もします
覚えてない。
1が返ってきたなら「この正規表現にマッチした集合は1つ」という意味しかない。

>正規表現もこれであっているか
あってる。

415:デフォルトの名無しさん
12/02/04 12:58:33.95 .net
>>414
レスありがとうございます。

>むしろ前回の状態を記憶するとどうして思ったのかがよくわからない。
URLリンク(www.adras.com)
このようなページを時々見かけまして、一回の検索で、reEmail.GetMatch(email, 1);のように複数
書いているので、見つかったものは全部読めると思っていました。

>覚えてない。
>1が返ってきたなら「この正規表現にマッチした集合は1つ」という意味しかない。
なるほど、一つしか見つかっていないのですね。

>あってる。
了解です。

疑問なのですが、"(raw)(H24.2.4)北海道で撮影しました。"
という文字列を正規表現で検索した場合に、"北海道で撮影しました。"という文字列に
変換したい場合には、wxRegExを使用する場合には、以下の流れになるのでしょうか?

1・ \(.*?\)で、上記文章を最短一致で検索
2・ (raw)が検索にかかるので、これを削除。
3・ 削除後の文字列"(H24.2.4)北海道で撮影しました。"を新規で、wxStringに格納。
4・ \(.*?\)で再度最短一で検索。
5・ (H24.2.4)が検索にかかるので、これを削除。
6・ 削除後の文字列"北海道で撮影しました。"を新規で、wxStringに格納。

wxRegExで最短一致で検索した場合に複数一致する場合があった場合。
マッチした部分の削除・置き換えを行いたい場合はこのような流れにするしかないのでしょうか?
教えてください。

416:デフォルトの名無しさん
12/02/04 13:59:31.73 .net
スレ違い

417:デフォルトの名無しさん
12/02/04 16:35:13.66 .net
>正規表現
スレチだから詳しく書く気はない。

"北.+で.+た"
文字コードの問題はあるが、この正規表現は
"北海道で撮影しました"にも"北陸で撮影しました"にもマッチする。で、
"(北.+)で.+た"
とすると、全体がマッチした上で、北で始まり「で」で終わる文字列が
部分集合としてキャプチャされる。

>wxRegExのお話
GetMatchでindexを指定すると、0番目にマッチした全体が入り、
1番目以降はこの部分集合が順に入る。
例だとGetMatch(text, 1)で「北陸」か「北海道」が返ってくる。
たぶんその辺を理解してないんだろうなぁと思ったので
410で "\\[...\\](.)" ってわざわざキャプチャ入れたサンプルにしたのに・・・


>()で囲まれた部分を消去したい
wxString text(L"(raw)(H24.2.4)北海道で撮影しました。");
wxRegEx rx(L"\\(.*?\\)", wxRE_ADVANCED);
rx.ReplaceAll(&text, L"");
wxMessageBox(text);


418:デフォルトの名無しさん
12/02/05 01:18:16.61 .net
>>416 417
>スレチだから詳しく書く気はない。
すいません。

>とすると、全体がマッチした上で、北で始まり「で」で終わる文字列が
>部分集合としてキャプチャされる。

キャプチャという用語を知りませんでした。
正規表現に関して、コンテンツよんでいたつもりのようでした。
で、gogleで調べたところたくさん記載しているサイトがありました。

>たぶんその辺を理解してないんだろうなぁと思ったので
>410で "\\[...\\](.)" ってわざわざキャプチャ入れたサンプルにしたのに・・・
一度だけ、その正規表現で検索したときに、マッチカウント2回表示されました。
で、エラーもでなくなったので、コードが正常なのでそういう風になっているのかと
軽く考えていました。

本来は自分で考えることだと思いますが、消去したいコードを書いてくれてありがとうございます。

正規表現の書き方を完全に理解しないとやりたいことができませんので、一旦正規表現をしばらく調べます。
キャプチャ・・・かなりすっきりしました。

本当にありがとうございました。

419:デフォルトの名無しさん
12/02/06 17:29:11.83 .net
最新の2.8を使ってるが勝手にメモリリークしていくな
しかもデバッグDLLがコンパイルすら出来ないからテスト出来ないし
中身を作り替えたとか言ってたがものすごい劣化してるな

420:デフォルトの名無しさん
12/02/23 01:19:16.26 .net
GlassFishの質問てここでいいのかな。

421:デフォルトの名無しさん
12/02/24 03:27:42.33 .net
no

422:デフォルトの名無しさん
12/03/17 10:54:20.81 .net
>>246
>なんでいつも質問した後は簡単に見つかるんだろう…
安心しろ
それはRubber Duckingと言って有名なテクニックだ
URLリンク(www.aoky.net)

423:デフォルトの名無しさん
12/03/18 06:42:47.35 .net
wxPythonで使える俺俺モジュールの作り方を教えてくだされ

424:デフォルトの名無しさん
12/03/23 11:08:49.75 .net
サイザーage

425:デフォルトの名無しさん
12/03/23 11:24:00.67 .net


426:デフォルトの名無しさん
12/04/30 23:02:22.27 .net
hoshu

427:デフォルトの名無しさん
12/05/07 23:39:02.10 .net
wxFormBuilderで出力したコードで日本語が文字化けすると思ったら
BOMなしUTF8とVSの問題だった

428:デフォルトの名無しさん
12/05/19 11:47:34.43 .net
Windows, Linux環境で使えるアプリを作っているのだが
Windowsの場合はバイナリを配布すればいい
Linuxの場合はソース互換だからソースを配布するべきなんだよな?

429:428
12/05/19 11:51:05.86 .net
あとwx2.9をFedora15 x86_64でビルドしてインストールしたんだが
なぜか実行時にwxCSConvでコケる。同じ症状の方おまへんか~?
この現象はwx2.8では起きてない。

(gdb) backtrace
#0 0x000000000079c785 in wxCSConv::DoCreate() const ()
#1 0x000000000079d7bd in wxCSConv::wxCSConv(wxFontEncoding) ()
#2 0x000000000079dacd in wxGet_wxConvLocalPtr() ()
#3 0x00007ffff3a79018 in _GLOBAL__sub_I_strconv.cpp () from /usr/local/lib/libwx_baseu-2.9.so.3
#4 0x0000003c4400e2b6 in call_init.part.0 () from /lib64/ld-linux-x86-64.so.2
#5 0x0000003c4400e393 in _dl_init_internal () from /lib64/ld-linux-x86-64.so.2
#6 0x0000003c440016ca in _dl_start_user () from /lib64/ld-linux-x86-64.so.2
#7 0x0000000000000001 in ?? ()
#8 0x00007fffffffe815 in ?? ()
#9 0x0000000000000000 in ?? ()

430:デフォルトの名無しさん
12/06/13 22:49:56.47 .net
EVT_CLOSE に対して Close(True) しても終了出来ません

431:デフォルトの名無しさん
12/06/25 07:17:22.37 .net
URLリンク(cametan-001.tumblr.com)

432:デフォルトの名無しさん
12/07/04 17:16:02.11 .net
ほす
URLリンク(www.youtube.com)


433:デフォルトの名無しさん
12/07/05 16:29:10.99 .net
URLリンク(mikunchu.wiki.fc2.com)

434:デフォルトの名無しさん
12/07/05 16:30:39.73 .net
wxWidgetsでShift_JISからUTF-8変換
URLリンク(nantonaku-shiawase.hatenablog.com)

wxNotebookとwxAuiNotebookの違い
URLリンク(nantonaku-shiawase.hatenablog.com)


435:デフォルトの名無しさん
12/07/08 23:42:42.45 .net
>>430
EVT_CLOSEのハンドラの処理では終了処理した後event.Skip(false);
Closeを呼ぶとまたハンドラが呼ばれる

436:デフォルトの名無しさん
12/07/09 07:12:24.08 .net
URLリンク(wxpython.org)
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:デフォルトの名無しさん
12/07/13 19:00:38.12 .net
ソースに
  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:デフォルトの名無しさん
12/07/13 20:37:03.69 .net
ヘッダファイルの読み込みかライブラリのリンクを行ってない

VC++なんて捨ててMinGWでやろうぜ!
MinGW + EclipseCDTで環境用意すればいい

439:デフォルトの名無しさん
12/07/13 20:49:50.67 .net
どのライブラリが足りないのか判らないんで
どのライブラリに含まれているかを教えろ

440:デフォルトの名無しさん
12/07/13 21:49:44.49 .net
>103-

URLリンク(diary.imou.to)

441:デフォルトの名無しさん
12/07/14 23:52:18.18 .net
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:デフォルトの名無しさん
12/07/15 11:07:19.04 .net
>>441
ちょっとしたコードを書いてみた
URLリンク(pastebin.com)

コンパイルが通らない原因

wxArrayStringの通常変数とポインタ変数の違いがわかっていない
C++では実体に対しては「.」でアクセス、ポインタ変数に対しては「->」アロー演算子でアクセスする
参考:URLリンク(brain.cc.kogakuin.ac.jp)

× 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:デフォルトの名無しさん
12/07/15 11:14:03.55 .net
あと細かいことを言うと文字列の宣言を以下のようにしているようだが

wxString str1 = L"まっぎょ";

せっかく用意されているので「wxT」マクロを使った方がいい

wxString str1 = wxT("まっぎょ");

これでどのような環境でも日本語が変数に入れられるはず

444:デフォルトの名無しさん
12/07/15 21:32:47.77 .net
>>442
ありがとうございます。
サンプルをコンパイルして、実行できました。

通常変数と、ポインタ変数ですか。
リンク先を読んで理解します。

すみません、あと一点教えてください。

wxStringは、通常変数? wxArrayStringは、ポインタ変数?を利用しているというころでしょうか?

下記マニュアルをどのように調べればよいのでしょうか?
URLリンク(wxwindowsjp.sourceforge.jp)
URLリンク(wxwindowsjp.sourceforge.jp)



445:デフォルトの名無しさん
12/07/16 05:30:47.00 .net
>>444
>wxStringは、通常変数? wxArrayStringは、ポインタ変数?を利用しているというころでしょうか?

C/C++ではクラスや変数の宣言時に実体を宣言するかポインタで宣言するか決められるので
その質問はそもそもちょっとポイントがずれている

【ポインタ】
例えば
wxButton *btn1 = new wxButton(panel, wxID_BUTTON1, wxT("ボタン1"));

はwxButtonクラスをポインタ変数で宣言している
*btn1内のクラスメソッドをいじるには「*btn1->GetLabel();」と書く必要がありますよ、と
普通は大きなクラスはポインタ変数でインスタンスを作って宣言したほうが良い

【実体】
wxString myTestStr;
myTestStr = wxT("テスト文字列");
myTestStr.IsEmpty();  ← 空文字であるかどうか調べてる

>下記マニュアルをどのように調べればよいのでしょうか?

もうお気づきかもしれないが
URLリンク(wxwindowsjp.sourceforge.jp)に載っているのは
wxStringという「クラス」についてのリファレンス
wxString::Hogehoge のように「::」がくっついた後半部分がそのクラスが使用出来るメソッド(関数)

myTestStr.IsEmpty();  ← wxStringのIsEmptyというメソッドをつかっている

自分が欲しい機能をクラスリファレンスで探し、クラスを宣言してどのように使えるかは
メソッド部分を見れば良いということ。

446:デフォルトの名無しさん
12/07/16 07:23:17.68 .net
DLLよりもstaticの方が配布サイズ小さくなるな

447:デフォルトの名無しさん
12/07/16 10:56:52.47 .net
逆でわ?

448:デフォルトの名無しさん
12/07/16 11:06:12.02 .net
DLLリンクで作るともちろんexeは小さくなるけど
DLLも一緒に配布するとなるとでかくなるって意味

449:デフォルトの名無しさん
12/07/16 11:08:34.14 .net
そりゃあんたのプログラムの規模が小さいだけでわ?

450:デフォルトの名無しさん
12/07/16 11:12:44.68 .net
いや先入観無しで聞いてくれ
最初はそう思ってたんだが
確かにDLLリンクで作るとexeはめっちゃ小さい
しかし実際そこそこの規模のプログラム書いて
staticで作ってみて出来たexeが
(前者のexeに必要なDLLを合わせたサイズに比べると)
意外と小さい

451:デフォルトの名無しさん
12/07/16 11:15:19.52 .net
exe だけ配布汁!

452:デフォルトの名無しさん
12/07/16 11:22:57.42 .net
そりゃDLLはwxWidgets全部入りだしな

453:デフォルトの名無しさん
12/07/16 12:51:54.82 .net
規模によるとしか言いようがない

454:デフォルトの名無しさん
12/07/16 12:57:22.32 .net
MFC 最強ですねわかります

455:デフォルトの名無しさん
12/07/16 13:25:13.34 .net
DLLはwxWidgetsのシンボル全部入ってるけど、
staticリンクだと本体が使うシンボルだけ.aから
引っ張ってくるんだから、そうなるのは当たり前

456:デフォルトの名無しさん
12/07/16 14:12:18.33 .net
規模によるとしか言いようがない

457:デフォルトの名無しさん
12/07/16 14:13:00.02 .net
DLL ってなんのためにあるんだっけ?

458:デフォルトの名無しさん
12/07/16 14:13:47.36 .net
ワロタ

459:デフォルトの名無しさん
12/07/16 14:34:56.55 .net
wxWidgetsで作ったexeが一個(あるいは少数)しかないときはそうなるのは当たり前。
DLLのメリットが生きるのはOS等のようにexeが無数にあってさらに共通部分(API)が多い場合。
趣味でやってるならSTATICでいいんじゃね?

460:デフォルトの名無しさん
12/07/16 14:56:37.82 .net
めずらしくwxWidgetsスレが伸びている・・・

461:デフォルトの名無しさん
12/07/16 15:55:58.62 .net
規模によるとしか言いようがない

462:デフォルトの名無しさん
12/07/16 15:56:38.27 .net
2.9.4 出たからな

463:デフォルトの名無しさん
12/07/16 16:19:03.02 .net
2.9.4 はまだ Development だよね。

いつ Stable になるんだよ、まったく。

464:デフォルトの名無しさん
12/07/16 16:28:29.73 .net
馬鹿には無理

465:デフォルトの名無しさん
12/07/16 17:57:49.06 .net
馬鹿には無理さんは帰って、どうぞ

466:437
12/07/16 19:32:54.08 .net
事故解決しました。
リンカ設定ではディレクトリで vc_dll の方を指定していたのですが、
PreprocessorDefinitions に WXUSINGDLL が抜けていたため、
static link しようとしてシンボル未解決になっていたようです。

467:デフォルトの名無しさん
12/07/16 19:53:09.82 .net
URLリンク(wiki.wxwidgets.org)

468:デフォルトの名無しさん
12/07/16 19:55:20.02 .net
そうそう。
それです。

469:デフォルトの名無しさん
12/07/17 23:59:29.64 .net
>>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:デフォルトの名無しさん
12/07/18 09:07:55.01 .net
全然違うw

C++の初心者用入門本読んで勉強汁

471:デフォルトの名無しさん
12/07/18 13:24:00.41 .net
wxWCharBuffer の使い方が良く判りません。

472:デフォルトの名無しさん
12/07/23 08:38:27.68 .net
過疎

473:デフォルトの名無しさん
12/07/23 13:34:00.85 .net
過疎かあ

474:デフォルトの名無しさん
12/08/10 14:24:37.30 .net
わからないことがあるので、教えてください。

URLリンク(fossies.org)
のソースの中で、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:デフォルトの名無しさん
12/08/10 14:33:22.20 .net
すいません、リンク先の内容が質問したい内容と同じではありませんでした。

実際は、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:デフォルトの名無しさん
12/08/10 14:58:02.41 .net
>>475
MyFrameは多分継承したクラスなので、基底クラスであるwxFrameのコンストラクタを呼び出している。

477:デフォルトの名無しさん
12/08/10 14:59:37.21 .net
あげちゃった・・・。Orz

478:デフォルトの名無しさん
12/08/10 15:15:07.17 .net
>>476

教えてくれてありがとうございます。
継承と基底クラスを調べてみます。


479:デフォルトの名無しさん
12/08/10 16:12:34.61 .net
若き日のヴィドゲンシュタインがよみがえったように


480:デフォルトの名無しさん
12/08/10 16:21:56.40 .net
連結グラフ G=(V,E) と重み d:E->R+が与えられたとき 最小木を求めよ。

481:デフォルトの名無しさん
12/08/14 17:06:28.44 .net
演算子?ではありませぬ

482:デフォルトの名無しさん
12/08/28 18:53:02.77 .net
初期化リストじゃね?

483:デフォルトの名無しさん
12/08/31 17:18:28.13 .net
wxStaticBitmapに透過png画像を指定して描画しても、
透過になってくれてないようなのですが、
単にwx.BITMAP_TYPE_PNGで読んだものを貼るだけじゃ駄目なんでしょうか?

484:デフォルトの名無しさん
12/08/31 18:43:26.98 .net
wxInitAllImageHandlers() の呼び忘れや
png を作成したソフトが原因で正常に透過処理されないとかかなあ
サンプルのimage参考にするといいと思うよ

485:デフォルトの名無しさん
12/08/31 22:09:21.20 .net
wxPython in action の翻訳版が・・・
URLリンク(www.slideshare.net)


486:デフォルトの名無しさん
12/08/31 23:26:46.41 .net
スライド565ページって、出版じゃないのかー。
それでも俺は原書を選ぶぜ。

487:デフォルトの名無しさん
12/08/31 23:48:10.30 .net
webはスライドだけど
savefileボタン押したら
普通にPDFが落ちて来た

488:デフォルトの名無しさん
12/09/01 02:49:55.50 .net
・wxAuiPaneInfoで、一度設定したCaptionをCaptionVisibleのtrue, falseで切り替えたいけど
なぜか反映されん、なんでだぜ

wx 2.9.4使ってみた

・GTK環境 wx2.8でSetSizer呼んだ後Fit呼ぶと異常終了するバグが2.9.4では直ってた
・同じくGTK環境 wxListctrlでwxLIST_AUTOSIZEしても、自動でカラムの幅が調整されない
(なんかメーリス見たらwxPythonのロビンさんが「まだ直ってないの?」みたいなこと書いてた。誰か直して。)

489:デフォルトの名無しさん
12/09/01 04:53:40.84 .net
GTKは糞

490:デフォルトの名無しさん
12/09/05 19:33:35.92 .net
GTK+ は多段タブも実現できんのだな
WindowsにできてGTKにできんことが結構見えてきた

ミゲルさんもこんなこと書いてるし、Linuxのデスクトップはダメだな
URLリンク(www.yamdas.org)

491:デフォルトの名無しさん
12/09/06 09:29:27.19 .net
>>489
またおまえか
巣に帰れ

492:デフォルトの名無しさん
12/09/06 09:57:24.07 .net
何度でも言うよ
欠かさず言うよ
GTKは糞

493:デフォルトの名無しさん
12/09/06 17:47:43.41 .net
>>492
おっさんなにやってん?

494:デフォルトの名無しさん
12/10/15 03:49:13.19 .net
eNprdGhEhnH6XMi8RgcFfQj71L1t6+FS
Cvr6jXc0G/c3BgLhfriwvl5No4NejUJz
LpIZQVwwPY0OQOkaBSBnDlRujgKYC4ZQ
ZfoKYGVzkkEcDYX4xjnxmo0OzXUKU/L6
1jadbDo7bfP0uVwwA8FqG4MgjH01YAMa
A7kgNND1LQtgroC6Kb4xDiyr1BiAAjP1
9JpzFQBRXmeP

495:デフォルトの名無しさん
12/10/24 22:55:14.82 .net
大量削除の危機を生き延びたんだな

496:デフォルトの名無しさん
12/11/01 21:43:39.40 .net
   ┌─┐
   │●│
   └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘

497:デフォルトの名無しさん
12/11/17 01:59:11.60 .net
hosh

498:デフォルトの名無しさん
12/11/18 17:34:28.86 .net
wxWidgetsって、gtkを呼び出す抽象的なレイヤになるの?

499:デフォルトの名無しさん
12/11/18 18:00:39.95 .net
OSとかbuildしたときの設定による
Windows版なら今は直接Win32API呼んでるはず

500:デフォルトの名無しさん
12/11/19 00:34:29.96 .net
>>498
抽象的なレイヤって言い方が引っかかるけど
どのプラットフォームでも同じコードで動くよ

501:デフォルトの名無しさん
12/11/19 02:31:32.83 .net
gtkを呼び出す抽象的なレイヤなんてないよ

502:デフォルトの名無しさん
12/11/20 14:03:35.35 .net
wxGtkって何なんだ?

503:デフォルトの名無しさん
12/11/20 14:05:16.89 .net
具象的

504:デフォルトの名無しさん
12/11/20 16:40:02.72 .net
gtkをwxWidgetのバインディングで呼出してんだから抽象的じゃないの?
具象的だと日本語おかしくね?

505:デフォルトの名無しさん
12/11/20 16:46:58.65 .net
gu
taite
ki

506:デフォルトの名無しさん
12/11/22 21:38:02.68 .net
>>505
はいはいワロス

507:デフォルトの名無しさん
12/11/22 23:26:03.48 .net
>>506
ひでー

508:デフォルトの名無しさん
13/01/10 03:31:25.47 .net
>>492
何度も言うよ
残さず言うよ
だろ
>>493
中途半端なつっこみするなら黙ってろよムズムズする

509:デフォルトの名無しさん
13/01/10 07:36:12.49 .net
何度でも言うよ
欠かさず言うよ
GTKは糞

510:デフォルトの名無しさん
13/01/10 16:50:22.28 .net
マイナーGUIスレを見たけど、以前はFOXが人気だったんだね
まだ息してるのかな

511:デフォルトの名無しさん
13/01/10 16:53:16.15 .net
今はもう、QtかWxWidgetsの二択にしか見えない。気のせい?

512:デフォルトの名無しさん
13/01/11 08:37:58.62 .net
FortranプログラムのGUIシェルをwxWidgetsで作ろうとsampleのexecを改造しているけれどよくわからない。
いい本ないでしょうか。
最近wxPythonの本が出ましたがパイプまでは書いていないので…

513:デフォルトの名無しさん
13/01/11 09:01:20.21 .net
eNprdGhEhnH6XMi8RgcFfQj71L1t6+FS
Cvr6jXc0G/c3BgLhfriwvl5No4NejUJz
LpIZQVwwPY0OQOkaBSBnDlRujgKYC4ZQ
ZfoKYGVzkkEcDYX4xjnxmo0OzXUKU/L6
1jadbDo7bfP0uVwwA8FqG4MgjH01YAMa
A7kgNND1LQtgroC6Kb4xDiyr1BiAAjP1
9JpzFQBRXmeP

514:デフォルトの名無しさん
13/01/13 12:10:17.65 .net
64bit版MinGWでwxWidgetsコンパイルしてるけど
作ったバイナリが起動すらしないので死にそう

515:デフォルトの名無しさん
13/01/14 01:59:27.93 .net
コンパイルできた
64bitネイティブアプリや、どや

516:デフォルトの名無しさん
13/01/15 01:35:39.03 .net
windows7を使用しています。

URLリンク(wiki.wxwidgets.org)
を参考に拡張子が、csvとtxtのファイル名のみを取得しようとしています。

wxDir::GetAllFiles(dir , &filename ,wxT("*.txt"));
wxDir::GetAllFiles(dir , &filename ,wxT("*.csv"));
filespecが一つのときは指定拡張子のみ取得できます。

wxDir::GetAllFiles(dir , &filename ,wxT("*.csv;*.txt"));
2個指定すると何も取得されません。

指定方法が悪いと思うのですが、どのようにすればいいのでしょうか?
教えてください。

517:デフォルトの名無しさん
13/01/15 06:14:19.90 .net
URLリンク(trac.wxwidgets.org)

518:デフォルトの名無しさん
13/01/15 06:31:29.95 .net
分からないならレスしないでください

519:デフォルトの名無しさん
13/01/15 17:15:14.30 .net
>>517
レスありがとう。
一つしかサポートされないのですね。

ありがとうございました。

520:デフォルトの名無しさん
13/01/16 15:50:20.31 .net
なんで
URLリンク(wiki.wxwidgets.org)
を参考にすると
wxDir::GetAllFiles(dir , &filename ,wxT("*.csv;*.txt"));
が出てくるんだろ
基地外か

521:デフォルトの名無しさん
13/01/16 23:31:49.99 .net
wxWidgetsを使おうとしてる時点でオカシイのだ(・∀・)

522:デフォルトの名無しさん
13/01/17 18:18:55.83 .net
童貞乙

523:デフォルトの名無しさん
13/01/19 07:42:35.24 .net
この道はいつか来た道♪ああ そうだよあかしやの花が咲いてる

524:デフォルトの名無しさん
13/01/20 02:49:05.26 .net
windowsで変な抽象レイヤなんて触るなら、c#使った方がマシ

525:デフォルトの名無しさん
13/01/21 20:07:51.79 .net
wxRubyでWindowsのイベントを捕まえたいのですがどのようにすれば出来ますか?
C++なんかだとMSWWindowProcをオーバーライドすることで出来るみたいですが
wxRubyには見あたらないような・・・

526:デフォルトの名無しさん
13/01/21 23:44:55.73 .net
Ruby を Windows で使う人って()

527:デフォルトの名無しさん
13/01/21 23:59:56.58 .net
【ActiveScript】RubyをWindowsで使うスレ【GUI】
スレリンク(tech板)

528:デフォルトの名無しさん
13/01/23 01:57:17.09 .net
>>521
MFCを直に触りたくないとき、他に候補なんてある?

529:デフォルトの名無しさん
13/01/23 04:51:35.91 .net
Qt

530:デフォルトの名無しさん
13/01/23 07:01:30.47 .net
CLX, GTK+, Qt, Tk, FLTK, FOX

C言語/C++ベースおよびマルチ言語ベース
ウィジェット・ツールキット - Wikipedia

531:デフォルトの名無しさん
13/01/23 07:03:10.89 .net
Agar
CEGUI
GLUI
Juce
Ultimate++
Visual Component Framework (VCF)
YAAF

532:デフォルトの名無しさん
13/01/30 12:24:11.63 .net
MFCならWindowsのみで動けばいいんだろ

WTL
OWLNext

533:デフォルトの名無しさん
13/01/31 05:40:10.73 .net
このひとまた変な本出してるな
URLリンク(www.amazon.co.jp)
このひとの他の本酷かったから買うつもり無いけど

534:デフォルトの名無しさん
13/02/28 14:11:47.04 .net
またバグを発見してしまった

URLリンク(docs.wxwidgets.org)

wxInputStream::LastRead
size_t LastRead() const

LastReadをlinuxで使うと常に0で返ってくる。
6年前に修正されてるはずだけどbranchに入ってないからバグったまんまですかVZさん。。。

535:デフォルトの名無しさん
13/02/28 14:13:49.27 .net
チケットは以下

URLリンク(trac.wxwidgets.org)

536:デフォルトの名無しさん
13/02/28 14:15:06.81 .net
そうか、 2.8のブランチには入ってるけど2.9には反映されてないのか、どちらにせよだめぽ

537:デフォルトの名無しさん
13/03/01 00:54:34.59 .net
wxInputStreamなんて使わんから

538:デフォルトの名無しさん
13/03/01 01:16:17.90 .net
馬鹿には無理

539:デフォルトの名無しさん
13/03/01 08:18:29.29 .net
wxWidgets は正規表現とか、
文字コードの変換がいまいち信用出来ないので、
window のフレームワークだけに使って、
基本的なロジックは boost とかで済ますのが正解。

540:デフォルトの名無しさん
13/03/16 15:59:13.75 .net
wxwidgetsのListCtrlのカラムに直接描画したいんだけどどうしたらいい?
具体的には、ダウンローダなどによくあるようなダウンロード状況を表す
横棒のグラフに%が表示されてるような奴なんだけど

541:デフォルトの名無しさん
13/03/16 16:03:03.35 .net
馬鹿には無理

542:デフォルトの名無しさん
13/03/31 11:08:01.89 .net
ググったら>>64がヒットした。
x64のgcc4.7以降でソースからコンパイルすると途中でcc1plusが止まった
x64のvc9じゃ止まらない。更新途絶えてるから修正期待するのは無理か

543:デフォルトの名無しさん
13/03/31 13:02:54.41 .net
>>64
>>542

共有ライブラリもしくはモノリシックライブラリをビルドする場合、公式のMinGWだとメモリを使い果たしてしまう
TDM-GCCに切り替えた上で CXXFLAGS='-fno-keep-inline-dllexport' を付けて configure実行するよろし

これはwxWidegts側のバグと言うよりもMinGWのバグだ

544:デフォルトの名無しさん
13/04/01 01:17:29.35 .net
>>543
あらゆるオプションくっつけてもダメだった
FLTKはvcでもgccでも問題なかったんだけどな、これgccじゃなくてmingw側の問題なのか

545:デフォルトの名無しさん
13/04/01 01:21:48.05 .net
wxWidgetsってVisualStudio2012で動く?

546:デフォルトの名無しさん
13/04/01 05:07:51.79 .net
>>545
普通にVS2012でビルドして使ってるよ

547:デフォルトの名無しさん
13/04/01 07:42:14.94 .net
昨晩発見、mingw-w64-dgnってトコのパッチ当てたらx64MinGWでもビルド出来た。
gccはTDM4.7.1、時間が無いのでconfigureのオプションくっつけて無いけど一発で通った

具体的には、textentry.cppの#include <shlguid.h>を削除するだけ

548:デフォルトの名無しさん
13/04/04 14:07:26.83 .net
ハードディスクのMBR領域をバックアップしたいんだけど
どうやってプログラム書いたらいいかな

Linuxのときは/dev/sdaを開いて読むだけだったけど
Windowsとコード一緒にできない

549:デフォルトの名無しさん
13/04/04 14:19:00.69 .net
共通の方法は無いかって話?

550:デフォルトの名無しさん
13/04/04 15:10:10.41 .net
dd.exe のソース見ると良い

551:デフォルトの名無しさん
13/04/04 15:49:15.97 .net
そうするわ
でもパスカルわかんねーんだよな・・・

552:デフォルトの名無しさん
13/04/04 16:02:05.02 .net
wxWidgets 関係の話?

553:デフォルトの名無しさん
13/04/09 09:13:04.65 .net
wxPythonなんですがベジエ曲線を書くにはどうすれば良いですか?

554:デフォルトの名無しさん
13/04/09 18:52:10.99 .net
描画系クラスならwxDC使えばいいんじゃないかなあ
URLリンク(docs.wxwidgets.org)

555:デフォルトの名無しさん
13/04/10 11:56:17.56 .net
出来ました
ありがとうございました
URLリンク(docs.wxwidgets.org)

556:デフォルトの名無しさん
13/06/24 15:12:38.36 .net
Latest Development Release: 2.9.4
Current Stable Release: 2.8.12
Previous Stable Release: 2.6.4
URLリンク(www.codeproject.com)

557:デフォルトの名無しさん
13/06/26 18:58:08.93 .net
Mac OSX LionだとwxWidgets 2.8 がビルドできない・・・
wxWidgets 2.9ビルドするとダイナミックリンクライブラリが一部作成されない・・・
Mac PortのwxWidgets-devをダウンロード するのが一番良さげ

あとMac OSXでpthreadをバイナリにリンクさせたらいきなり実行ファイルが落ちやがる
罠多すぎだろあのOS

558:デフォルトの名無しさん
13/06/26 19:01:52.04 .net
URLリンク(www.HackInt0sH.org)

559:デフォルトの名無しさん
13/07/17 NY:AN:NY.AN .net
wxWidgets-2.9.5では>>429で言ってたバグが直ってるぞ、やったぜ

560:デフォルトの名無しさん
13/08/24 NY:AN:NY.AN .net
wxってlispで使えますか?

561:デフォルトの名無しさん
13/08/24 NY:AN:NY.AN .net
馬鹿Lisperには無理

562:デフォルトの名無しさん
13/08/24 NY:AN:NY.AN .net
lispなんて使ってかっこつけやがって

563:デフォルトの名無しさん
13/08/30 NY:AN:NY.AN .net
みなさんお世話になりました
明日で2ch終了らしいので
今のうちに最後のご挨拶をしておきます

564:デフォルトの名無しさん
13/08/31 NY:AN:NY.AN .net
wxWidgetsのコミッタのVadim ZeitlinがC++11でwxWidgets書いてるぞ

wxWidgets and C++ 11
URLリンク(wxwidgets.blogspot.com)

565:デフォルトの名無しさん
13/08/31 NY:AN:NY.AN .net
時既におすし

566:デフォルトの名無しさん
13/09/06 17:26:06.71 .net
URLリンク(chrome.blogspot.jp)
URLリンク(itpro.nikkeibp.co.jp)
URLリンク(news.mynavi.jp)
URLリンク(internet.watch.impress.co.jp)

567:デフォルトの名無しさん
13/09/06 23:08:20.72 .net
>>566
昔から何度も提唱されてるブラウザによる全てのGUIの描画ですか
Googleは達成できるか

568:デフォルトの名無しさん
13/09/11 00:44:38.34 .net
Firefoxって知ってる?

569:デフォルトの名無しさん
13/09/20 22:19:19.81 .net
mozillaに出来なくともgoogleになら出来る

570:デフォルトの名無しさん
13/10/10 10:11:38.40 .net
wcSVG

571:デフォルトの名無しさん
13/10/16 23:19:09.83 .net
3.0.0-RC1

572:デフォルトの名無しさん
13/10/17 08:33:10.45 .net
wxD

573:デフォルトの名無しさん
13/10/17 12:18:17.29 .net
>>572
どうしてるんだろうな
そのプロジェクト...

574:デフォルトの名無しさん
13/10/20 16:58:10.15 .net
wxTcl

575:デフォルトの名無しさん
13/11/05 22:48:07.34 .net
3もRC2まで行ってるし、次は今月中に正式版出るかな

576:デフォルトの名無しさん
13/11/05 23:10:06.75 .net
出たとしたらLinuxのパッケージにwx-3.0が出て使えるようになる
楽しみ

577:デフォルトの名無しさん
13/11/13 21:36:52.45 .net
3.0.0キテタ━ヾ(゚∀゚)ノ━!!

578:デフォルトの名無しさん
13/11/14 22:26:30.66 .net
おいおい3.0だぞ?出たんだぞ?なんでこんなに盛り上がんないんだよ…

579:デフォルトの名無しさん
13/11/14 23:36:17.18 .net
メインの機能追加がUnicode対応だからなぁ
今までも別に日本語使えなかったわけではないし

580:デフォルトの名無しさん
13/11/14 23:52:35.30 .net
何言ってだこいつ
unicodeは前から使えてるっての

所感
・Mac向けビルドの安定化
・wxwebviewが全ポートで使える
→ ネットワーク接続して、html, Javascriptの解釈可能に
・aui系のバグ修正と見た目の品質向上
・c++11, clang対応
・その他即死系のバグ修正

間違ってたらすまん
とりあえず2.9で出てたバグは直ってるはず

581:デフォルトの名無しさん
13/11/15 00:03:58.47 .net
あと>>364で出てたUTF-8以外の文字列からの変換とかどうなったんだろ
うまく変換できてるなら嬉しいけど

その他にもクラスは2.8の時より増加してるよね

582:デフォルトの名無しさん
13/11/15 00:55:39.31 .net
MinGW gcc + wxWidgets 2.8.12で作っていたプログラムを3.0.0で作り直したら、
ウィンドウリサイズ時のwxStaticText、wxCheckBox、wxListBoxのフリッカーが見るに耐えんレベルになった。
かと言ってSetDoubleBufferを使うとリサイズがモタつく上に、何故かwxRadioBoxの枠線が消えるんだよなー。
仕方ない、一つ一つwxEVT_ERASE_BACKGROUNDを潰す作業を初めるか…。

583:デフォルトの名無しさん
13/11/15 03:59:07.98 .net
gcc4.8で動くなら使う
x86_64-w64-mingw32じゃ、2.9はとうとうビルドさえ無理だった

584:デフォルトの名無しさん
13/11/15 04:14:31.91 .net
4.8だとやっぱりcc1plusが停止した、しかも2.9と同じファイル
公式から落としてきたライブラリ使ってもリンクに失敗
4.7ならライブラリのビルドもリンクも問題なし

585:デフォルトの名無しさん
13/11/15 05:11:08.20 .net
あ、やっぱ出来た
パラレル無しでビルドするか>>543
CXXFLAGS='-fno-keep-inline-dllexport'
をつけると大丈夫みたい、後者だと1度止まるけど再ビルドすれば通るしサンプルもビルド出来た

586:デフォルトの名無しさん
13/11/15 06:44:39.98 .net
連投失礼、>>584-585は見なかった事にしてね
当方の環境、win7 64bit msys上からビルド、gccは4.9、静的リンクでビルド

configureにCXXFLAGS="-fno-keep-inline-dllexport"をつけてもevent.cppで止まる
その時あらためてmake CXXFLAGS="-fno-keep-inline-dllexport"としてビルドすると通る

gcc4.8だと2.9はビルドでこけるしリンクも失敗するってのは国内外でよく見かけたし、実際俺も
あきらめてたけど…ひょっとして2.9もこの方法で通ったのかなあ。

でも、なぜかサンプルのimage.exeだけ強制終了した(ビルドは可能)

587:デフォルトの名無しさん
13/11/15 07:29:00.37 .net
VCでやったほうが実行速度速くなるんじゃないの

588:デフォルトの名無しさん
13/11/15 07:40:36.25 .net
VC++?知らない子ですね…

589:デフォルトの名無しさん
13/11/15 07:53:20.59 .net
損してると思うよ

590:デフォルトの名無しさん
13/11/16 00:14:03.66 .net
constexprも使えないコンパイラは要らないんですよ

591:デフォルトの名無しさん
13/11/16 00:58:40.41 .net
メタプログラミングって奴でしょ?
何が何だかサッパリ分からないよー。
つまり俺にはまだ早い代物だという事は承知してるが、
どういう用途で使うものなのか教えてほしい。

592:デフォルトの名無しさん
13/11/16 03:33:03.68 .net
wxと同時に浸かって委員会

593:デフォルトの名無しさん
13/11/16 03:39:24.39 .net
GCC3xの頃はvc++の方が速かった気がするけど、4.6から急激に速度が向上した気がする
あくまで自作プログラムでの話だけどね
ただ、gccでビルドされる様々なテストプロブラム見てるとvc++でビルドって安全性って意味
でヤバいんじゃないかって思っちゃうの

594:デフォルトの名無しさん
13/11/16 04:27:47.92 .net
>>591
実行時の計算オーダーを減らす機能。事前計算機能だね。
コンパイルタイムにできるだけ計算して結果を出しておくことで実行時の計算量を減らす。
ネットの変人がそれでレイトレーシングやったりしてる。
C++14のやつはそれなりに簡単だよ。

595:590
13/11/16 09:47:07.37 .net
>>590はちょっと冗談気味だが
正直VC++はC++とは言えない
C++の機能を最大限活かす/楽しむにはgccやclangを使うべきだと思います
会社でプログラム書けと依頼されたらもしかしてVC++使うかもしれないけど

596:デフォルトの名無しさん
13/12/28 16:23:57.98 .net
chrome のブックマークバー、 IE のお気に入りバーのようなコントロールクラスを探しています。
全てのアイテムが編集可能でアイコンとテキストが表示されて
そのアイテムの値のテキストを編集できるメニューを作りたいのですが
最適なコントロールクラスはどれか教えてください。

wx.Menu を使おうと思ったのですが、
右クリックやコンテキストメニューのイベントが Bind しても呼び出されず苦戦しています。

wx.ListCtrl を使った場合は右クリックのイベントは受けられるのですが、
左クリックのイベントが wx.EVT_COMMAND_LEFT_CLICK のみで
これは MS Windows のみと書いてあるのでできたら使いたくありません。
これらのイベントについても誤りがあれば教えて欲しいです。

環境は wxPython 2.8-msw-unicode です。
よろしくお願いします。


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