問題タブ [pyside]

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 投票する
2 に答える
1458 参照

python - Phonon の VideoWidget が QGLWidget で間違った色を表示する (Qt、Python)

字幕を表示する機能を備えたビデオプレーヤーを含むペット プロジェクトがあります。今まではプロジェクトの他の部分に取り組んでいましたが、今は最善の方法で字幕のレンダリング部分を実装する必要があります。

thisを除いて、その目的に役立つものは何も見つかりませんでした。

しかし、このコードを使用すると、ビデオの画像が間違って表示されます。 赤と青が入れ替わったビデオ フレーム

赤→青、青→赤など、色が変わります。

誰かがこのコードで私を助けてくれますか、またはビデオの上に字幕をレンダリングする別の解決策を教えてくれますか?

PS: PySide 1.0.0、1.0.6、Arch および Ubuntu Linux でテストしました。


編集:回避策

alexisdmのおかげで、醜いハックが利用可能です。paint()色を反転する方法を変更します。

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

python - py2app IOError: [Errno 63] ファイル名が長すぎます:

Python 2.6を使用してOS X 10.6でpy2appを使用してPySideアプリをパッケージ化しようとしています。

py2app がループに陥り、同じディレクトリ パスを再帰的に自分自身に追加しているように見えるという問題が発生し、最終的に上記のように Python ファイルが長すぎる IOError にヒットします。以下は私が得るスタックトレースです

中略... (上下の行と同じ行がたくさんあります)

切り取り...

以下は私のsetup.pyファイルです

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

python - QTextEditコンテキストメニューから標準メニュー項目を削除する方法

だから、私はPySideとQTにかなり慣れていないので、QTextEdit標準コンテキストメニューからmenuitem(元に戻す、やり直し、コピー、貼り付けなど)を削除する方法を知りたいです。

または、このコンテキストメニューのQMenuオブジェクトを取得する方法を教えてください。次に、removeActionメソッドをmenuitemに適用できます。

TIA。

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

python - PyQT SystemWide キーおよびマウス イベントをリッスンする

特定のパターンに一致するシステム全体のキーとマウスのイベントをリッスンして応答するアプリケーションを作成しようとしています。

アプリケーションをバックグラウンドで実行する予定です。いいえ、キーロガーではありません。善意のある合法的なアプリケーションです。

このアプリケーションには PyQT または PySide を使用する予定です。アプリケーション ウィンドウがフォーカスされているときにイベントをリッスンするのはかなり簡単ですが、ウィンドウがまったくない場合はどうすればよいでしょうか?

私は特に OS X に取り組んでいますが、クロスプラットフォーム ソリューションを希望しています。

0 投票する
6 に答える
11462 参照

python - 私のpython QtアプリケーションでMac OSXアプリケーションメニューのメニューバー項目を「Python」以外に設定する

Python と Qt を使用して GUI アプリケーションを作成しています。Mac でアプリケーションを起動すると、画面上部の Mac メニュー バーの最初のメニュー項目が「Python」になります。そこにあるアプリケーション名を自分のアプリケーションの名前にしたいと思います。プログラム名をそこに表示するにはどうすればよいですか?

次のデモ プログラムは、"Python" と "Foo" の 2 つのメニューを含むウィンドウを作成します。私はそれが好きではありません。なぜなら、私がアプリを Python で書いたのか COBOL で書いたのかはユーザーにとって何の違いもないからです。代わりに、メニュー「MyApp」と「Foo」が必要です。

Mac でそのアプリケーション メニュー名を変更するにはどうすればよいですか? 編集:可能であれば、システムのpython(またはユーザーPATHにあるpython)を引き続き使用したいと思います。

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

python - サブクラス化されたQWebViewはハイパーリンククリックに反応しません

これはPython/PySideにあります。

PySide.QtWebKit.QWebViewウィジェットをオーバーロードして、独自の親WebBrowserを作成しようとしています。次に、誰かがウィジェットのリンクをクリックするたびに、無効なWebサイトにアクセスするかどうかを確認します。アクセスしない場合は続行し、アクセスする場合は、一般的なページにリダイレクトします。

そのため、PySide.QtWebKit.QWebViewをサブクラス化しましたが、リンクがクリックされたときに通知を受け取りません。linkClicked関数をオーバーライドしましたが、リンクがクリックされたときに関数が実行されませんか?

