質問

私は簡単なPyQt4申請を参照以下のコード)を明らかにする問題:場合は選択テキストから QLineEdit でコピーしてくださいクリップボードに、それまでに貼り付けには別のアプリケーションのみを申請してください。ことに口を出て、PyQt用クリアクリップボードになテキストを挿入する適用後の閉めておきます。

めにどうしたらいいのだろうかこの問題を回避するため?

PyQt4.4.3@Python2.5@ないものとします。またこの効果を確認PyQt4.5+、Linuxです。

import sys
from PyQt4 import QtGui
app = QtGui.QApplication(sys.argv)
edit = QtGui.QLineEdit()
edit.setText('foo bar')
edit.show()
app.exec_()
役に立ちましたか?

解決

OK、あるいゆとりのクリップボードが発生します。だQT店舗のポインタのテキストのクリップボードの代わりにだけます。ゴードン-タイラーが問題について意見を交わして この議論のPyQtメーリングリスト を説明しています。ようにコードおよび関連部分の説明をします。

このコードおよび、出口での申請などにcloseEvent handler):

   from PyQt4 import QtGui, QtCore
   clipboard = QtGui.QApplication.clipboard()
   event = QtCore.QEvent(QtCore.QEvent.Clipboard)
   QtGui.QApplication.sendEvent(clipboard, event)

基本コンセプトにしたことによりデフォルトのコピーか のクリップボードのみをコピー、リファレンス/ポインタのソース 願います。それで別のアプリケーションしたいペーストのデータ クリップボードからこのデータソースから願います。呼び出し OleFlushClipboard 原因はWindowsのデータ のクリップボードの代わりに参考にする。このはな 遅延の場合コピーの画像では目立った影響 との文字列です。

上記のコードはクロスプラットフォームと思うの悪影響はLinuxプラットフォーム.

他のヒント

私はGNU / Linuxで同様の問題に遭遇し、(そのアドレスが変更されているが、それでもウェブ検索を介して到達することができます)bialixによって参照サイト上で答えを見つけたときに

私はこの質問につまずきました。最も関連性の高い部分を引用するには:

  あなたがklipperのようなものを持っていない限り、クリップボードの終了を設定するアプリは、クリップボードが空になったときに、

、、Linux上でのことを覚えています。

だからそれがあります。これは、GNU / Linux用のシステムのことです。ここで Ubuntuのウィキでから、より完全な説明があります:

  

これはなぜ起こるのでしょうか?

     Xorgのはコピーに保守的なアプローチをとるので、

問題が起こります。そのコピー元のデータへの参照のみをユーザが選択やコピーを行います。それは行くと、ユーザーがペーストを要求するまで、ソースプログラムから実際のデータを取得しません。それはどこかのクリップボードを保存していないクローズドプログラムからデータを取得する手立てがないの犠牲にして、データの不要な転送この方法の多くを保存します。

あなたは、このようなparcellite、klipper、glipperまたはclipmanとしてクリップボードマネージャをインストールすることによって、それを回避することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top