したいので無効化を明らかクリップボードに口PyQtすか?
質問
私は簡単な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プラットフォーム.
他のヒント
私はこの質問につまずきました。最も関連性の高い部分を引用するには:
あなたがklipperのようなものを持っていない限り、クリップボードの終了を設定するアプリは、クリップボードが空になったときに、、、Linux上でのことを覚えています。
だからそれがあります。これは、GNU / Linux用のシステムのことです。ここで Ubuntuのウィキでから、より完全な説明があります:
これはなぜ起こるのでしょうか?
Xorgのはコピーに保守的なアプローチをとるので、問題が起こります。そのコピー元のデータへの参照のみをユーザが選択やコピーを行います。それは行くと、ユーザーがペーストを要求するまで、ソースプログラムから実際のデータを取得しません。それはどこかのクリップボードを保存していないクローズドプログラムからデータを取得する手立てがないの犠牲にして、データの不要な転送この方法の多くを保存します。
あなたは、このようなparcellite、klipper、glipperまたはclipmanとしてクリップボードマネージャをインストールすることによって、それを回避することができます。