上では動作しません。私は、システムのクリップボードに画像を保存しようとしているので、私はこのようないくつかのコードを書いた:悲しいことは、Linux
#!/usr/bin/python3
from PyQt5.Qt import QApplication
from PyQt5.QtWidgets import QWidget, QPushButton
from PyQt5.Qt import QImage
import sys
class MyWidget(QWidget):
def __init__(self):
super(MyWidget, self).__init__()
self.button = QPushButton(self)
self.button.clicked.connect(self.copyPicToClip)
def copyPicToClip(self):
image = QImage('./test.jpg')
QApplication.clipboard().setImage(image)
self.close()
if __name__ == '__main__':
a = QApplication(sys.argv)
myW = MyWidget()
myW.show()
a.exec()
を、私はそれはdoesnの発見しましたまったく働きません。そして解決策を見つけようとしました。私が試した最初のことは次のとおりでした:
def copyPicToClip(self):
image = QImage('./test.jpg')
QApplication.clipboard().setImage(image)
# self.close()
この後、私はそれがうまくいくことを発見しましたが、ウィンドウは自動的に閉じません。
それから私は、コピーテキストを試してみました:
#!/usr/bin/python3
from PyQt5.Qt import QApplication, QClipboard
from PyQt5.QtWidgets import QWidget, QPushButton
from PyQt5.Qt import QImage
import sys
class MyWidget(QWidget):
def __init__(self):
super(MyWidget, self).__init__()
self.button = QPushButton(self)
self.button.clicked.connect(self.copyPicToClip)
QApplication.clipboard().dataChanged.connect(self.testFunc)
def copyPicToClip(self):
image = QImage('./test.jpg')
QApplication.clipboard().setImage(image)
def testFunc(self):
print('Here')
self.close()
if __name__ == '__main__':
a = QApplication(sys.argv)
myW = MyWidget()
myW.show()
a.exec()
悲しいことに、それが再び失敗しました。
私はアプリケーションを早く終了すると、画像はクリップボードに保存されないようです。しかし、私はクリップボードに画像をコピーした後に閉じたいです。
提案がありますか?
(PyQt5、ubuntu 16.10、役立つ場合)。