亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

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

QClipboard類中的常用方法如表

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

QClipboard類中的常用信號

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

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

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)建復制粘貼按鈕,并添加快捷鍵
    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)建文本標簽和圖像標簽,顯示文本和圖像
    self.textLabel = QLabel("Original text")
    self.imageLabel = QLabel()
    self.imageLabel.setPixmap(QPixmap(os.path.join(
      os.path.dirname(__file__), "E:\pyqt5快速開發(fā)與實戰(zhàn)\第四章\images\python.png")))

    #設置柵格布局,并添加部件到相應的位置
    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ù),設置標題
    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):
    #實例化剪切板,設置剪切板的文本
    clipboard = QApplication.clipboard()
    clipboard.setText("I've been clipped!")

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

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

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

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

  def pasteHtml(self):
    #實例化剪切板,,獲取MimeData的數(shù)據(jù),并設置為標簽的文本值
    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代碼分析

在這個例子中,有六個按鈕和2個標簽,需要實例化Clipboard對象,

可以將文本復制到Clipboard對象中

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

也可以將圖片復制到剪切板對象中

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

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

相關文章

  • python pillow庫的基礎使用教程

    python pillow庫的基礎使用教程

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

    Python timer定時器兩種常用方法解析

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

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

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

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

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

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

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

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

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

    python實現(xiàn)飛機大戰(zhàn)

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

    opencv深入淺出了解機器學習和深度學習

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

    python挖礦算力測試程序詳解

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

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

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

最新評論