PyQt5剪切板操作


1、使用剪切板
import sys,math
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class Clipboard(QDialog):
def __init__(self):
super(Clipboard,self).__init__()

#定義六個復制粘貼按鈕,用來實現復制粘貼文本,圖像和HTML網頁
textcopybutton=QPushButton("復制文本")
textpastebutton=QPushButton("粘貼文本")

imagecopybutton = QPushButton("復制圖像")
imagepastebutton = QPushButton("粘貼圖像")

htmlcopybutton = QPushButton("復制HTML網頁")
htmlpastebutton = QPushButton("粘貼HTML網頁")

self.textlabel=QLabel("默認字體") #顯示粘貼的文本label
self.imagelabel=QLabel() #顯示圖像的label
self.imagelabel.setPixmap(QPixmap("./image-1/1-1.jpg"))

#定義網格柵格布局
layout=QGridLayout()
layout.addWidget(textcopybutton,0,0)
layout.addWidget(imagecopybutton,0,1)
layout.addWidget(htmlcopybutton,0,2)
layout.addWidget(textpastebutton,1,0)
layout.addWidget(imagepastebutton,1,1)
layout.addWidget(htmlpastebutton,1,2)

layout.addWidget(self.textlabel,2,0,1,2)
layout.addWidget(self.imagelabel,2,2)
self.setLayout(layout)

#定義按鈕觸發事件
textcopybutton.clicked.connect(self.copytext)
textpastebutton.clicked.connect(self.pastetext)
htmlcopybutton.clicked.connect(self.copyhtml)
htmlpastebutton.clicked.connect(self.pastehtml)
imagecopybutton.clicked.connect(self.copyimage)
imagepastebutton.clicked.connect(self.pasteimage)
self.setWindowTitle("剪切板")

def copytext(self):
clipboard=QApplication.clipboard()
clipboard.setText("hello world")
def pastetext(self):
clipboard = QApplication.clipboard()
self.textlabel.setText(clipboard.text())

def copyimage(self):
clipboard = QApplication.clipboard()
clipboard.setPixmap(QPixmap("./image-1/1-1.jpg"))

def pasteimage(self):
clipboard = QApplication.clipboard()
self.iamgelabel.setPixmap(clipboard.pixmap())

def copyhtml(self):
mimedata=QMimeData()
mimedata.setHtml('<b>Bold and <font color=red>Red</font></b>')
clipboard = QApplication.clipboard()
clipboard.setMimeData(mimedata)

def pastehtml(self):
clipboard = QApplication.clipboard()
mimedata=clipboard.mimeData()
if mimedata.hasHtml():
self.textlabel.setText(mimedata.html())

if __name__=="__main__":
app=QApplication(sys.argv)
p=Clipboard()
p.show()
sys.exit(app.exec_())









免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM