【GUI】wxWidgets(旧wxWindows) その5【サイザー】
レス数が900を超えています。1000を超えると表示できなくなるよ。
これの文字コード変換ツール(UTF8とwchar)バグってない? wxPythonのDataViewCtrlでValueChanged()呼んだ後のソート結果がおかしい(ソートが途中で終わってる)ことがあるんだがなんでやろ。
ValueChanged()で指定したオブジェクトがその後のDataViewModel.Compare()でなぜか引数のitem2の方に入ってるときはそうなる。
助けて… https://pastebin.com/49kBvu8t
https://github.com/wxWidgets/Phoenix/
にパッチ当てて
demo/DVC_DataViewModel.py を実行してAcquired列でソートしてみてください
こちらの環境はPython 3.7.3@windows10、wxPython 4.1.0 ViewクラスにXRCファイルからwXWidgetsのコントールを読み込む処理を作成しました
ViewクラスはViewModelクラスのポインタを持っていて、ViewModelクラスで
何かデータが変化した時に、Viewクラスのコントロールを更新したいのですが、
どのように実現すればいいか、ご存じの方は教えていただけないでしょうか? wxwidgetsのGUIスレッドでstd::threadを立ち上げたらアプリがabortしましたけど、
wxThreadを使わないといけないのでしょうか? 少なくとも日本人にとっては、
日本語の良い解説が無いからじゃないか? Qtよりはマイナーかな
個人的にはQtよりも好きだけどね 「日本語の良い解説がないから使えない」が本当だったら、
ヘタレすぎないか? いやだってさ、日本人なら出来ることにそこまで違いがなく、日本語リファレンスがある方とない方があるなら、
ある方に流れるでしょやっぱり
で、Qtにはあるし、JAVAや.NETにもある 今wxwidgetsを学びつつGUI版のマインスイーパ作ろうとしてるけど
肝心のマスを表示する部分とマウス操作をどうするのか決まりそうにない >>877
ああ、3.1.5 は開発版だからまだ各種言語用のバインディングが無いんですね 日本語情報少ないから(日本では)利用者少ない
っていう程度の話ならちょうど良い馬鹿除けフィルタになってると思うが Code::Blocksでウィジェットの編集が不安定じゃね?
プロパティ弄っただけで落ちてしまうんで初心者には辛い
なるべくコード側で設定しろというwxWidgets神からのお告げか? wxFormBuilderの方が安定しているやろか? GUIな開発系の支援ツールを作ると仮定して
・wxWigets
省リソースで起動も速いくほぼ何でも出来るが特に今基準だとお手軽とは言い難い
・Webアプリ
お手軽で起動速度の心配もないがファイルの読み書きが出来なかったりデータを保存できなかったり制限が多い
・Node.js系
ストレージとメモリ消費が多い上に起動が遅い
・Tk/Tcl系
省機能版wxWigets。メリット、デメリットもほぼ同じだが更にレガシー
・HTA
Windowsならかなり理想的だったけど今基準だと時代遅れ感が・・・
なかなか良さそうなのがない・・・ 今のC++は昔のC++と比べると使いやすくなっているし、
wxWidgetsもMFCと比べたら作りやすいから問題ない
こんなソフトが無料で使えるなんて有難いわ wxLua(しかもLuaJITサポート)なんてのがあるらしい。動くなら良さそうかも?
wxRubyは死んでしまったからなぁ・・・
>>885
C++は今のご時世にメモリ不安全な時点でお手軽からはほど遠い感 wxWidgets の Rust 版があれば最強か wxRust ? 今まで食わず嫌いして使わなかったが、意外と使い易いぞ
日本でももっと普及しないかなぁ qiitaで情報集めようと思ったら僅か13件しかヒットしなかったんですが・・・ そもそも、Qiitaで情報を集めること自体が無意味。 公式のドキュメントとサンプルでけっこう何とかなるよ 小規模のソフトなら、わざわざ高価な開発ソフト用意しなくても
wxWidgets で十分だよな
慣れは必要だが、それはどんな開発ソフトでも同じ事だし 個人的に、QtよりもwxWidgetsのほうが好み。 Bindを使う時どういう場面だとwinidだのlastidだのを指定する必要があるのかまじで訳分からん >>895
ほんそれ
>>896
必要最小限でいいんじゃね
基本付けない方が楽 windowやframeに対してBind()するのか
control.Bind()するのか
どっちが良いの? >>898
どちらが推奨されているのかは分からないが、
俺だったら、controlのイベントは、control.Bind()を使うな 別クラスでもキャプチャしてるラムダをさっとbindできる楽でいい Qt5.15LTSの商用版を1年後にオープンソースにするという約束だったが、
それはきちんと守られた様だ・・・ 3.1.6は最後の3.1.x系列で次は3.2らしいけど次は一年後ぐらいかな? なんだかんだで、
wxWidgetsでGUI開発するのが一番保守ができるわw 以前試した時、デザイナがメニュー項目やアイコンボタン的なものだけはあるが、
押してみると機能しないものが多かった。
また、チュートリアル通りと全く同じ順番で全く同じ操作した場合には
動作するが、ちょっとでも違うと動作しなかった。
それから、サイザーで箱的なものを最初に作ったとき、箱が小さすぎて
分かりにくかった。 Code::Blocks使ってみたら、
最初、フレームにいきなりサイザーを置いたら物凄く小さくなってびっくり
どうやってこれにウィジェット配置するんやと・・・
しかし、いろいろ試していたら、先にパネルを配置してそれからサイザーを
配置すれば小さくならないことが分かった そういえば、まだCode::Blocksが3.2.0に対応していないのか? https://zero-cheese.com/6667/
(本記事略)
雑談
世間では、「(略)」が流行している中、wxPythonが作る「PC用ネイティブアプリ」は、取り残されている感あります。そう思うのは、私だけでしょうか?
現代の「ネットとスマホの時代」、PC用ネイティブアプリの開発は、優先度は低いように感じてしまいます。
なぜなら、Webアプリや、スマホアプリで、ほとんどが代用できるからだと、思われます。(スプレッドシート等がいい例です。)
私自身、本記事のために、久しぶりに「PC用ネイティブアプリ作り」のためのコードを書いてみました。すごく懐かしい感じを覚えました。
(もちろん業界により、違いはあると思います。日々、PC用ネイティブアプリを開発されている方々には、不快な思いをさせたかもしれません。その際は、お詫びいたします。)
思い返せば、Windowが95 とか 98 の時代は、Visual C++、Visual Basicが流行っており、PC用ネイティブアプリを作るのが当たり前でした。
(当時、まだ学生でしたが、「VIsual Basic」を買うのに(確か5万円位)、とても苦労した記憶が・・ それが今や無料版があります。)
その時代をインターネットが、流れを変えてしまいました。ご存じの通り、技術の成長速度は、年々早まっています。
本記事は2022年3月時点に書いていますが、今後の20年は、過去120年分の技術進歩に相当すると、予測している研究者もいます。(技術の成長曲線に対し、外挿が当てはまると、その通りになるとの事。)
その時代にあって、PC用ネイティブアプリを作るニーズは、将来、あまり明るくないかもしれません。
既にBlenderみたいなソフトも、Steamを使って遠隔操作できるので、今後5G、6Gが普及してくと、ますますPC用ネイティブアプリの開発ニーズが、減少していきそうです。
(Blenderや、Steam自体が、PC用ネイティブアプリじゃん! というツッコミが入りそうですが(笑)。 ただ、既に遠隔で操作できるという事から、今後、Webアプリに置き換わっていくかな? と思った次第です。)
(以下略) wxPython/wxWidgetsのAndroid/iOS版でええやん >>915
ウィザードスクリプト弄ればwxWidgets 3.2系に対応出来るようになってたのね ソースはsrcフォルダにまとめようとおもってウィザードスクリプト変更したら、
なんかイベントハンドラが一発で登録できんようになった。
再度、定義されたハンドラを指定するとなぜか登録できるが、なんかめんどくさい。
念のため、プロジェクトファイルと同じ階層に保存するように戻したら直った。
もしかして、Code::Blocksっていうか、wxSmithプラグインって
プロジェクトファイルと同じ階層に.cpp.hを入れないと正常に動作しないのやろか? うーん、wxTextCtrlのインスタンスを複数作っただけで終了時に落ちてしまう
どうやらバグらしいね
せっかく3.2出たから試していたが、やっぱまだ不安定か・・・
(自分で直せればいいんだけど、さっぱり分からんw) >>921
自分の環境だけじゃなくて、他でも再現しているような話が出てるってこと? >>921
> どうやらバグらしいね
なぜバグと判断できる?
具体的にGitHub IssueかPRの何番かに上がっているの? どうやら、TDM-GCC 10.3 (64bit のみ?) でビルドするとダメみたい
(MSVC や MSYS2 上の gcc では発生していないらしい)
一応対策済みファイルは上がっているけど、
根本的な原因が分かっているわけではない模様...
(TDM-GCC の libstdc++ に問題があるかもしれないとのこと) すまん、Issue 番号書き忘れたわ
Issue #22639 PR 番号も見つけたので上げておきますわ
PR #22641 実際に確認するの遅れたが、
関連するファイルを更新してビルドし直したら、tdm-gccでも普通に動作しましたわ
問題を修正してくださった開発者の方々に感謝します change log見ると#22639も修正されてんね (^-^)y- (^o^)y-。o0○ ( ;゜゜)ノ⌒-~ ←……( ̄ー|柱| ポイステキンシ フリーのGUIフレームワーク最後の希望
3.2.3が来たよーーーっ! 3.2.3に更新したついでにcode::blocksの夜間ビルド試してみようと思ったらサーバダウンしてるやんけ!!! >>935
そうであれば、多言語にbindingしたらええがな これええな
mingw-w64-i686-wxwidgets3.2でCP932って使えないん? msvc 使うなら CP932 でも大丈夫だと思うけど
gcc 使うなら素直に UTF-8 を使った方が良いんじゃね もういい加減、WindowsはCP932を廃止せなあかんわ
いつまで、「ワールドワイド言語サポートでUnicode UTF-8を使用」を標準でonにしないのか 以前から思っていたのですが
5chではなんでみんな似非関西弁使うねん!
(あかん、俺にも伝染しとるわ・・・) なんでも実況板で似非関西弁で書き込むのが習慣になったから なるほどそういうことだったんですね。ありがとう
次回は、なぜ実況版で似非関西弁で書き込むのが習慣になったのかの謎に迫る! Code::Blocks 20.03が古過ぎるためかスミス氏の機嫌が悪い
試しに夜版バイナリを使ってみたらこっちはご機嫌やった
32bit版のバイナリが無かったけどこっちは自前でビルドしてみた
公式のドキュメント通りにやっても上手くいかなかったけど
エラーの内容を検索しながらやったらポンコツの俺でも出来たわ(涙目) マイルストーンを見たら3.3.0と3.3.99があったんだけど違いはなんやねん! >>944
一般的には
3.3.0 Release
3.3.1 Release ... バグ修正
...
3.3.99 3.3系で取り敢えず入れたい直したいごった煮
3.4 中機能改変
4 大機能改変
ブランチタグやIssueが、管理しやすくなるでしょ? >>945
ありがとうございます
バージョン管理ソフトを使用したことないから良く分からないけど
何らかの意図があってやってるんですね >>946
バージョン管理「ソフト」の話じゃないでしょ、
バージョン管理の話だよ レス数が900を超えています。1000を超えると表示できなくなるよ。