日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python GUI庫圖形界面開發之PyQt5控件數據拖曳Drag與Drop詳細使用方法與實例

瀏覽:23日期:2022-08-05 15:27:28
PyQt5數據拖曳Drag與Drop介紹

為用戶提供的拖曳功能很直觀,在很對桌面應用程序中,復制或移動對象都可以通過拖曳來完成

基于MIME類型的拖曳數據傳輸是基于QDrag類的,QMimeData對象將關聯的數據與其對應的MIME類型相關聯

MIME意為多功能Internet郵件擴展,它設計的最初目的是為了在發送電子郵件時附加多媒體數據,讓郵件客戶程序能根據其類型進行處理。然而當它被HTTP協議支持之后,它的意義就更為顯著了。它使得HTTP傳輸的不僅是普通的文本,而變得豐富多彩。

每個MIME類型由兩部分組成,前面是數據的大類別,例如聲音audio、圖象image等,后面定義具體的種類。

常見的MIME類型(通用型):

超文本標記語言文本 .html text/html

xml文檔 .xml text/xml

XHTML文檔 .xhtml application/xhtml+xml

普通文本 .txt text/plain

RTF文本 .rtf application/rtf

PDF文檔 .pdf application/pdf

Microsoft Word文件 .word application/msword

PNG圖像 .png image/png

GIF圖形 .gif image/gif

JPEG圖形 .jpeg,.jpg image/jpeg

au聲音文件 .au audio/basic

MIDI音樂文件 mid,.midi audio/midi,audio/x-midi

RealAudio音樂文件 .ra, .ram audio/x-pn-realaudio

MPEG文件 .mpg,.mpeg video/mpeg

AVI文件 .avi video/x-msvideo

GZIP文件 .gz application/x-gzip

TAR文件 .tar application/x-tar

任意的二進制數據 application/octet-stream

MIME類型的數據可以簡單的理解為互聯網上的各種資源,比如文本,音頻和圖片等資源,互聯網上的每一種資源都屬于一種MIME類型的數據

