ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

PyQt5基础学习-QApplication.clipboard(剪切板) 1.clipboard.setText(设置剪切板的文字) 2.clipboard.text(获得剪切板文字) 3.clip

2022-01-31 22:01:37  阅读:308  来源: 互联网

标签:layout self QApplication clipboard 设置 剪切板 addWidget


通过复制和粘贴文本, 复制和粘贴图片, 通过复制和粘贴html来演示剪切板的功能

"""
使用剪切板

"""

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__()
        textCopyButton = QPushButton("复制文本")
        textPasteButton = QPushButton("粘贴文本")

        htmlCopyButton = QPushButton("复制HTML")
        htmlPasteButton = QPushButton("粘贴HTML")

        imageCopyButton = QPushButton("复制图像")
        imagePasteButton = QPushButton("粘贴图像")

        self.textLabel = QLabel("默认文本")
        self.imageLabel = QLabel()
        #self.imageLabel.setPixmap(QPixmap("D:\PyQt5_Study\picture\F6fhJr.jpg"))

        layout = QGridLayout()
        layout.addWidget(textCopyButton, 0, 0)
        layout.addWidget(htmlCopyButton, 0, 1)
        layout.addWidget(imageCopyButton, 0, 2)
        layout.addWidget(textPasteButton, 1, 0)
        layout.addWidget(htmlPasteButton, 1, 1)
        layout.addWidget(imagePasteButton, 1, 2)

        layout.addWidget(self.textLabel, 2, 0, 1, 2)
        layout.addWidget(self.imageLabel, 2, 2)

        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("剪切板演示")
        self.setLayout(layout)
    
    #复制文本
    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("D:\PyQt5_Study\picture\F6fhJr.jpg"))
    #粘贴图片
    def pasteImage(self):
        clipboard = QApplication.clipboard()
        self.imageLabel.setPixmap(clipboard.pixmap())
    #复制html 
    def copyHtml(self):
        #构造html的类
        mimeData = QMimeData()
        mimeData.setHtml("<b> Bold and <font color = red>Red</font></b>")
        clipboard = QApplication.clipboard()
        clipboard.setMimeData(mimeData)
    
    #粘贴html 
    def pasteHtml(self):
        clipboard = QApplication.clipboard()
        mimeData = clipboard.mimeData()
        if mimeData.hasHtml():
            self.textLabel.setText(mimeData.html())

if __name__ == "__main__":
    app = QApplication(sys.argv)

    main = ClipBoard()
    main.show()

    sys.exit(app.exec_())

 

标签:layout,self,QApplication,clipboard,设置,剪切板,addWidget
来源: https://www.cnblogs.com/hyq-lst/p/15858649.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有