【GUI】wxWidgets(旧wxWindows) その5【サイザー】 (960レス)
【GUI】wxWidgets(旧wxWindows) その5【サイザー】 http://mevius.5ch.net/test/read.cgi/tech/1270793556/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
574: デフォルトの名無しさん [] 2013/10/20(日) 16:58:10.15 wxTcl http://mevius.5ch.net/test/read.cgi/tech/1270793556/574
575: デフォルトの名無しさん [sage] 2013/11/05(火) 22:48:07.34 3もRC2まで行ってるし、次は今月中に正式版出るかな http://mevius.5ch.net/test/read.cgi/tech/1270793556/575
576: デフォルトの名無しさん [] 2013/11/05(火) 23:10:06.75 出たとしたらLinuxのパッケージにwx-3.0が出て使えるようになる 楽しみ http://mevius.5ch.net/test/read.cgi/tech/1270793556/576
577: デフォルトの名無しさん [] 2013/11/13(水) 21:36:52.45 3.0.0キテタ━━ヾ(゚∀゚)ノ━━!! http://mevius.5ch.net/test/read.cgi/tech/1270793556/577
578: デフォルトの名無しさん [sage] 2013/11/14(木) 22:26:30.66 おいおい3.0だぞ?出たんだぞ?なんでこんなに盛り上がんないんだよ… http://mevius.5ch.net/test/read.cgi/tech/1270793556/578
579: デフォルトの名無しさん [sage] 2013/11/14(木) 23:36:17.18 メインの機能追加がUnicode対応だからなぁ 今までも別に日本語使えなかったわけではないし http://mevius.5ch.net/test/read.cgi/tech/1270793556/579
580: デフォルトの名無しさん [] 2013/11/14(木) 23:52:35.30 何言ってだこいつ unicodeは前から使えてるっての 所感 ・Mac向けビルドの安定化 ・wxwebviewが全ポートで使える → ネットワーク接続して、html, Javascriptの解釈可能に ・aui系のバグ修正と見た目の品質向上 ・c++11, clang対応 ・その他即死系のバグ修正 間違ってたらすまん とりあえず2.9で出てたバグは直ってるはず http://mevius.5ch.net/test/read.cgi/tech/1270793556/580
581: デフォルトの名無しさん [] 2013/11/15(金) 00:03:58.47 あと>>364で出てたUTF-8以外の文字列からの変換とかどうなったんだろ うまく変換できてるなら嬉しいけど その他にもクラスは2.8の時より増加してるよね http://mevius.5ch.net/test/read.cgi/tech/1270793556/581
582: デフォルトの名無しさん [sage] 2013/11/15(金) 00:55:39.31 MinGW gcc + wxWidgets 2.8.12で作っていたプログラムを3.0.0で作り直したら、 ウィンドウリサイズ時のwxStaticText、wxCheckBox、wxListBoxのフリッカーが見るに耐えんレベルになった。 かと言ってSetDoubleBufferを使うとリサイズがモタつく上に、何故かwxRadioBoxの枠線が消えるんだよなー。 仕方ない、一つ一つwxEVT_ERASE_BACKGROUNDを潰す作業を初めるか…。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/582
583: デフォルトの名無しさん [sage] 2013/11/15(金) 03:59:07.98 gcc4.8で動くなら使う x86_64-w64-mingw32じゃ、2.9はとうとうビルドさえ無理だった http://mevius.5ch.net/test/read.cgi/tech/1270793556/583
584: デフォルトの名無しさん [sage] 2013/11/15(金) 04:14:31.91 4.8だとやっぱりcc1plusが停止した、しかも2.9と同じファイル 公式から落としてきたライブラリ使ってもリンクに失敗 4.7ならライブラリのビルドもリンクも問題なし http://mevius.5ch.net/test/read.cgi/tech/1270793556/584
585: デフォルトの名無しさん [sage] 2013/11/15(金) 05:11:08.20 あ、やっぱ出来た パラレル無しでビルドするか>>543の CXXFLAGS='-fno-keep-inline-dllexport' をつけると大丈夫みたい、後者だと1度止まるけど再ビルドすれば通るしサンプルもビルド出来た http://mevius.5ch.net/test/read.cgi/tech/1270793556/585
586: デフォルトの名無しさん [sage] 2013/11/15(金) 06:44:39.98 連投失礼、>>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だけ強制終了した(ビルドは可能) http://mevius.5ch.net/test/read.cgi/tech/1270793556/586
587: デフォルトの名無しさん [sage] 2013/11/15(金) 07:29:00.37 VCでやったほうが実行速度速くなるんじゃないの http://mevius.5ch.net/test/read.cgi/tech/1270793556/587
588: デフォルトの名無しさん [] 2013/11/15(金) 07:40:36.25 VC++?知らない子ですね… http://mevius.5ch.net/test/read.cgi/tech/1270793556/588
589: デフォルトの名無しさん [sage] 2013/11/15(金) 07:53:20.59 損してると思うよ http://mevius.5ch.net/test/read.cgi/tech/1270793556/589
590: デフォルトの名無しさん [sage] 2013/11/16(土) 00:14:03.66 constexprも使えないコンパイラは要らないんですよ http://mevius.5ch.net/test/read.cgi/tech/1270793556/590
591: デフォルトの名無しさん [sage] 2013/11/16(土) 00:58:40.41 メタプログラミングって奴でしょ? 何が何だかサッパリ分からないよー。 つまり俺にはまだ早い代物だという事は承知してるが、 どういう用途で使うものなのか教えてほしい。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/591
592: デフォルトの名無しさん [sage] 2013/11/16(土) 03:33:03.68 wxと同時に浸かって委員会 http://mevius.5ch.net/test/read.cgi/tech/1270793556/592
593: デフォルトの名無しさん [sage] 2013/11/16(土) 03:39:24.39 GCC3xの頃はvc++の方が速かった気がするけど、4.6から急激に速度が向上した気がする あくまで自作プログラムでの話だけどね ただ、gccでビルドされる様々なテストプロブラム見てるとvc++でビルドって安全性って意味 でヤバいんじゃないかって思っちゃうの http://mevius.5ch.net/test/read.cgi/tech/1270793556/593
594: デフォルトの名無しさん [sage] 2013/11/16(土) 04:27:47.92 >>591 実行時の計算オーダーを減らす機能。事前計算機能だね。 コンパイルタイムにできるだけ計算して結果を出しておくことで実行時の計算量を減らす。 ネットの変人がそれでレイトレーシングやったりしてる。 C++14のやつはそれなりに簡単だよ。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/594
595: 590 [] 2013/11/16(土) 09:47:07.37 >>590はちょっと冗談気味だが 正直VC++はC++とは言えない C++の機能を最大限活かす/楽しむにはgccやclangを使うべきだと思います 会社でプログラム書けと依頼されたらもしかしてVC++使うかもしれないけど http://mevius.5ch.net/test/read.cgi/tech/1270793556/595
596: デフォルトの名無しさん [sage] 2013/12/28(土) 16:23:57.98 chrome のブックマークバー、 IE のお気に入りバーのようなコントロールクラスを探しています。 全てのアイテムが編集可能でアイコンとテキストが表示されて そのアイテムの値のテキストを編集できるメニューを作りたいのですが 最適なコントロールクラスはどれか教えてください。 wx.Menu を使おうと思ったのですが、 右クリックやコンテキストメニューのイベントが Bind しても呼び出されず苦戦しています。 wx.ListCtrl を使った場合は右クリックのイベントは受けられるのですが、 左クリックのイベントが wx.EVT_COMMAND_LEFT_CLICK のみで これは MS Windows のみと書いてあるのでできたら使いたくありません。 これらのイベントについても誤りがあれば教えて欲しいです。 環境は wxPython 2.8-msw-unicode です。 よろしくお願いします。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/596
597: デフォルトの名無しさん [sage] 2013/12/28(土) 17:54:40.37 >>596 理想の実装になるかわからない&C++しかわからないが wxMenuをそのまま使うのが良いと思います 実装の骨子 ・メニューの項目一つ一つにwxWindowID ( enum )を振る ・wxWindowIDはwxCommandEventで起動するようにしておく ・上記のwxCommandEventを処理する関数はenumをswitch文で処理する ・wxCommandEventはEVT_MENU_RANGEで定義しておく(enum値が 1000~1200の場合反応する関数を作るなど) アイテムを編集可能にするために ・EVT_UPDATE_UIをwxMenuに設定しておき、ユーザーがメニューの項目を触ったら更新を実施 右クリック ・wxのConnectとかBindでwxMouseEventをくっつければいいと思う ------------------------------------------------------- 上記をやろうとすると、ユーザーが設定した項目でループを回して常に更新かける 感じになるんじゃないでしょうか。 wxMenu *menu = new wxMenu; wxMenu *foo = new wxMenu; for ( ユーザーが設定した数だけループ ) { foo->Append(wxID_HOGEHOGE_RANGE + i , wxT("ユーザー設定項目1")); foo->Connect(); // 右クリックイベントを定義しておく } http://mevius.5ch.net/test/read.cgi/tech/1270793556/597
598: 596 [sage] 2013/12/29(日) 12:00:00.67 >>597 レスありがとうございます。 wxMenu に対して Connect/Bind を試してみたのですが、 クリックイベントは wxEVT_MENU または wxEVT_MENU_RANGE だけが呼び出されました。 LEFT_UP, RIGHT_UP, COMMAND_LEFT_UP, COMMAND_RIGHT_UP, CONTEXT_MENU のイベントを試しましたが、 こちらは EVT_MENU の有無にかかわらず呼び出されませんでした。 試したソースコード : http://codepad.org/S9vtw4yX wxEVT_MENU の際に右クリックか左クリックかわかれば処理を分岐できるのですが、 wxCommandEvent でクリックしたボタンの情報の取得方法がわかりません。 wxWindow::PopupMenu では wxMenu を参考にして GUI を作り出すようですが、 そこですでにイベントが途絶えているように思えてしまいます。 ウィンドウハンドルも得られないようだし、 ポップアップメニューにイベントを追加することはサポートされていないように感じます。 wx.ListCtrl でも思ったことなのですが、 wx.CommandEvent 系のイベントを使うコントロールクラスでは wx.MouseEvent 系のイベントは関連付けられないのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1270793556/598
599: デフォルトの名無しさん [sage] 2013/12/29(日) 12:26:46.93 >>598 う〜ん、メニュー上での右クリックは悲しいことにできなさそうね [wx-users] Trapping wxMouse events over wxMenus https://groups.google.com/d/msg/wx-users/xAGPwk-f9Ao/0BGV9JD55L4J この会話の中で、Vadimさん(wxWidgetsのコミッタ)が無理やでとか言ってる メニューの項目の中で右クリックするとイベントはメニューのほうに行ってしまう から、そのイベントをつかむのは無理だと。 で、それはWindowsとGTKのネイティブ実装がそうなっているから。 > Ideally, I would like to be able to left-click and > right-click WITHOUT the menu disappearing. This is impossible under the two main platforms: MSW and GTK. Menus grab the mouse when popped up (down?) and so all mouse events go to them. http://mevius.5ch.net/test/read.cgi/tech/1270793556/599
600: デフォルトの名無しさん [sage] 2013/12/29(日) 12:34:09.46 いや、ちょっと違うか メニューの右クリックイベントは掴めるけど その時呼び元のメニューの項目が消えるといってるのか その解決策としてはwxMenuを使わずに menuのウィジェットを自分でエミュレートするしかないとのこと http://mevius.5ch.net/test/read.cgi/tech/1270793556/600
601: デフォルトの名無しさん [sage] 2013/12/29(日) 13:16:30.36 >>599-600 ありがとうございました。 wxMenu を流用できないのは残念ですが、 これで踏ん切りがつけたので、 wxListCtrl を使ったものを試そうと思います。 引き続き、wxListCtrl のような wxControl 派生に対して wxMouseEvent 系のイベントをつける方法を求めていますので 何か参考になることがありましたらよろしくお願いします。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/601
602: デフォルトの名無しさん [] 2014/01/27(月) 14:20:14.73 了解 http://mevius.5ch.net/test/read.cgi/tech/1270793556/602
603: デフォルトの名無しさん [sage] 2014/01/27(月) 14:35:57.41 >>601 です。 >>596 について進展したので参考になればと思い報告します。 メニューアイテムの上で右クリックしてポップアップメニューを表示することが可能なクラスが wxPython にありました。 wx.lib.agw.flatmenu がまさにぴったりのクラスでした。 RIGHT_UP のイベントはありませんが、 FlatMenuItem::SetContextMenu(FlatMenu) で >>596 でしたいことが簡単にできます。 自作のために PopupWindow あたりを調べているときに見つけました。 また何かありましたらよろしくお願いします。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/603
604: デフォルトの名無しさん [sage] 2014/02/26(水) 17:32:22.79 サンプルが多すぎて逆にわからないのですが、 ランタイム時にGUIパーツを生成消滅させることって可能ですよね? 例えばユーザが読み込んだファイルによってボタンの数を変化させるなど http://mevius.5ch.net/test/read.cgi/tech/1270793556/604
605: デフォルトの名無しさん [sage] 2014/02/26(水) 17:48:08.47 マジレスすると 出来ますよ http://mevius.5ch.net/test/read.cgi/tech/1270793556/605
606: デフォルトの名無しさん [sage] 2014/02/26(水) 18:02:12.58 ありがとうございます 関連するサンプルなどありましたら教えていただけると幸いです http://mevius.5ch.net/test/read.cgi/tech/1270793556/606
607: デフォルトの名無しさん [sage] 2014/02/26(水) 18:06:08.80 きっと君のHDD(SSD)に既に入ってるよω http://mevius.5ch.net/test/read.cgi/tech/1270793556/607
608: デフォルトの名無しさん [sage] 2014/02/26(水) 18:19:55.82 そうなんですよね〜でもsample多くてどっから見ればよいか、という感じです まあできるということがわかればとりあえず見て回ります http://mevius.5ch.net/test/read.cgi/tech/1270793556/608
609: デフォルトの名無しさん [sage] 2014/02/26(水) 18:34:00.97 チュートリアルで最初の方から見ればすぐ出ると思う。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/609
610: デフォルトの名無しさん [sage] 2014/02/26(水) 18:38:10.36 デモ実行してみて自分の欲しい機能と似たものを見つけたら「ソースを見る」をクリック。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/610
611: デフォルトの名無しさん [sage] 2014/02/26(水) 18:44:29.66 すいません、見てるものが違うかもしれないので確認させてください チュートリアルとは何を指してますか? デモはdemosフォルダの中にあるプロジェクトですよね?「ソースを見る」とはなんでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1270793556/611
612: デフォルトの名無しさん [sage] 2014/02/26(水) 18:48:03.88 ごめん。 見てるものが違った。 wxPython の方見てた。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/612
613: デフォルトの名無しさん [sage] 2014/02/26(水) 18:53:20.95 wxPythonのDemo見て目星を付けて wxPythonのソースを参考にwxWidgetsでCソース書くのもあり http://mevius.5ch.net/test/read.cgi/tech/1270793556/613
614: デフォルトの名無しさん [sage] 2014/02/26(水) 19:08:22.51 なるほど wxPythonでコードを書いたものがC++に直接変換できたりしたら便利ですね wxGladeみたいに http://mevius.5ch.net/test/read.cgi/tech/1270793556/614
615: デフォルトの名無しさん [] 2014/02/26(水) 20:20:43.75 なんか久しぶりにwxスレが伸びてるぞ、新規ユーザー大歓迎 ボタンとかテキストエリアの動的な生成は、wxPanelとかwxSizerを使った簡単なサンプルを作ったら理解できると思う 言葉で説明するよりコード書いたほうがよいけど一応書いとく 例えばボタンを生成・削除しようとする場合 親Panelをparent, 子panelをchildとすると 1. ウィジェットの生成:parentをnewして、必要な分だけchildをnew child = new wxPanel(parent, …); ... 2. ウィジェットの削除:parent.DestoryChildren(); この関数で子ウィジェットを全部きれいに削除できる 説明の意味がわからなければ、まずは適当なチュートリアルサイトに行くべし おすすめ http://zetcode.com/gui/wxwidgets/ http://mevius.5ch.net/test/read.cgi/tech/1270793556/615
616: デフォルトの名無しさん [sage] 2014/02/26(水) 20:22:35.51 >>614 慣れたら直接C++で書けるから多分コンバータは需要無いよ http://mevius.5ch.net/test/read.cgi/tech/1270793556/616
617: デフォルトの名無しさん [sage] 2014/02/26(水) 20:29:50.32 >>615 詳しくありがとうございます 拝見致します >>616 wxGladeも要りませんかね? フローはwxGladeで枠を作って機能をC++で書く感じになるのかと http://mevius.5ch.net/test/read.cgi/tech/1270793556/617
618: デフォルトの名無しさん [sage] 2014/02/26(水) 20:30:17.32 そのくらい wx は良く出来てるね。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/618
619: デフォルトの名無しさん [sage] 2014/02/28(金) 21:18:50.52 Qt以下の品質。gtkならcで書けた。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/619
620: デフォルトの名無しさん [] 2014/03/01(土) 00:37:16.59 そらQtのほうがメジャーやろ、死ね http://mevius.5ch.net/test/read.cgi/tech/1270793556/620
621: デフォルトの名無しさん [sage] 2014/03/01(土) 01:40:12.84 どっちも1992年頃にできた。OSSといえども商業的な成功がコミュニティ形成の鍵。 それ以外はGood Oldを懐かしむロートルか宗教的価値観に支えられているだけ。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/621
622: デフォルトの名無しさん [sage] 2014/03/01(土) 01:51:22.19 GUI比較スレってなんだよね・・・ 比較的な話ってここで展開してもよいものやら というかwxWidgetとQtどっちも使ってる人っているのか http://mevius.5ch.net/test/read.cgi/tech/1270793556/622
623: デフォルトの名無しさん [sage] 2014/03/01(土) 02:28:31.91 世の中のアプリケーションはQtかAwt/Swingが採用される流れ。 直交性ならgtk。サクッと安定したものを書くならtk。 トイプログラムならSDL+OpenGL。生きるとは残酷なことである。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/623
624: デフォルトの名無しさん [sage] 2014/03/01(土) 12:13:44.67 バイナリサイズでかいですな VC2010でサイズ最適化オプションかけてもHelloWorldで5MB... これはもうどうしようもない感じ? http://mevius.5ch.net/test/read.cgi/tech/1270793556/624
625: デフォルトの名無しさん [] 2014/03/01(土) 12:23:48.03 どうしようもないっす ベース部分(wxStringとかwxWindowとか)の定義が容量食ってるから?ではないかという疑惑 http://mevius.5ch.net/test/read.cgi/tech/1270793556/625
626: デフォルトの名無しさん [sage] 2014/03/01(土) 12:27:18.78 うーんなるほど ランタイムで色々判断出来るような設計なんですかねえ http://mevius.5ch.net/test/read.cgi/tech/1270793556/626
627: デフォルトの名無しさん [] 2014/03/01(土) 12:32:32.69 そうですねwxWidgetsはRTTIの仕組みが活かされてるみたいなドキュメントはどっかで見た たぶんwxWidgetsの中核であるwxWindowクラスはそんなんばっかしなんだろう http://mevius.5ch.net/test/read.cgi/tech/1270793556/627
628: デフォルトの名無しさん [sage] 2014/03/05(水) 12:40:46.24 ファイル操作系が異様にやりにくい wxString dir_name("some directly name"); dir_name.Traverse(some_traverser,wxString(""),flags); でディレクトリたどりながらファイル抽出できるかなとおもったが flags = wxDIR_FILES だとそのディレクトリの中身”のみ”探す flags = wxDIR_DIRS だとその下の”全ての”階層のディレクトリを抽出する wxDIR_DEFAULT だとその下の”すべての”ファイルを探す なんでこんな仕様なんだ http://mevius.5ch.net/test/read.cgi/tech/1270793556/628
629: デフォルトの名無しさん [sage] 2014/03/05(水) 12:45:32.18 ああわかった ディレクトリが見つかった場合のみその下も探す、ということなんだな するとファイルのみだと当然下なんぞ無いからそれ以下を探すことはなく ディレクトリのみ、とすると下にもいけるから最下層まで探そうとするわけか うーん http://mevius.5ch.net/test/read.cgi/tech/1270793556/629
630: デフォルトの名無しさん [sage] 2014/03/05(水) 12:55:52.46 連投失礼 Traverserクラスを継承してそのOnDir関数の返り値で制御すればいいということでした http://mevius.5ch.net/test/read.cgi/tech/1270793556/630
631: デフォルトの名無しさん [sage] 2014/03/11(火) 15:51:27.09 浮動小数点を扱えるsliderってデフォルトではなさそうですか? http://mevius.5ch.net/test/read.cgi/tech/1270793556/631
632: デフォルトの名無しさん [sage] 2014/03/11(火) 17:23:40.57 たとえば 0 - 100 を 10 で割ると 0.0 - 10.0 のレンジになります http://mevius.5ch.net/test/read.cgi/tech/1270793556/632
633: デフォルトの名無しさん [sage] 2014/03/11(火) 17:30:20.25 やっぱそんな感じなんすね 最大値最小値現在値ラベル表示が便利だなーとおもったんですが、小数点付きでやろうと思ったら 自分でラベル付けるしかなさそうですね http://mevius.5ch.net/test/read.cgi/tech/1270793556/633
634: デフォルトの名無しさん [sage] 2014/03/15(土) 21:45:40.12 ID:w4oGcJBI 右側のボタンを押したら左側のパネルを再描写させたい、など あるイベントから(親でない)ほかのイベントを誘発させたい時ってあると思うのですが その辺に関する記事てどっかにあります? http://mevius.5ch.net/test/read.cgi/tech/1270793556/634
635: デフォルトの名無しさん [] 2014/03/15(土) 23:13:55.37 ID:eHN/5w2/ >>634 そのへんはイベント処理の領域になりますね wxWiki見るしかない感じ イメージとしては Sample::LeftPanelRedraw(wxCommandEvent& event); というイベント関数のIDがID_LeftPanelRedrawであった場合 そのイベントは wxCommandEvent e(wxCommandEvent(wxEVT_COMMAND_BUTTON_CLICKED, ID_LeftPanelRedraw)); LeftPanelRedraw(e); で呼べる http://mevius.5ch.net/test/read.cgi/tech/1270793556/635
636: デフォルトの名無しさん [sage] 2014/03/15(土) 23:39:19.87 ID:w4oGcJBI >>635 了解です、参考にさせていただきます http://mevius.5ch.net/test/read.cgi/tech/1270793556/636
637: デフォルトの名無しさん [sage] 2014/03/21(金) 11:44:27.13 ID:hjbpSh7I glcanvasを使ってパネルを描写し、ドラッグに反応するようにしたのですが ドラッグ中に、ポインタがパネルの範囲外に出た時に、反応が止まってしまいます sampleのdragimagではドラッグ中であれば範囲外でもイベントが取れるようですが sampleのopengl/penguinだと取れないようです マウスイベントの接続は両者ともEVT_MOUSE_EVENTSで行っているので 何が違って取れているのかわかりません その辺の事情、どなたかご存知ないですか? http://mevius.5ch.net/test/read.cgi/tech/1270793556/637
638: デフォルトの名無しさん [sage] 2014/03/21(金) 12:58:58.01 ID:hjbpSh7I わかりました wxWindowBase::wCaptureMouse()を呼び出すと以降座標とイベントが取得されるようです http://mevius.5ch.net/test/read.cgi/tech/1270793556/638
639: デフォルトの名無しさん [sage] 2014/03/23(日) 17:51:04.60 ID:cY3NJQQl はい。知ってますよ。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/639
640: デフォルトの名無しさん [sage] 2014/03/23(日) 19:26:21.87 ID:0loqh5rV いや、知らないです http://mevius.5ch.net/test/read.cgi/tech/1270793556/640
641: デフォルトの名無しさん [sage] 2014/05/12(月) 21:36:09.61 ID:d288LkW9 クロスプラットフォームの開発環境について調べてるんですが、wxWidgetsの GUIは外観とかは各プラットフォームのものが使われるんですか?それとも 独自のテーマになってしまうんでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1270793556/641
642: デフォルトの名無しさん [] 2014/05/12(月) 21:48:19.14 ID:N4i3m2/R >>641 各プラットフォームのものが使われます つまりWindowsならWIN32、LinuxならGTK、MacならCocoa それぞれの外観になります 対してQtやTk、JavaのSwingなどは独自のテーマになります http://mevius.5ch.net/test/read.cgi/tech/1270793556/642
643: デフォルトの名無しさん [sage] 2014/05/12(月) 21:58:07.29 ID:KhXbSVtN Qtってそうだったんだ http://mevius.5ch.net/test/read.cgi/tech/1270793556/643
644: デフォルトの名無しさん [sage] 2014/05/12(月) 22:57:11.37 ID:d288LkW9 >>642 ありがとうございます。他の環境まで概括してくださるとは助かりました。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/644
645: デフォルトの名無しさん [sage] 2014/05/13(火) 02:25:29.32 ID:mUTDx2p/ >>641 敢えてプラットフォームのを使わず テーマ選ぶ方法もあったはず http://mevius.5ch.net/test/read.cgi/tech/1270793556/645
646: デフォルトの名無しさん [sage] 2014/05/25(日) 10:10:57.42 ID:Wcl6d7YS てす http://mevius.5ch.net/test/read.cgi/tech/1270793556/646
647: デフォルトの名無しさん [] 2014/06/03(火) 09:02:12.18 ID:va6vQ78Z Swiftスレ http://peace.2ch.net/test/read.cgi/tech/1401736341/ http://mevius.5ch.net/test/read.cgi/tech/1270793556/647
648: デフォルトの名無しさん [sage] 2014/06/04(水) 21:33:25.19 ID:EBZlr/6D いまこのスレ開いたら、>>646にあったはずの有益な書き込みが消えている… 貼っておこう > 646 名前:デフォルトの名無しさん [sage]: 2014/05/23(金) 01:42:23.54 ID:NdcsMWjh > wxFormBuilder 3.4.2betaがリリースされていたので試してみたら、 > wxWidgets3.0ベースのGUI描画になったおかげか、2.8をベースに作っていたレイアウトがごっそり狂った。 > これから3.0で作る分にはいいと思うけど、2.8で作る分には3.4.0betaで止めておいた方が良いかも。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/648
649: デフォルトの名無しさん [sage] 2014/06/05(木) 01:15:41.59 ID:/T91KtMA なんと、板移転したときに消えたのかもしれないね。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/649
650: デフォルトの名無しさん [sage] 2014/06/19(木) 12:54:27.42 ID:sMGAuaVR wxWidgetsを使って作られたプログラムの一覧ってあったりするのかね? とりあえずAudacityは知ってる http://mevius.5ch.net/test/read.cgi/tech/1270793556/650
651: デフォルトの名無しさん [sage] 2014/06/19(木) 19:37:20.57 ID:Brdb8B0I http://www.wxwidgets.org/about/screenshots/ とか http://mevius.5ch.net/test/read.cgi/tech/1270793556/651
652: デフォルトの名無しさん [sage] 2014/06/19(木) 19:41:04.43 ID:sMGAuaVR おーありがとう 後で見て回る テンプレにあってもいいじゃないかな? http://mevius.5ch.net/test/read.cgi/tech/1270793556/652
653: デフォルトの名無しさん [sage] 2014/06/19(木) 20:07:59.88 ID:gduOxxnf 車の再発見 http://mevius.5ch.net/test/read.cgi/tech/1270793556/653
654: デフォルトの名無しさん [sage] 2014/06/19(木) 22:56:02.45 ID:Brdb8B0I 商用アプリは http://wiki.wxwidgets.org/Commercial_applications_using_wxWidgets http://mevius.5ch.net/test/read.cgi/tech/1270793556/654
655: デフォルトの名無しさん [sage] 2014/08/24(日) 18:20:53.22 ID:Gtnn2j9y wxWidgetsで、フォームを閉じる処理をして実際に閉じるまでの間に発生するイベントとかある? .NETで言うところのOnClosingみたいな感じで。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/655
656: デフォルトの名無しさん [] 2014/08/25(月) 02:12:21.61 ID:OTL7uAT+ OnClose OnVeto http://mevius.5ch.net/test/read.cgi/tech/1270793556/656
657: デフォルトの名無しさん [sage] 2014/08/25(月) 14:23:49.85 ID:IQl9g11m >>656 ? おかげで作業が進みました。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/657
658: デフォルトの名無しさん [sage] 2014/08/26(火) 17:09:00.43 ID:QEgdFK7f Windows で、 CrossBlock + MinGW + wxWidget で最も簡単な GUI アプリを基本プロジェクトで作成してみたところ、 MyTest.exe のサイズ:736KB (wxWidgetのDLL) wxmsw28u_gcc_custom.dll のサイズ : 15.9MB MyTest.exe のメモリ使用量 : 7,732KB // TaskManagerの表示 となった。 この基本アプリは、HelpでAboutでメッセージ・ボックスが表示できる ようになっているが、メニュー項目をクリックしてから実際にそれが 出るまで数秒かかる。実験したのはそこそこ速いマシンと速いWindows での事。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/658
659: デフォルトの名無しさん [sage] 2014/08/26(火) 17:09:45.00 ID:QEgdFK7f ただし、遅いのは最初の一回だけ。 一度でも表示すると後は速い。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/659
660: デフォルトの名無しさん [sage] 2014/08/26(火) 17:56:51.72 ID:QEgdFK7f Mailer の Thunderbird-Portable なんかもマルチプラットフォーム対応 だけど、起動がかなり遅い。これも巨大な dll を読み込んだりしてる からかな。 起動やメニュー操作が遅くなるのはマルチプラットフォーム化する代償 として負わされるのかも知れん。 こういうツールキットで軽快なアプリを作るのは難しいのかもな。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/660
661: デフォルトの名無しさん [sage] 2014/08/26(火) 19:14:34.45 ID:OmJCXozv 小規模の自作ソフトでwxWidgetsをスタティックリンクしない理由が分からん わざわざ合計バイナリサイズを大きく、速度も遅くする理由がどこにあるのだろう http://mevius.5ch.net/test/read.cgi/tech/1270793556/661
662: デフォルトの名無しさん [sage] 2014/08/26(火) 21:27:38.25 ID:QEgdFK7f >>661 なるほど、スタティックリンクにすれば、起動後になってからユーザーの 命令に対する応答が遅れる事はなくなるかもしれない。 起動が遅くなるだけで済むんなら、そっちの方がストレスが少ないかも。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/662
663: デフォルトの名無しさん [sage] 2014/08/26(火) 21:50:56.10 ID:JtVIC4MG ある程度規模が大きくなるとスタティックリンクだと初回起動が遅すぎになので dllにモジュールを分割してやったほうがいい 起動時のメモリへのロード時間はどうしようもないのでスプラッシュをつけてごまかす http://mevius.5ch.net/test/read.cgi/tech/1270793556/663
664: デフォルトの名無しさん [sage] 2014/08/26(火) 22:39:34.76 ID:QEgdFK7f CrossBlockでは、monolithic タイプのライブラリをビルドしてから使う ようになってるんだけど、それも遅い原因なのかな。 でも起動後にユーザー入力に対するレスポンスが遅いのはどう説明すれば いいんだろう? 普通の Windows の仕様だと原則、起動時に全ての DLL をロードする。 LoadLibrary()を使えば動的にロードすることも可能は可能だけど、 それをする必要は旧OSでサポートしてなかった新OSのDLLをロードする ような場合は、多言語化のサポートなど。 なるほど、多言語化のせいかも。_("xxx") みたいなのがあったから、 gettext を使ってる。それでリソースを動的ロードしているのか。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/664
665: デフォルトの名無しさん [sage] 2014/08/27(水) 04:40:25.51 ID:IfBPvyzm 何度かアプリ起動しているうちにWindowsのFetchが学習してくれて DLLとか先読みしてくれるようにならないのだろうか http://mevius.5ch.net/test/read.cgi/tech/1270793556/665
666: デフォルトの名無しさん [sage] 2014/08/27(水) 06:47:58.33 ID:J2peHUgZ >>665 それはなる。 ・ディスクの内容は、メモリにキャッシュされる。 ・同じDLLは、全てのアプリで物理メモリが共有されると聞いたことがある。 # >>664 は、CrossBlockではなく、CodeBlocksだった。スマン。 それより、wxWidget 本家のソース配布に入っている samples を Windows の mingw32 でビルドしてみたところ、全然遅くなかった。 ・アプリの起動は速い。 ・起動後のメニューコマンドやユーザー入力に対するレスポンスも速い。 ・Aboutダイアログも瞬間ではないが、0.3秒程度で、Windows Nativeアプリ でも、その程度の遅さはある場合があるので遜色ない。 CodeBlocks で作ったものが遅い原因は今のところ謎。やはり monolithic な ライブラリを使用しているからか。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/666
667: デフォルトの名無しさん [sage] 2014/08/27(水) 07:54:18.52 ID:X38Kg7Ty >>666 ># >>664 は、CrossBlockではなく、CodeBlocksだった。スマン。 なんだと思ったらわりと素人じゃねえかおい >CodeBlocks で作ったものが遅い原因は今のところ謎。やはり monolithic な >ライブラリを使用しているからか。 monolithicってのはwxWidgetsのモジュール全部入りのDLL作るという意味なので遅くて当然 (実際試したことないので遅いというのは初めて知ったが…) 普通は ./configure --prefix=/mingw --enable-shared みたいに指定してビルドするから モジュールごとに分割されたDLLが作成される Windows上で開発する時はMinGW + NTEmacs/eclipse CDTの環境がおすすめ http://mevius.5ch.net/test/read.cgi/tech/1270793556/667
668: デフォルトの名無しさん [sage] 2014/08/27(水) 09:58:52.27 ID:J2peHUgZ >>667 最後の段落:多分、wxWidgets 本体を MInGW32 用のビルドする際は、 configure は使えない気がする。 CodeBlocks のQuickなんたらRefの説明では、いきなり、 make するように支持されていた。しかも、-fno なんたら dll-export みたいなオプションを付けろと指示。これは、MinGW32のバグで、 付けないと最後のldの段階でldがクラッシュする事をたまたま発見。 ところで話は変わって聞いておきたいのですが、 eclipse では wxWidget のイベントを書くようなときに ・BEGIN_EVENT_MAP に自動的に一行マクロを挿入してくれて ・*.h にもメンバ関数宣言を書いてくれて ・*.cpp にも5行くらいの関数定義本体の雛形を書いてくれ たりしますか? http://mevius.5ch.net/test/read.cgi/tech/1270793556/668
669: デフォルトの名無しさん [sage] 2014/08/27(水) 10:01:06.29 ID:J2peHUgZ つまり、イベント・ハンドラを追加したとき、 BEGIN_EVENT_TABLE(wxListMainWindow,wxScrolledWindow) EVT_PAINT (wxListMainWindow::OnPaint) EVT_MOUSE_EVENTS (wxListMainWindow::OnMouse) EVT_CHAR (wxListMainWindow::OnChar) EVT_KEY_DOWN (wxListMainWindow::OnKeyDown) EVT_KEY_UP (wxListMainWindow::OnKeyUp) EVT_SET_FOCUS (wxListMainWindow::OnSetFocus) EVT_KILL_FOCUS (wxListMainWindow::OnKillFocus) EVT_SCROLLWIN (wxListMainWindow::OnScroll) EVT_CHILD_FOCUS (wxListMainWindow::OnChildFocus) END_EVENT_TABLE() とか、クラスを書くとき IMPLEMENT_DYNAMIC_CLASS(wxListMainWindow,wxScrolledWindow) 見たいなものの自動生成があるとうれしいんですが、そういう IDE はありません? http://mevius.5ch.net/test/read.cgi/tech/1270793556/669
670: デフォルトの名無しさん [sage] 2014/08/29(金) 11:13:03.59 ID:AEJEOYpd wxWidgetsの問題点の1つは、プログラムのサイズが大きくなる事。 特に静的リンクしたときに顕著。 Windows は、VC++ にて、 ac1rd: CUI の Win32 と printf() を使ったもののリリース・動的リンク版が 16KB程度。 puts() を使えばもっと小さく出来る。 ac1rs: CUI の Win32 と printf() を使ったもののリリース・静的リンク版が 40KB程度。 puts() を使えばもっと小さく出来る。 ag2rd: GUI の MFC の 基本的な MDI アプリがリリース・動的リンク版で 36 KB 程度。 ag2rs: GUI の MFC の 基本的な MDI アプリがリリース・静的リンク版で 332 KB 程度。 wxWidgets 2.8.12 の samples では、 bc1rd: CUI の console.exe がリリース・動的リンク版で 138KB bc1rs: CUI の console.exe がリリース・静的リンク版で 863KB bc1dd: CUI の console.exe がデバッグ・動的リンク版で 184KB bg2rd: GUI の keyboard.exe がリリース・動的リンク版で 293KB bg2rs: GUI の keyboard.exe がリリース・静的リンク版で 2,924KB bg2dd: GUI の keyboard.exe がデバッグ・動的リンク版で 492KB ただし、bc1xx は、アプリ本体のプログラムが複雑なことをしているようなので、 もっと小さく出来る可能性があり。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/670
671: デフォルトの名無しさん [sage] 2014/08/29(金) 19:04:31.75 ID:GS9LyL7J その説明にac1だの何だの自分以外分からない定義を使う必要があったのだろうか http://mevius.5ch.net/test/read.cgi/tech/1270793556/671
672: デフォルトの名無しさん [sage] 2014/08/29(金) 19:07:59.00 ID:AEJEOYpd 今から見るとそうかも。 a: Windows Native or MFC b: wzWidgets c: CUI g: GUI r:release, d:debug d:dynamic link, s:static link http://mevius.5ch.net/test/read.cgi/tech/1270793556/672
673: デフォルトの名無しさん [sage] 2014/08/30(土) 00:17:55.46 ID:S/CtHe8u >>668 >最後の段落:多分、wxWidgets 本体を MInGW32 用のビルドする際は、 >configure は使えない気がする。 なにいってんだCodeBlocksのドキュメントにそう書いてあるだけで 基本autotoolsで作られたソースはconfigureでビルドできるぞ 実際自分はWindows上のmingw32/64、LinuxのクロスビルドからのMinGWでconfigure使ってる なぜMakefileでやれという指示なのかというと、そのほうが簡潔で保守しやすいからだ あとGNU MakeじゃないMakeでもビルドできるようにしたいとかいう微妙なこだわりが有る場合も有る >>669 エディタの補助機能を使うべきだ、Emacsなら矩形範囲選択で一気に書ける ソースのひな形自動生成機能は知らんなあ http://mevius.5ch.net/test/read.cgi/tech/1270793556/673
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 287 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.031s