0431QClipboard

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

class demoQClipboard(QDialog):
    def __init__(self):
        super(demoQClipboard, self).__init__()

        #创建对象
        txtCopyButton = QPushButton('&Copy Text')
        txtPasteButton = QPushButton('Paste &Text')

        htmlCopyButton = QPushButton('C&opy HTML')
        htmlPasteButton = QPushButton('Paste &HTML')

        imageCopyButton = QPushButton('Co&py Image')
        imagePasteButton = QPushButton('Paste &Image')

        self.txtLbl = QLabel()
        self.picLbl = QLabel()
        self.picLbl.setPixmap(QPixmap(os.path.join(os.path.dirname(__file__), './pic.jpg')))

        self.setWindowTitle('0431QClipboard')

        #布局代码
        layout = QGridLayout()
        layout.addWidget(txtCopyButton, 0, 0)
        layout.addWidget(imageCopyButton, 0, 1)
        layout.addWidget(htmlCopyButton, 0, 2)
        layout.addWidget(txtPasteButton, 1, 0)
        layout.addWidget(imagePasteButton, 1, 1)
        layout.addWidget(htmlPasteButton, 1, 2)
        # QGridLayout.addWidget(widget, row, column, 占多少行, 占多少列)
        layout.addWidget(self.txtLbl, 2, 0, 1, 2)
        layout.addWidget(self.picLbl, 2, 2)
        self.setLayout(layout)

        #建立信号与槽
        txtCopyButton.clicked.connect(self.copyTxt)
        txtPasteButton.clicked.connect(self.pasteTxt)
        htmlCopyButton.clicked.connect(self.copyHtml)
        htmlPasteButton.clicked.connect(self.pasteHtml)
        imageCopyButton.clicked.connect(self.copyPic)
        imagePasteButton.clicked.connect(self.pastePic)

    def copyTxt(self):
        #新建一个剪切板对象
        cp = QApplication.clipboard()
        #给剪切板输入内容
        cp.setText('I have been clipped')

    def pasteTxt(self):
        cp = QApplication.clipboard()
        #从剪切板取得内容,然后填入label对象
        self.txtLbl.setText(cp.text())

    def copyPic(self):
        cp = QApplication.clipboard()
        cp.setPixmap(QPixmap(os.path.join(os.path.dirname(__file__), './tpic.jpg')))

    def pastePic(self):
        cp = QApplication.clipboard()
        self.picLbl.setPixmap(cp.pixmap())

    def copyHtml(self):
        mimeData = QMimeData()
        mimeData.setHtml("<b>Bold and <font color=red>red</font></b>")
        cp = QApplication.clipboard()
        cp.setMimeData(mimeData)

    def pasteHtml(self):
        cp = QApplication.clipboard()
        mimeData = cp.mimeData()
        if mimeData.hasHtml():
            self.txtLbl.setText(mimeData.html())

if __name__ == '__main__':
    app = QApplication(sys.argv)
    win = demoQClipboard()
    win.show()
    sys.exit(app.exec_())

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值