欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python GUI庫圖形界面開發(fā)之PyQt5訪問系統(tǒng)剪切板QClipboard類詳細(xì)使用方法與實(shí)例

 更新時(shí)間:2020年02月27日 16:25:25   作者:jia666666  
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5訪問系統(tǒng)剪切板QClipboard類詳細(xì)使用方法與實(shí)例,需要的朋友可以參考下

PyQt5訪問系統(tǒng)剪切板QClipboard類介紹

QClipboard類提供了對系統(tǒng)剪切板的訪問,可以在應(yīng)用程序之間復(fù)制和粘貼數(shù)據(jù),它的操作類似于QDrag類,,并使用類似的數(shù)據(jù)結(jié)構(gòu)

QApplication類有一個(gè)靜態(tài)方法clipboard(),它的返回值對剪切板對象的引用,任何類型的MimeData都可以從剪切板復(fù)制或粘貼

QClipboard類中的常用方法如表

方法 描述
clear() 清空剪切板的內(nèi)容
setImage() 將QImage對象復(fù)制到剪切板中
setMimeData() 將MIME數(shù)據(jù)設(shè)置為剪切板
setPixmap() 從剪切板中復(fù)制Pixmap對象
setText() 從剪切板中復(fù)制文本
text() 從剪切板中檢索文本

QClipboard類中的常用信號

信號 含義
dataChanged 當(dāng)剪切板內(nèi)容發(fā)生變化時(shí),這個(gè)信號被發(fā)射

QClipboard訪問系統(tǒng)剪切版的使用實(shí)例

import os
import sys
from PyQt5.QtCore import QMimeData
from PyQt5.QtWidgets import (QApplication, QDialog, QGridLayout, QLabel, QPushButton)
from PyQt5.QtGui import QPixmap


class Form(QDialog):
  def __init__(self, parent=None):
    super(Form, self).__init__(parent)

    #創(chuàng)建復(fù)制粘貼按鈕,并添加快捷鍵
    textCopyButton = QPushButton("&Copy Text")
    textPasteButton = QPushButton("Paste &Text")
    htmlCopyButton = QPushButton("C&opy HTML")
    htmlPasteButton = QPushButton("Paste &HTML")
    imageCopyButton = QPushButton("Co&py Image")
    imagePasteButton = QPushButton("Paste &Image")

    #創(chuàng)建文本標(biāo)簽和圖像標(biāo)簽,顯示文本和圖像
    self.textLabel = QLabel("Original text")
    self.imageLabel = QLabel()
    self.imageLabel.setPixmap(QPixmap(os.path.join(
      os.path.dirname(__file__), "E:\pyqt5快速開發(fā)與實(shí)戰(zhàn)\第四章\images\python.png")))

    #設(shè)置柵格布局,并添加部件到相應(yīng)的位置
    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)

    #設(shè)置主窗口的布局,自定義槽函數(shù),設(shè)置標(biāo)題
    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("Clipboard 例子")

  def copyText(self):
    #實(shí)例化剪切板,設(shè)置剪切板的文本
    clipboard = QApplication.clipboard()
    clipboard.setText("I've been clipped!")

  def pasteText(self):
    #實(shí)例化剪切板,標(biāo)簽設(shè)置為剪切板的文本并顯示
    clipboard = QApplication.clipboard()
    self.textLabel.setText(clipboard.text())

  def copyImage(self):
    #實(shí)例化剪切板,設(shè)置剪切板加載的圖想路徑
    clipboard = QApplication.clipboard()
    clipboard.setPixmap(QPixmap(os.path.join(
      os.path.dirname(__file__), "./images/python.png")))

  def pasteImage(self):
    #實(shí)例化剪切板,z設(shè)置圖像標(biāo)簽的圖片加載,從剪切板獲取路徑
    clipboard = QApplication.clipboard()
    self.imageLabel.setPixmap(clipboard.pixmap())

  def copyHtml(self):
    #實(shí)例化MimeData數(shù)據(jù)類型,設(shè)置類型Html的文本
    mimeData = QMimeData()
    mimeData.setHtml("<b>Bold and <font color=red>Red</font></b>")
    #實(shí)例化剪切板,設(shè)置MimeData的初值文本
    clipboard = QApplication.clipboard()
    clipboard.setMimeData(mimeData)

  def pasteHtml(self):
    #實(shí)例化剪切板,,獲取MimeData的數(shù)據(jù),并設(shè)置為標(biāo)簽的文本值
    clipboard = QApplication.clipboard()
    mimeData = clipboard.mimeData()
    if mimeData.hasHtml():
      self.textLabel.setText(mimeData.html())


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

