問題タブ [wxformbuilder]
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.
c++ - wxWidgets と FormBuilder を使用したペインティング ゾーン
いくつかのツールと六角形のマップを印刷するためのクライアントを作成するタスクがあります (Windows と Linux 用にビルドできる場合に最適です)。
そのために使用するwxWidgetsを選択しました。WxFormBuilderをダウンロードしました。これは、フォームとそれらのコードを作成するのに完全に役立ちます。
でも、その形で六角形の地図をどこかに描かなければなりません。そして、そのために使用しなければならないインストルメントパネルのアイテムが見つかりませんでした。自動的に作成されたソースにwxPanelのようなものを手動で追加できますが、 wxFormBuilderから変更するたびに結果を手動で再度解析する必要があるため、それは悪い考えです。
私はペイントとグラフィックは初めてですが、wxFormBuilderには解決策が必要だと思いますよね?
python - wxPython textCtrl フォーカス イベントの書き方
ユーザーが textCtrl をクリックしたときにコード行を起動しようとしています。最終的な目標は、クリックされたときにボックスの内容を強調表示することです。これが wx.EVT_SET_FOCUS で可能であることは認識していますが、バグがあるか、実装が間違っています。これが私のコードです:
このコードは、必要に応じて highlightText を正常に起動できますが、何らかの理由でカーソルが textCtrl から削除され、ユーザーはスポット、ハイライト、またはバックスペースを選択できなくなります。任意の提案をいただければ幸いです。ちなみに、wxFormBuilder でこれを行う方法はありますか? それを使用してアプリケーションを構築しましたが、フォーカス イベントを追加できませんでした。それが提供するフォーカスイベントは、ウィンドウ全体に対するものだけのようです。
2014 年 9 月 19 日編集: マイク、自動生成された wxFormBuilder コードは次のとおりですgui.py
。
...そして、これが私が書いたイベントハンドラーです
イベントは正常に動作します (必要なときにテストが出力されるように) が、テキストを強調表示できず、カーソルが表示されません。
python - Python: 変数は、print ステートメントが存在する場合にのみ機能します
私は非常に奇妙な問題に悩まされています。
何が起こっているかというと、私のクラスmain.py
を初期化するプライマリ Python ファイルがあり、そのファイルはすべての wxpython コードを参照してウィンドウを表示します。このファイルは単なるイベント ハンドラです。ウィンドウのチェックボックス (私が知っているクリエイティブ名) をクリックすると実行され、.mainframe1
gui.py
checkClick1
checkAdvance1
一部を除いて、プログラム内のすべてが正常に機能します。私のeID1
変数は で問題なく動作し__init__
、textCtrl3
表示されます。ただし、 で再度使用しようとするとcheckAdvance1
、プログラムがハングします。
eID1
それをテストするために、2 つの test print ステートメントでprint ステートメントを囲みました。のみtest1
が表示され、エラー コードは表示されず、プログラムは単にハングします。さらにややこしいことprint eID1
に、関数にステートメントを入れる__init__
と (現在はコメントアウトされています)、プログラムは問題なく実行されます。
可変機能が print ステートメントによってどのように影響を受けるかはわかりませんが、それは起こっています。ただし、それを修正するために print ステートメントを挿入することは、実際の問題を無視する粗末な回避策のように思えます。また、コメントアウトされたeID1
宣言は、プログラムの実行時に変数の内容がどのように見えるかを示すための単なる例です。
編集:私は完全に満足していない回避策を考え出しましたが、印刷を追加するよりはましです。別の変数を作成すると、次のように empID1 の文字列変換に設定できますempID1 = str(eID1)
。後で eID1 の代わりにこの値を参照できます。しかし、私が知っていて調査したすべてのことによると、元のコードは機能する必要があるため、これはまだうまくいきません。舞台裏で何か悪いことが起こっているような気がします。
python - 最もアクティブな顧客と最も少ない顧客を獲得するためのコードを書く Python
最もアクティブな顧客と最もアクティブでない顧客を計算するための GUI を設計するように依頼されました。下部には、最もアクティブな顧客と最もアクティブでない顧客を計算する 2 つのボタンがあります。2 つのボタンを押した結果を表示する結果領域もあります。
リスト ボックスと、その下に 2 つのボタンがあります。リストボックスに名前が表示されます。たとえば、textCtrl の最初に「sam」と入力し、[顧客の追加] ボタンをクリックします。Sam がリスト ボックスに表示されます。異なる名前または同じ名前を数回入力した後。名前付きのリストはリスト ボックスです。たとえば、リスト ボックスには 3 つの「sam」と 2 つの「justin」があります。「最もアクティブなボタン」をクリックすると、名前 sam が結果ボックスに表示されます。最もアクティブでないボタンをクリックすると、名前 justin が結果ボックスに表示されます。
顧客追加ボタンの定義には成功しましたが、最もアクティブな顧客と最もアクティブでない顧客を計算するボタンを定義する方法がわかりません。カウント関数を使用する必要があると誰かに言われましたが、その方法がわかりません。
これが私がこれまでに得たものです:
誰かが次のステップで私を助けることができますか? ありがとうございました!PS 結果ボックスの名前は m_textCtrl2 です リスト ボックスの名前は m_listbox1 です
python - PythonでwxListBoxエントリを.txtファイルに書き込む方法
wxListBox からテキスト ファイルにテキストを書き込む wxFormBuilder インターフェイスをプログラムしようとしています。私の現在のコード:
現在、このコードは、すべてのエントリではなく、リスト ボックスの最後のエントリのみを保存します。また、リストをテキスト ファイルから wxListBox にインポートする際にも問題があります。私が持っているコードでは、「TypeError: String or Unicode type required」というエラーが表示されます。
wxformbuilder - wxformbuilder と Unicode ラベル
wxFormBuilder によって生成されたラベル コードに Unicode 文字を取り込む方法はありますか?
たとえば、オングストローム文字を取得するには、生成された文字列はu"\u212b"
.
ラベル プロパティ フィールドに入力しようと\u212b
しましたが、結果の文字列はu"u212b"
. だから私はバックスラッシュをエスケープしようとしまし\\u212b
たが、それは私を与えましたu"\\u212b"
.
wxFormBuilder v3.5 - ベータ版を使用しています。C++ コードは同じ動作を示しますが、Python コードを生成します。
user-interface - wxPython: wxFormBuilder によって生成された GUI のサイザーにアクセスし、子を置き換えます
別の GUI とコントローラーを使用して、MVC のアイデアの下でアプリケーションを構築したいと考えています。さらに、私にはグラフィカルなタスクで私よりもはるかに優れた同僚がいて、作業を分散したいと考えています。彼は wxFormBuilder でグラフィカルな部分を構築し、私はアプリケーションの「機械」を構築します。
GUI を生成したら、wxFormbuilder が管理できないいくつかの要素を代用したいと思います。たとえば、wxObjectListView です。私の考えは、通常の wxListBox を使用して GUI を作成し、それをメイン プログラムにインポートして、wxObjectListView に置き換えることです。GUI エディタとの下位互換性を維持したいので、wxFormBuilder によって生成されたコードを直接変更したくありません。
問題と質問は次のとおりです。GUI をインポートするメイン プログラムから、リストを含むサイザーにアクセスし、削除して ObjectListView で置き換えるにはどうすればよいですか? sizer.Delete(list) の次に sizer.Add(olv)... のようなもの
ここにあなたの例があります:
wxFormBuilder によって生成された GUI コード: リストとボタンを含むフレーム。
そして、これがグラフィカル クラスをインポートするメイン コードです。
Frame の子にアクセスしようとすると、Sizer ではなく、「最終」オブジェクトのみが表示されます。
要素にアクセスできるようにするには、GUI に別の構造が必要なのかもしれませんが、それを作成する方法がわかりません。2 レベルのサイザーを作成しようとしましたが、最終結果は同じです。サイザーではなく、最終要素にアクセスできます。
python - 12:52:27: デバッグ: ..\..\include\wx/msw/private.h(697): 'UnregisterClass' がエラー 0x00000584 で失敗しました (クラスにはまだウィンドウが開いています)。
Python プログラム用に wxformbuilder を使用して GUI を構築する場合。いくつかの編集と再構築の後、次のエラーが発生します。
12:52:27: デバッグ: ....\include\wx/msw/private.h(697): 'UnregisterClass' がエラー 0x00000584 で失敗しました (クラスにはまだウィンドウが開いています)。
どこで問題を解決し、どのように修正すればよいですか?