問題タブ [kivy]
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.
kivy - TextInput での kivy ScrollView の実装
ポップアップと TextInput を使用してテキストを表示する関数 (以下に示す) があります。ほとんどの場合、テキスト コンテンツはポップアップ ウィンドウよりも大きいため、スクロールが必要です。ScrollView がないと、スクロールのためにキーボードの矢印キーに頼る必要があり、マウスホイールを使用してスクロールできるように ScrollView を実装しようとしました。しかし、問題はそれが機能していないように見えることです。それがなぜなのかについてのアイデアはありますか?
ありがとう
python - Kivy ラインを一貫して描画する方法
ボタンの真ん中に単純な「X」を描こうとしています。次の描画コードを挿入しました。
2 本の対角線は、まったく同じ整数座標を使用しているにもかかわらず、同じようには描かれていません。左上から右下はエイリアスで描画され、もう一方はエイリアスされていません。それらを一貫させるにはどうすればよいですか?
私は Windows バージョンの kivy でテストしていて、他のプラットフォームではまだ試していません。
kivy - Kivyボタンループはon_pressをバインドしてコールバックします
だから私はkivyユーザーサポート(グーグルグループ)でこの質問をしましたが、まだ返事がないので、ここで試してみます。
検索ツールに基づいて作成されたボタンのセットがあります。基本的には、ユーザーがテキスト入力ボックスに検索語を入力し、入力されたテキストに基づいて、私のプログラムがデータベースで一致する結果を検索します。一致する結果がある場合は、ボタンが作成され(一致した結果のテキストとしてそれらのテキストを使用)、これは非常にうまく機能します。しかし、私の質問は、ボタンがループで作成される場合、どのようにして個々のon_pressをコールバックに割り当てるのですか?たとえば、私の場合、コードは次のようになります。
私の.kvファイルには、textinputウィジェットがあります。
私の.pyファイルには次のものがあります(さらに他のコードもあります):
(上記のように)コールバックに割り当てられたon_pressは実際には機能しません。ユーザーがそのボタンを押すと、textinputウィジェット(self.ti1)のテキストがボタンテキストに変わることになっています(つまり、ボタンは自動入力ウィジェットとして機能します)。私は何が間違っているのですか?上記はコードの一部にすぎないことに注意してください。メインコードは本来あるべき構造になっていますが、唯一の問題は上記のスニペットにあります。
ありがとう!
python - Kivy キャンバスに SVG を描画する
私はKivyが初めてです。古典的なアナログ時計を作成する必要があります。
私の質問は: svg グラフィックスを kivy キャンバスに描画する方法は?
eval - eval を使用した電卓の設計に関する長所と短所
私は kivy を使用して android 用の電卓を作成していますが、ほぼ完成しています (Python は私が知っている唯一の言語であるため、Java は使用できません)。それが機能する方法は、ユーザーが式を入力し、eval を使用してその式を評価することです。現時点では、私のアプリでは、eval 式に数値、数学演算子 (+、-、/、*)、および数学モジュールのほとんどの演算子 (つまり、関数電卓) を含めることができ、意図したとおりに動作します。将来的には、matplotlib を統合してグラフィカル機能をアプリに追加することを計画しています。したがって、コンテキスト内では、 eval は安全なオプションです。プログラミングの経験が限られているため、多くの状況で eval が安全でない方法だとは思いませんでした。eval の使用に関連する安全性の問題について議論しているスレッドに出くわしたのはほんの数日前のことです。
アプリ内で eval を別のものに変更する方が良いですか、それとも特定の状況で安全ですか? 前者に「はい」の場合、コードをあまり変更せずに最良の代替手段は何ですか。また、アプリのサイズを大きくしないように、Python標準ライブラリにあるとよいでしょう)
編集:ところで、 eval 式はリアルタイムで計算されます(これが重要かどうかはわかりません)。
python - Kivy-スクロールビューが機能していません。そして、サイドペインにチャットユーザーを追加する方法
サイドペインにスクロール可能なユーザー名が表示されるインターフェイスを使用してチャットアプリケーションを作成しようとしています。
2つの質問があります:
1-このコードはスクロールしていません。何が間違っているのか教えてください:
2-(クリック可能/選択可能な)ユーザーをサイドペインに配置するのが最善の方法ですか、私はそれを正しく行っていますか?
python - Kivy ウィジェットの切り替え
Kivy python ライブラリを使用しています。
2 つのウィジェットが定義されています。
プログラムが実行されると、最初のウィジェットが実行されます。
そのウィジェット ボタンが押されると、消えて 2 番目のウィジェットに置き換えられます。
2 つのウィジェットの .kv は次のとおりです。
私のメインの python ファイルはアプリを実行し、最初のウィジェットを返します
私の最初のウィジェットにはコールバックがあります。これは、問題のコードが属する場所です
ここでのアイデアは、ユーザー インターフェイス マネージャーを用意することです。このマネージャーは、UI をツリーのように実行するのではなく、リストとスタックのように実行します。リストには、すべての UI フォームのインスタンスが保持されます。スタックは、前述のフォームのトラバーサルを保持します。フォームにジャンプするたびに、それをスタックにプッシュして「レンダリング」します。
編集: 私は自分の答えを選びましたが、私の検索では Screen オブジェクトも見つかりました: http://kivy.org/docs/api-kivy.uix.screenmanager.html 個人的には、clear() および add() コマンドがより強力ですが、興味がある場合は、画面がその多くを手放します. トランジション効果も。
python - ウィジェットを追加およびクリアするときの Kivy レイアウトの問題
ウィジェット コマンド add_widget と clear_widgets を使用しているときに、自分のウィジェットが画面の左下隅で信じられないほど小さくなっています。
ここですべての手順を説明しますので、ご容赦ください。
あるウィジェットから別のウィジェットに切り替えるシステムが整っています。「ウィジェット」は、基本的にフォーム全体、ベースキャンバス、およびレイアウトです。
私が理解しているように、これらには基本レイアウトが必要です。最初にルート要素を配置し、次にこのルートで UI Manager を初期化します。
私の UI は、ウィジェットの切り替えを処理します。作成時にすべてのウィジェットをリストに保持します。また、コールバックの目的で、ユーザー インターフェイスへの参照を自身に与えます。
ここでの真の心臓部である ChangeWidget は、ルート ウィジェットを一掃し、新しいウィジェットを追加します。
これにより、フォームがボタン付きで正常に表示されます。ボタンがクリックされると、フォームを Form1 から Form2 に変更するためのコールバックがアタッチされています。
対応する .kv ファイル
ボタンをクリックすると、エラーが発生します。Form1 と Form2 はほぼ同じです。Form2 には、form2 よりもボタンが 1 つ多くあります。Form1 と Form2 のコードは、クラス名を除いてまったく同じです。繰り返しますが、独自の環境では、form2 は完璧に見えます。
バグのスクリーンショットは次のとおりです。
編集: 当分の間、スクリーン マネージャーの使用に切り替えました: http://kivy.org/docs/api-kivy.uix.screenmanager.html
syntax-highlighting - Geanyでのカスタム構文の強調表示
GeanyエディターでKivy'.kv'ファイルのカスタム構文ハイライトを作成しようとしています。特定のファイルタイプは私が抱えている問題とは無関係のようですが、カスタムファイルタイプで構文の強調表示を機能させるために努力すると、完全に強調表示されていないファイルになります。私はこれについて宿題をしたと思いますが、何もうまくいかないようです。
〜/ .config / geony/filetype_extensions.confに以下を追加しました
〜/ .config / geany /filedefs/に「filetypes.Kivy.conf」という名前のカスタムタイプ定義ファイルもあります。このファイルを/usr/ share / geany /にあるいくつかのストックタイプ定義ファイルに基づいて作成しようとしましたが、ファイルはGeanyで適用される構文の強調表示を取得しません。今のところ、実験のために、私の'filetypes.Kivy.conf'ファイルは次のようになっています。
これは、ストックXML定義ファイルに非常に大まかに基づいていますが、私が言ったように、他の多くのストックファイルを試しました。多くの場合、'extension ='の値をkvに変更しただけで、ハイライトは適用されませんでしたが、Geanyで[ドキュメント]> [ファイルタイプの設定]に移動し、実質的に任意のランダムファイルタイプ(カスタムエントリ以外)を選択すると、私の.kvファイル。これは、ストック定義の変更されていないコンテンツを使用する場合でも当てはまります。それ以外の場合は、Geanyで特別に選択したときに.kvファイルで正常に機能します。
また、KivyファイルタイプはデフォルトでGeany内の[ドキュメント]> [ファイルタイプの設定]に一覧表示されて選択されているので、ここで何かをしている必要があります!
私はこの同様の質問がなされたことに気づきましたが、このサイトや他の多くのサイトで関連するすべてのトピックを試したので、解決策は私の場合には無関係のようです。私のGeanyバージョンは1.22で、ArchLinuxを実行しています。これは私を狂わせています-何か提案はありますか?
ありがとうございました!
python - kivy pong チュートリアルの実行時に DLL の読み込みに失敗しました
私はpythonを学び、kivyを使用して小さなアプリケーションを作成して、kivy pythonアプリを紹介しようとしています。しかし、標準のkivyインストールに付属しているpongチュートリアルを機能させることさえできません。サンプル フォルダー内のファイル pong.py を実行すると、次の出力が得られます。
ステートメント中に失敗が発生していると思います:
しかし、なぜこれがうまくいかないのか、なぜ彼らの既製のチュートリアルでさえロードに失敗しているのかはわかりません. この問題を解決する方法を知っている人はいますか?