問題タブ [pygtk]
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.
python - pyGTKアプリケーション内のpyGame
PyGTKアプリケーション内でPyGame(SDL)を使用するための最良の方法は何ですか?
GTKウィンドウに描画領域を設定し、同時にGTKイベントとSDLイベントの両方を管理できる方法を探しています。
python - 空き地または空き地なし:PyGtkを使用する最良の方法は何ですか?
私はしばらくの間Pythonを学んでいて、ある程度の成功を収めています。PyGtk + Gladeを使用して1つまたは2つの(単純な)プログラムを作成することさえできました。
問題は、PythonでGTKを使用する最良の方法が、Gladeを使用してインターフェースを構築することであるかどうかはわかりません。
私たちの中で経験豊富な人(私は初心者であることを忘れないでください)が、コード自体にすべてを作成するのではなく、Gladeを使用することの利点と警告を指摘できるかどうか疑問に思っていました(正しいgtkバインディングを学習することはできないと仮定します)まさに問題になる)。
linux - (のような) GtkTreeView ウィジェットの GtkWidget.events プロパティの目的は何ですか?
GtkTreeView
ウィンドウ内に が含まれる Glade GUI 記述ファイルがGtkHBox
あります。シグナルのハンドラーがありrow_activated
ます。現在、Glade はそのツリービューの「イベント」プロパティ (から継承GtkWidget
) を何らかの値 ( GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
) に自動的に設定しました。そして、これには2つの奇妙なことがあります:
- (プロパティが空になるように)事前設定された値を削除しても、アプリケーションが壊れないようです(少なくとも、私が持っている古いGTK 2.10ではそうではありません)。
- 実際、私が以前見た迷惑なバグ (ツリービュー項目がクリックの展開または折りたたみに正しく反応しない) はなくなりました!
events
私はまだ新しい GTK バージョンでこれをテストしていませんが、問題はすでにそこにあります: このプロパティの正確な目的は何ですか? また、Glade が自動的かつ不必要に値を設定するのはなぜですか? これには、私が気付いていない副作用がありますか?
python - pygtk で新しいシグナルを作成するにはどうすればよいですか
Python オブジェクトを作成しましたが、シグナルを送信したいと考えています。gobject.GObject から継承させましたが、オブジェクトに新しいシグナルを作成する方法がないようです。
python - ネイティブに見えるウィジェットを使用して、MacOS 用の自己完結型 PyGTK アプリケーション バンドルを開発および作成するにはどうすればよいですか?
MacOS X で GTK+をビルドできることを読みました。MacOS で GTK+ アプリケーションのバンドルを作成できることは知っています。また、ネイティブのようなウィジェットを作成できることも知っています。ただし、ネイティブテーマのものを含み、独自の C のメインポイントではなく Python を使用するバンドルを作成する方法については、よくわかりません。PyGTK をビルドできるという噂もありますが、そのプロセスにはまだいくつかの問題があるようです。
ただし、Python ソースからアプリケーションを実行し、ビルドしてアプリ バンドルにデプロイする環境をセットアップする方法を説明するステップバイステップのガイドはありません。どうすればそれを行うことができますか?
python - プログラムでhippo.CanvasEntryにフォーカスしますか?
PyGtk と Hippo Canvas を使用してクリック可能なテキスト ラベルを表示するこの Python プログラムについて考えてみましょう。テキスト ラベルをクリックすると、ラベルのテキストを含む Hippo CanvasEntry ウィジェットに置き換えられます。
テキスト ラベルがクリックされたときに作成された CanvasEntry は、作成時に自動的にフォーカスされるようにするにはどうすればよいですか?
python - PyGTK デスクトップ アプリケーションのモジュールを首尾一貫して整理するにはどうすればよいですか?
私は PyGTK でデスクトップ アプリケーションに取り組んでおり、ファイル編成のいくつかの制限にぶつかっているようです。これまでのところ、プロジェクトを次のように構成しました。
- application.py - プライマリ アプリケーション クラス (ほとんどの機能ルーチン) を保持します。
- gui.py - 疎結合の GTK gui 実装を保持します。シグナルのコールバックなどを処理します。
- command.py - アプリケーション クラスのデータに依存しないコマンド ライン自動化機能を保持します。
- state.py - 状態データの永続性クラスを保持します
これはこれまでのところかなりうまく機能していますが、この時点で application.py がかなり長くなり始めています。私は他の多くの PyGTK アプリケーションを見てきましたが、同様の構造上の問題があるようです。ある時点で、プライマリ モジュールが非常に長くなり始め、明確さとオブジェクト指向を犠牲にすることなく、コードをより狭いモジュールに分割する明確な方法はありません。
GUI を主要なモジュールにし、ツールバー ルーチン、メニュー ルーチンなどに個別のモジュールを用意することを検討しましたが、その時点で、OOP の利点のほとんどを失い、すべてを参照するすべてのシナリオになってしまうと思います。 .
非常に長い中央モジュールを持つことに対処する必要がありますか、それともクラス ブラウザーにあまり依存する必要がないようにプロジェクトを構造化するためのより良い方法はありますか?
編集私
わかりましたので、すべての MVC に関するポイントを取り上げました。私のコードには MVC の大まかな概算がありますが、モデルとコントローラーをさらに分離することで、ある程度の距離を稼ぐことができることは確かです。しかし、私は python-gtkmvc のドキュメントを読んでいます (ちなみに、これは素晴らしい発見です。参照していただきありがとうございます)。私のアプリケーションは 1 つのグレード ファイルで、通常は 1 つのウィンドウです。したがって、モジュールの MVC ロールをどれだけ厳密に定義しても、1 つのコントローラー モジュールでほとんどすべてを実行することになります。確かに、私は適切な MVC の実装について少し曖昧であり、調査を続けますが、そうではありません。
ウィンドウの個別のセクション (ツールバー、メニューなど) に対して個別のコントローラー/ビューのペアを検討する必要がありますか? おそらくそれが私がここで見逃していることです。これは、S. Lott が 2 番目の箇条書きで言及していることのようです。
これまでの回答に感謝します。
python - Windows、Linux、および MacOS で Python からディスプレイのアイドル時間を判断するにはどうすればよいですか?
ユーザーが最後にキーを押したり、マウスを動かしたりしてから、アプリケーションだけでなく、「コンピューター」全体 (つまり、ディスプレイ) でどのくらいの時間が経過したかを知りたいです。コンピューターに接続し、画面にポップアップする通知を観察できます。
これを純粋に (Py)GTK+ から実行したいのですが、プラットフォーム固有の関数を呼び出すことはできます。理想的には、すでに Python からラップされている関数を呼び出したいのですが、それが不可能な場合でも、ctypes
実際に何を探しているかを知っている限り、C やコードの知識はあまりありません。
Windows では、必要な機能は だと思いますがGetLastInputInfo
、それは pywin32 によってラップされていないようです。何かが足りないことを願っています。
python - サイトパッケージのないUbuntuのVirtualenv
私は最近、pythonで開発しているときにvirtualenvを使用しています。--no-site-packages オプションを使用した分離された開発環境のアイデアは気に入っていますが、PyGTK アプリの開発中にこれを行うのは少し難しい場合があります。PyGTK モジュールはデフォルトで Ubuntu にインストールされます。システムの別の場所にある特定のモジュールを仮想環境 (--no-site-packages を使用) に認識させたいと考えています。
これを行う最善の方法は何ですか?または、それを吸い上げて --no-site-packages オプションをドロップする必要がありますか?
python - GTK で実行中のアプリケーションのリストを取得するにはどうすればよいですか?
実行中のアプリケーションのリストを取得するにはどうすればよいですか? 画面下部のパネルにあるものを指しています。