MimeData類函數允許檢測和使用方便的MIME類型 判斷函數 設置函數 獲取函數 MIME類型 hasText() text() setText() text/plain hasHtml() html() setHtml() text/html hasUrls() urls() setUrls() text/url-list hasImage() imageData() setImageData image/* hasColor() colorData() setColrDaata() application/x-color

許多QWidget對象都支持拖曳動作,允許拖曳數據的控件必須設置QWidget.setDragEnabled()為True,另外,控件應該響應拖曳事件,以便儲存所拖曳的數據

常用的拖曳事件如表 事件 描述 DragEnterEvent 當執行一個拖曳控件操作,并且鼠標指針進入該控件時,這個事件將會被觸發。在這個事件中可以獲得被操作的窗口控件,還可以有條件地接受或拒絕該拖曳操作 DragMoveEvent 在拖曳操作進行時會觸發該事件 DragLeaveEvent 當執行一個拖曳操作,并且鼠標指針離開該控件時,這個事件被觸發 DropEvent 當拖曳操作在其目標控件上被釋放時,這個事件將被觸發 Drag拖曳功能實例

import sysfrom PyQt5.QtWidgets import *from PyQt5.QtCore import *from PyQt5.QtGui import *class Combo(QComboBox): def __init__(self,title,parent): super(Combo, self).__init__(parent) #設置為可接受拖曳操作文本 self.setAcceptDrops(True) #當執行一個拖曳控件操作,并且鼠標指針進入該控件時,這個事件將會被觸發。 # 在這個事件中可以獲得被操作的窗口控件,還可以有條件地接受或拒絕該拖曳操作 def dragEnterEvent(self,e): #檢測拖曳進來的數據是否包含文本,如有則接受,無則忽略 if e.mimeData().hasText(): e.accept() else: e.ignore() #當拖曳操作在其目標控件上被釋放時,這個事件將被觸發 def dropEvent(self,e): #添加拖曳文本到條目中 self.addItem(e.mimeData().text())class Example(QWidget): def __init__(self): super(Example, self).__init__() self.initUI() def initUI(self): #表單布局,添加控件 lo=QFormLayout() lo.addRow(QLabel(’請把左邊的文本拖曳到右邊的下拉菜單中’)) #實例化單行文本框,設置為允許拖曳操作 edit=QLineEdit() edit.setDragEnabled(True) #實例化Combo對象,添加控件到布局中 com=Combo(’Button’,self) lo.addRow(edit,com) #設置主窗口布局及標題 self.setLayout(lo) self.setWindowTitle(’簡單的拖曳例子’)if __name__ == ’__main__’: app=QApplication(sys.argv) ex=Example() ex.show() sys.exit(app.exec_())

效果如圖

python GUI庫圖形界面開發之PyQt5控件數據拖曳Drag與Drop詳細使用方法與實例

代碼分析:

在這個例子中,DragEnterEvent會驗證事件的MIM的數據是否包含字符串文本,如果包含字符串文本,就接受事件提出的添加文本操作,并將文本作為新條目(Item)添加到ComboBox控件中,否則忽略這次操作

def dragEnterEvent(self,e): #檢測拖曳進來的數據是否包含文本,如有則接受,無則忽略 if e.mimeData().hasText(): e.accept() else: e.ignore()

本文主要介紹了PyQt5控件數據拖曳Drag與Drop詳細使用方法與實例,更多關于這方面的知識請查看下面的相關鏈接

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产欧美日韩精品一区二区三区| 91精品蜜臀一区二区三区在线| 日韩欧美精品一区| 久久99久久人婷婷精品综合| 国产色99精品9i| 国产欧美久久一区二区三区| 欧美亚洲三级| 国产精久久一区二区| 国产精品免费99久久久| 精品日韩在线| 亚洲精品**中文毛片| 日韩欧美精品综合| 蜜臀91精品国产高清在线观看| 91免费精品| 日本免费久久| 不卡一区综合视频| 视频一区在线播放| 日韩黄色免费网站| 国产日产高清欧美一区二区三区 | 99视频精品视频高清免费| 亚洲伦乱视频| 激情欧美一区| 首页亚洲欧美制服丝腿| 中文字幕日韩亚洲| 国产精品日韩精品中文字幕| 国模大尺度视频一区二区| 日韩精品欧美激情一区二区| 国产一区成人| 日韩av成人高清| 老司机精品视频网| 91精品亚洲| 午夜亚洲福利| 精品国产乱码久久久| 99成人在线视频| 日韩精品一级二级| 里番精品3d一二三区| 亚洲国内精品| 日本欧美一区二区| 久久电影tv| 视频一区视频二区在线观看| 日韩精品国产欧美| 久久精品国产亚洲一区二区三区| 日韩成人亚洲| 在线视频亚洲欧美中文| 久久亚洲人体| 丝袜脚交一区二区| 国产精品99视频| 蜜臀av性久久久久蜜臀aⅴ流畅 | 欧美日韩一区二区高清| 九九精品调教| 青青国产精品| 久久精品av| 国产欧美一区二区三区米奇| 亚洲一级影院| 91精品福利观看| 蜜臀国产一区| 欧美日韩亚洲一区在线观看| 天堂成人国产精品一区| 亚洲欧美日本国产| 久草精品视频| 国产精品普通话对白| 国产一区 二区| 色婷婷久久久| 国产欧美视频在线| 日韩网站中文字幕| 日韩精品一区第一页| 美女精品网站| 日本综合视频| 先锋影音国产一区| 国产日韩欧美一区二区三区| 激情黄产视频在线免费观看| 五月激激激综合网色播| 亚洲欧美综合| 久久亚洲图片| 日韩理论片av| 国产精品一区二区av日韩在线| 欧美日韩亚洲一区二区三区在线| 成人av动漫在线观看| 久久久影院免费| 日本特黄久久久高潮| 欧美精品三级在线| 香蕉久久夜色精品国产| 国产字幕视频一区二区| 久久av免费看| 中日韩男男gay无套| 国产一区二区三区亚洲综合| 亚洲+小说+欧美+激情+另类| 激情综合在线| 国产中文欧美日韩在线 | 色88888久久久久久影院| 国产精品一区二区三区四区在线观看| 模特精品在线| 欧美成人久久| 国产成人黄色| 麻豆成人综合网| 久久精品av麻豆的观看方式| 日韩在线观看一区二区| 久久精品亚洲欧美日韩精品中文字幕| 美女精品久久| 欧美天堂一区| 综合一区在线| 日韩中文欧美在线| 最新日韩欧美| 亚洲激情黄色| 伊人久久亚洲美女图片| 午夜国产一区二区| 久久在线电影| 特黄特色欧美大片| 在线一区视频观看| 久久蜜桃资源一区二区老牛| 亚洲啊v在线| 欧美成人精品三级网站| 国产不卡一区| 精品香蕉视频| 成人在线视频免费| 91视频精品| 久久男人av资源站| 不卡一二三区| 丝袜美腿一区| av在线日韩| 人人精品亚洲| 在线日韩av| 亚洲精品在线观看91| 婷婷综合五月| 国产亚洲激情| 亚洲伊人精品酒店| 日本成人一区二区| 国产亚洲一区| 国产精品探花在线观看| 国产精品宾馆| 卡一卡二国产精品| 成人在线观看免费视频| 精品99久久| а√天堂8资源中文在线| 欧美黄色网页| 激情91久久| 综合一区在线| 国产视频网站一区二区三区| 免费在线欧美黄色| 日韩一区自拍| 伊人成人在线视频| 日韩精品欧美精品| 国产精品久久亚洲不卡| 国产精品一区二区av日韩在线| 欧美黄色精品| 欧洲毛片在线视频免费观看| 在线日韩成人| 欧美精品aa| 香蕉成人av| 国产免费成人| 日韩av一区二区三区| 国语对白精品一区二区| 91精品蜜臀一区二区三区在线| 午夜精品婷婷| 91综合久久爱com| 成人国产精品一区二区免费麻豆| 岛国av在线播放| 鲁大师影院一区二区三区| 亚洲一区二区免费在线观看| 国产精品啊啊啊| 欧美久久天堂| 中文精品在线| 国产精品亚洲四区在线观看| 吉吉日韩欧美| 爽爽淫人综合网网站| 久久av超碰| 久久一级电影| 青青草国产成人99久久| 精品国产免费人成网站| 视频一区国产视频| 卡一卡二国产精品| 亚洲精品电影| 国产精品亚洲人成在99www| 日韩免费小视频| 午夜久久av| 久久久精品久久久久久96 | 黑森林国产精品av| 视频一区在线视频| 国产一区二区三区网| 久久亚洲电影| 视频在线不卡免费观看| 亚洲欧美激情诱惑| 免费看久久久| 欧美综合国产| 国产精品13p| 久久中文字幕二区| 欧美精品三级在线| 蜜桃tv一区二区三区| 国产精成人品2018| 国产精品美女久久久浪潮软件| 国产精品成人3p一区二区三区| 欧美日韩精品免费观看视频完整| 国产三级精品三级在线观看国产| 一区二区三区视频免费观看| 国产精品任我爽爆在线播放| 久久亚洲欧洲| 久久久久国产精品一区二区| 国产精品天堂蜜av在线播放| 久久国产福利| 日韩专区精品|