나는 시스템 클립 보드에 이미지를 저장하기 위해 노력하고있어 작동하지 않습니다 시스템 클립 보드에 이미지를 복사, 그래서 나는이 같은 일부 코드 작성 : 슬프게도리눅스
#!/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()
을, 나는 그것이 '아무튼 발견 전혀 일하지 않는다. 그런 다음 해결책을 찾으려고 노력했습니다. 내가 시도한 첫 번째 일은 다음과 같았습니다.
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, 우분투 16.10, 도움이된다면).