效果圖如下

QClipboard代碼分析

在這個(gè)例子中,有六個(gè)按鈕和2個(gè)標(biāo)簽,需要實(shí)例化Clipboard對象,

可以將文本復(fù)制到Clipboard對象中

#實(shí)例化剪切板,標(biāo)簽設(shè)置為剪切板的文本并顯示
clipboard = QApplication.clipboard()
self.textLabel.setText(clipboard.text())

也可以將圖片復(fù)制到剪切板對象中

clipboard = QApplication.clipboard()
self.imageLabel.setPixmap(clipboard.pixmap())

本文主要講解了python PyQt5訪問系統(tǒng)剪切板QClipboard類詳細(xì)使用方法與實(shí)例,更多相關(guān)知識請查看下面的相關(guān)鏈接

相關(guān)文章

  • python pillow庫的基礎(chǔ)使用教程

    python pillow庫的基礎(chǔ)使用教程

    這篇文章主要介紹了python pillow庫的基礎(chǔ)使用教程,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01
  • Python timer定時(shí)器兩種常用方法解析

    Python timer定時(shí)器兩種常用方法解析

    這篇文章主要介紹了Python timer定時(shí)器兩種常用方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • 用于ETL的Python數(shù)據(jù)轉(zhuǎn)換工具詳解

    用于ETL的Python數(shù)據(jù)轉(zhuǎn)換工具詳解

    這篇文章主要介紹了用于ETL的Python數(shù)據(jù)轉(zhuǎn)換工具,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 淺談Python列表嵌套字典轉(zhuǎn)化的問題

    淺談Python列表嵌套字典轉(zhuǎn)化的問題

    這篇文章主要介紹了淺談Python列表嵌套字典轉(zhuǎn)化的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • 詳解pandas獲取Dataframe元素值的幾種方法

    詳解pandas獲取Dataframe元素值的幾種方法

    這篇文章主要介紹了詳解pandas獲取Dataframe元素值的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Python爬取豆瓣數(shù)據(jù)實(shí)現(xiàn)過程解析

    Python爬取豆瓣數(shù)據(jù)實(shí)現(xiàn)過程解析

    這篇文章主要介紹了Python爬取豆瓣數(shù)據(jù)實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • python實(shí)現(xiàn)飛機(jī)大戰(zhàn)

    python實(shí)現(xiàn)飛機(jī)大戰(zhàn)

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)飛機(jī)大戰(zhàn)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • opencv深入淺出了解機(jī)器學(xué)習(xí)和深度學(xué)習(xí)

    opencv深入淺出了解機(jī)器學(xué)習(xí)和深度學(xué)習(xí)

    機(jī)器學(xué)習(xí)是人工智能的核心,專門研究如何讓計(jì)算機(jī)模擬和學(xué)習(xí)人類的行為。?深度學(xué)習(xí)是機(jī)器學(xué)習(xí)中的一個(gè)熱門研究方向,它主要研究樣本數(shù)據(jù)的內(nèi)在規(guī)律和表示層次,讓計(jì)算機(jī)能夠讓人一樣具有分析與學(xué)習(xí)能力
    2022-03-03
  • python挖礦算力測試程序詳解

    python挖礦算力測試程序詳解

    這篇文章主要介紹了python挖礦算力測試程序詳解的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • django之如何按日期查詢數(shù)據(jù)

    django之如何按日期查詢數(shù)據(jù)

    這篇文章主要介紹了django之如何按日期查詢數(shù)據(jù)問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評論