私は何が間違っているのですか?関数を実行/ハイパーリンククリック「イベント」に反応できないのはなぜですか?リンクのクリックに反応するには、このクラスではなくWebページオブジェクトをオーバーライドする必要がありますか?

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

python - qt pyside - qsql*model、qabstractitemmodel、qtreeview の相互作用

QTreeView ウィジェットを使用して SQLite3 (フラット) テーブルから階層データを表示し、QDataWidgetMapper を使用していくつかの行編集フィールドに入力し、ユーザーが編集できるようにして、テーブルを更新する、十分に単純なアプリケーションを作成したいと考えています。シンプルで基本的な (ほとんどの場合!)。

私は、次のプロセスがこれを行うための最良の方法であることに基づいて取り組んできました。

  1. データベースに接続
  2. クエリデータ
  3. データからカスタム QAbstractItemModel を作成して入力します (dictノード、親、および子を動的に作成するためにそれを操作します。辞書エントリごとに、関連付けられた親で「ノード」が生成されます)。
  4. QDatawidgetmapper を使用して他のウィジェットを設定する
  5. ユーザーがデータを編集する
  6. QAbstractItemModel (QAIM) が更新されました
  7. 次に、QAIM モデルの新しい値を使用して、UPDATE、INSERT、またはその他のクエリを実行する必要があります。
  8. QAIM および関連するウィジェットを更新します。

QTableView または QListView を使用しているだけであれば、カスタム モデルは必要なく、データベースに直接書き込むことができます。上で概説したプロセスは、2 つのデータ セット、つまり SQLite テーブルとカスタム QAIM を維持し、両方を最新の状態に保つ必要があることを意味しているようです。これは私には少し面倒に思えます.QTreeViewがSQLiteテーブルから直接データを取得する場合、より良い方法があるに違いないと確信しています-フラットデータを階層データに変換するための何らかの操作が明らかに必要です.

もちろん、私は QAbstractItemModel と QSQL*Models の関係を完全に誤解しており、無知のために複雑化しすぎているのではないかと考えています

ありがとう

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

qt - 連絡先リストを電話にインポートする

ユーザーが入力した連絡先リストのレコードを保存するアプリケーションを作成して、後でユーザーが Symbian (および/または Android) 電話内からそれらをインポートできるようにしたいと考えています。私が尋ねているのは、これは可能ですか?もしそうなら、レコードをインポートするためにストアの形式はどうあるべきですか? どんな助けでも大歓迎です。

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

python - QNetworkAccessManager:HTTP経由でファイルを投稿する

QNetworkAccessManagerを使用して、PHPを使用してApacheサーバーに複数のファイルをアップロードする必要があります。

私はPythonadQT(PySide)を初めて使用するので、ここで質問しています。誰かがこれを示すチュートリアルまたはコードの例(python)を持っているかどうかを知りたいです。

注:この種のコンテンツが利用できない場合は、自分でそれを実行し、後でチュートリアルを共有しようとします。

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

python - QSettings(): 現在の作業ディレクトリに保存する方法

フラッシュ/ペン/usb/jump/thumb ドライブから直接実行できるアプリの場合、あるマシンから別のマシンに移動する際の移植性のために、ユーザー設定をメモリ スティックの同じディレクトリに保存することは理にかなっています。プログラムは (マシンごとの Windows/Mac/Linux ユーザーまたはシステム ディレクトリではなく) から実行されています。

QSettings() は便利ですが、現在の作業ディレクトリを使用するように指示できますか?

QSettings() を使用して、実行ごとに画面の位置を維持する小さなプログラム例を次に示します。

この .ini ファイルは、たまたま Windows で実行しているため作成されたものです: C:\Documents and Settings\All Users\Application Data__MyBiz__settings.ini

SystemScope の代わりに UserScope は役に立ちません。機能しなかった
'.'代わりに、 setPath() は基本的に効果がありません。 これも無駄に試しました:'./__settings.ini'

参照: https://doc.qt.io/archives/qt-4.8/qsettings.html http://www.pyside.org/docs/pyside/PySide/QtCore/QSettings.html

PySide に適応する方法がわかりませんが、有望です:
http://www.qtcentre.org/archive/index.php/t-35287.html


更新: alexisdm からの回答が機能するため、更新されたコードは次のとおりです。