PyQt5 QClipboard

PyQt5 QClipboard

QClipboard 类提供了对全系统剪贴板的访问,它提供了一个简单的机制来在应用程序之间复制和粘贴数据。它的动作类似于 QDrag 类,并使用类似的数据类型。

QApplication类有一个静态方法 clipboard() ,它返回对clipboard对象的引用。任何类型的MimeData都可以被复制到剪贴板或从剪贴板粘贴。

以下是常用的剪贴板类方法

序号 方法和描述
1 clear() 清除剪贴板内容
2 setImage() 将QImage复制到剪贴板中
3 setMimeData() 设置MIME数据到剪贴板中
4 setPixmap() 将Pixmap对象复制到剪贴板中。
5 setText() 将QString复制到剪贴板中
6 text() 检索剪贴板中的文本

与剪贴板对象相关的信号是

编号:Sr.No. 方法和描述
1 dataChanged() 每当剪贴板数据改变时

例子

在下面的例子中,两个TextEdit对象和两个Pushbuttons被添加到一个顶层窗口。

首先,剪贴板对象被实例化了。textedit对象的Copy()方法将数据复制到系统剪贴板上。当粘贴按钮被点击时,它获取剪贴板数据并粘贴到另一个textedit对象。

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

class Example(QWidget):
   def __init__(self):
      super(Example, self).__init__()

      self.initUI()

   def initUI(self):
      hbox = QVBoxLayout()
      self.edit1=QTextEdit()
      hbox.addWidget(self.edit1)
      self.btn1=QPushButton("Copy")
      hbox.addWidget(self.btn1)
      self.edit2=QTextEdit()
      self.btn2=QPushButton("Paste")
      hbox.addWidget(self.edit2)
      hbox.addWidget(self.btn2)
      self.btn1.clicked.connect(self.copytext)
      self.btn2.clicked.connect(self.pastetext)
      self.setLayout(hbox)

      self.setGeometry(300, 300, 300, 200)
      self.setWindowTitle('Clipboard')
      self.show()

   def copytext(self):

      #clipboard.setText(self.edit1.copy())
      self.edit1.copy()
      print (clipboard.text())

      msg=QMessageBox()
      msg.setText(clipboard.text()+" copied on clipboard")
      msg.exec_()

   def pastetext(self):
      self.edit2.setText(clipboard.text())

app = QApplication(sys.argv)
clipboard=app.clipboard()
ex = Example()
ex.setWindowTitle("clipboard Example")
sys.exit(app.exec_())

上述代码产生了以下输出 —

PyQt5 - QClipboard

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程