問題タブ [wxwidgets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
998 参照

c++ - wxNotebookを使用して(IMプログラムのような)タブ点滅効果を作成します

IMプログラムがwxNotebookを使用して行うように、タブ点滅効果を作成するにはどうすればよいですか?

この良い例は、新しいIMを受信したことをユーザーに示すために点滅するタブ付きIMプログラムです。

0 投票する
1 に答える
653 参照

sqlite - テーブルの変更でリスト ビューを更新する

ログ メッセージの膨大なセットを含む SQLite データベースがあります。

これをリスト ビューで表示したい (wxWidgets を使用)。

ユーザーは、(列ヘッダーを押して) リストを並べ替えたり、結果セットにフィルターを適用したり、スクロール バーを使用して通常のリストと同様にナビゲートしたりできます。ユーザーは、リスト内の 1 つまたは複数のエントリを選択して削除することもできます。

仮想リスト モデルがあります。リスト ビューはモデルに特定の行の内容を要求します。モデルは、現在のフィルター条件と順序を使用して選択クエリを発行し、結果から対応する行を返します。

高速化するために、結果のページ キャッシュを保持します。行が要求されると、LIMIT と OFFSET を使用してページ全体 (〜 100 行) をフェッチし、ページから特定の行を返します。いくつかのページを保存し、次に行が要求されたときに、キャッシュされたページの 1 つで利用できるかどうかを最初に調べます。この手法は、多数のエントリ (50k 以上)がある場合でも高速で応答性が高いことが証明されています。

問題

私の問題は、更新/挿入/削除を処理する方法です。挿入/更新/削除が発生するたびにモデルに通知されるように、それぞれに 1 つのトリガーがあります。トリガーは、影響を受けるエントリの ID (主キー) もモデルに伝えます。

私の最初のバージョンでは、各トリガーの後にモデルを完全にリセットしました。これはそれほど高速ではありませんでしたが、十分に高速でした。問題は、ユーザーが 1 つまたは複数の行を選択した場合、選択が失われることでした。

モデルの基本クラス (wxDataViewVirtualListModel) には、変更が発生したときに呼び出されるメソッドが含まれています。

  • RowInserted (行)
  • RowDeleted (行)
  • RowChanged (行)

それらを使用すると、選択の問題は解決されますが、問題があります。

  • 変更された行が現在フィルター処理されているセット内にあるかどうかを知るにはどうすればよいですか?
  • リスト ビューのどの行が影響を受けたかを知るにはどうすればよいですか?

最初の問題は、エントリがセットに属しているかどうかを確認するメソッドを作成することで解決できます。SQL 条件とまったく同じように動作する必要がありますが、実行可能です。

2番目の問題は、解決方法がまったくわかりません。

ビューを強制的に更新するために偽の(0または最後の行)行番号を使用しましたが、問題は、選択の前に行が挿入/削除された場合、選択が後で間違った行を指している場合などです。

どうしますか?メモリ内のすべてのエントリで高度なデータ構造を保持しますか?

この質問は別の質問に関連しています: 大きな結果セットを表示する

0 投票する
2 に答える
1708 参照

c++ - wxwidgets // g++ コンパイラ エラー: 'operator new(..' への呼び出しに一致する関数がありません

現在、Visual C++ アプリケーションを Linux に移植しようとしています。コードは Visual Studio ではエラーなしでコンパイルされますが、Linux では多くのコンパイラ エラーが発生します。これらのエラーの 1 つは次のとおりです。

詳しくは:

  • IDE: G++ を使用した kdevelop
  • GUI API:

エラーは次の行に表示されます。

および他のいくつかの行。

私は何が欠けていますか?

0 投票する
2 に答える
2129 参照

c++ - PageTextによるwxNotebookのプログラムによるタブの追加/削除

各タブに表示されるテキスト/ラベルによって wxNotebook のタブをプログラムで追加および削除できるようにする必要があります。

ウィンドウでは、タブ コントロールとタブ ページを使用して、各タブをキーで参照できます。タブ コントロールには、各タブのテキストをキーにしたタブ ページのマップがあります。

0 投票する
1 に答える
3584 参照

wxpython - wxPython:wx.Panelとwx.Windowの違いは何ですか?

パネルの方がいいという印象を受けました。本当?

一方が他方に対してどのような利点がありますか?どちらか一方を使用する理由は何ですか?

0 投票する
1 に答える
1487 参照

windows - wxPython/wxWidgetsにシステムメニュー項目を追加する

wxPython / wxWidgetsのフレームのシステムメニューにメニュー項目を追加するにはどうすればよいですか?
(私は、Windowsのアプリケーションアイコンをクリックしたときに表示されるメニューについて話しています-最小化、最大化、閉じるなどのメニュー)。

本格的なトップメニューを必要としないシンプルなアプリケーションのために、独自のメニュー項目を追加したいと思います。

Windowsのみのソリューションが存在する場合(そして十分に単純な場合)も役立ちます。

0 投票する
1 に答える
232 参照

user-interface - アドバイスが必要(GUI、ウィジェット)-プロットに領域選択を実装する

(私はGUIプログラミングに不慣れです。それ以外は経験豊富なプログラマーです)

(wxPythonを使用しますが、一般的なアドバイスを歓迎します)

プロット上でエリア選択を行うことができるウィジェットを実装するためのアドバイス/方向性を探しています。経験豊富なユーザーからのポインタをいただければ幸いです。

実行する必要があるのは次のとおりです。

  1. 2次元プロットを実装します。
  2. プロット上の領域を選択するために移動できるサイズ変更可能な正方形を実装します。
  3. その領域内にあるプロットポイントを報告します。

正方形の座標とプロットポイントの並べ替えられたリストがあれば、含まれているプロットポイントは簡単に計算できることに気付きました。プロット自体とサイズ変更可能な正方形を実装するために使用するウィジェット/グラフィックスの手法がよくわかりません。

助けてくれてありがとう!

0 投票する
1 に答える
368 参照

wxwidgets - 「new」キーワードを使用した wxWidgets

wxWidgets の場合、なぜ次のように言う必要があるのですか?

それ以外の:

2つの違いは何ですか?2 番目の方が読みやすく、使いやすいですが、すべての例で最初のものを使用しているため、その理由は何なのか疑問に思いました。

明確にするために、2 番目のバージョンが機能しないことはわかっていますが、2 番目の形式ではなく最初の形式を使用する必要がある特定の設計上の決定があるかどうか疑問に思っています。ティア。

0 投票する
1 に答える
863 参照

wxwidgets - 動的にサイズ変更されたボタンを持つ wxToolBar

私のアプリケーション (Microsoft Windows のみ) は、フラグが設定された wxToolBar を使用していwxTB_HORIZONTAL|wxTB_TEXT|wxTB_HORZ_LAYOUTます。ボタン/ツールはすべて同じ幅で、最も長いテキストに基づいています。

BTNS_AUTOSIZEWindows のネイティブ ツールバー ボタン (スタイルで作成) のように、ツール ラベルの長さに応じて、異なる幅のボタンを使用したいと考えています。

動的に計算された幅を持つボタンで wxToolBar を取得する方法はありますか?

0 投票する
4 に答える
7699 参照

c++ - wxFrame をモーダル wxDialog オブジェクトのように動作させる方法

wxFrame オブジェクトを作成するウィンドウが、wxFrame オブジェクトが終了するまで実行を停止するという点で、wxFrame オブジェクトをモーダル ダイアログ ボックスのように動作させることは可能ですか?

私は小さなゲームに取り組んでおり、次の問題に遭遇しました。メイン アプリケーション (戦略的部分) をホストするメイン プログラム ウィンドウがあります。場合によっては、ゲームの一部 (戦術的な部分) を解決するために、2 番目のウィンドウに制御を移す必要があります。2 番目のウィンドウにいる間に、最初のウィンドウでの処理を停止し、2 番目のウィンドウで行われている作業の完了を待ちます。

通常はモーダル ダイアログでうまくいきますが、新しいウィンドウには、wxDialog では得られないように見える機能、つまり下部のステータス バーと、ウィンドウのサイズ変更/最大化/最小化機能 (この可能なはずですが、機能しません。この質問を参照してください最小化ボタンと最大化ボタンを wxDialog オブジェクトに表示する方法)。

補足として、最終的に別のプログラムに分離されるため、2 番目のウィンドウの機能をプライマリ ウィンドウから完全に分離したままにする必要があります。

誰かがこれをやったことがありますか、何か提案がありますか?