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

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

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

瀏覽:26日期: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久久,三上悠亚国产精品一区二区三区
欧美不卡高清一区二区三区| 在线观看免费一区二区| 手机精品视频在线观看| 黑丝一区二区| 日本韩国欧美超级黄在线观看| 国产成人精品一区二区三区视频| 欧美成人一二区| 精品国产鲁一鲁****| 国产成人精品福利| 四季av一区二区凹凸精品| 国产高潮在线| 久久伦理在线| 日韩精品一卡二卡三卡四卡无卡| 中文字幕日韩亚洲| 欧美日韩亚洲一区三区| 国产精品免费不| 国产一区2区| 亚州av乱码久久精品蜜桃| 首页国产欧美日韩丝袜| 亚洲久草在线| 国产精品一国产精品| 国产在线日韩精品| 日韩大片在线| 99国产精品自拍| 日本成人在线一区| 丰满少妇一区| 欧美不卡视频| 亚洲精品一二三**| 精品视频国内| 欧美高清一区| 亚洲精品亚洲人成在线观看| 国产欧美一区二区色老头| 日韩av自拍| 久久xxxx| 国产美女视频一区二区| 国产精品对白| 999久久久91| 日本不卡在线视频| 最新中文字幕在线播放| 在线视频精品| 国产精品亚洲四区在线观看| 久久青草久久| 午夜电影一区| 国产精品精品国产一区二区| 中文亚洲欧美| 国产视频网站一区二区三区| 欧美天堂视频| 日韩精品成人在线观看| 国产精品成人a在线观看| 在线精品视频在线观看高清| 日韩不卡手机在线v区| 鲁鲁在线中文| 日韩综合一区二区三区| 美女网站视频一区| 青草久久视频| 婷婷亚洲五月| 国产精品高清一区二区| 女人天堂亚洲aⅴ在线观看| 青青草伊人久久| 999国产精品视频| 国产日韩亚洲| 欧美女激情福利| 精品免费视频| 亚洲在线久久| 三上悠亚国产精品一区二区三区| 亚洲午夜国产成人| 97se综合| 久久国内精品| 国产精品视区| 日韩在线高清| 国产欧美激情| 亚洲中午字幕| 丝袜美腿诱惑一区二区三区 | 欧美日韩精品在线一区| 国产一卡不卡| 日韩亚洲国产欧美| 日韩电影免费网址| 欧美日韩黄网站| 亚洲黄页一区| 日韩欧美网址| 久久精品天堂| 国产日韩欧美一区二区三区在线观看 | 欧美久久精品| 国产精品呻吟| 99久久99久久精品国产片果冰| 国产精品久久国产愉拍| 亚洲一二三区视频| 宅男噜噜噜66国产日韩在线观看| 国产资源在线观看入口av| 国产精品一区二区三区av麻| 亚洲深夜av| 欧美日韩在线二区| 麻豆国产在线| 国产成人精品一区二区免费看京 | 爽好久久久欧美精品| 久久精品国语| 国产精品久久久久av电视剧| 精品三级国产| 免费在线亚洲| 97久久亚洲| 亚洲v天堂v手机在线| 91精品电影| 国产一区日韩一区| 亚洲二区视频| 99精品一区| 欧美午夜精彩| 日韩精品一区二区三区免费观看| 国产精品不卡| 国产精品蜜芽在线观看| 国产中文欧美日韩在线| 精品美女久久| 国产成人精品999在线观看| 麻豆国产欧美一区二区三区 | 日韩精品第二页| 日日摸夜夜添夜夜添国产精品| 国产视频久久| 国产专区一区| 亚洲午夜黄色| 精品一区亚洲| 日韩午夜在线| 首页亚洲欧美制服丝腿| 男人的天堂亚洲一区| 午夜久久久久| 日韩天堂av| 免费不卡在线视频| 男女激情视频一区| 中文字幕日韩欧美精品高清在线| 中文字幕日本一区| 日韩亚洲精品在线观看| 日本少妇精品亚洲第一区| 一区二区精彩视频| 日韩av成人高清| 国产精品一线天粉嫩av| 欧美精品第一区| 精品国产a一区二区三区v免费| 国产一区二区三区不卡视频网站 | 国产精品18| 国产成人免费av一区二区午夜| 欧美aa一级| 一区在线免费观看| 亚洲一区二区三区在线免费| 久久福利精品| 亚洲精品观看| 麻豆成人av在线| 日韩在线不卡| 香蕉精品999视频一区二区| 视频国产精品| 国产在线一区不卡| 999国产精品永久免费视频app| 亚洲欧洲另类| 91久久精品无嫩草影院| 精品理论电影在线| 1024精品久久久久久久久| 最新国产精品久久久| 国产人成精品一区二区三| 久久精品伊人| 黄色在线观看www| 午夜久久tv| 欧美久久一区二区三区| yellow在线观看网址| 亚洲精品va| 青青国产精品| 国产v日韩v欧美v| 久热综合在线亚洲精品| 欧美日韩一区二区三区在线电影| 91亚洲人成网污www| 欧美精品一区二区三区精品| 亚洲精品护士| 精品九九在线| 在线一区电影| 国产精品激情| 视频福利一区| 日本不卡高清| 97精品国产一区二区三区| 亚洲欧美视频| 国产精品极品国产中出| 99久久精品国产亚洲精品| 亚洲一级淫片| 欧产日产国产精品视频| 日韩毛片一区| 日本免费一区二区三区四区| 亚洲精一区二区三区| 久久电影tv| 综合激情网站| 亚洲精品一区三区三区在线观看| 日韩手机在线| 精精国产xxxx视频在线野外| 日韩精品视频在线看| 99成人在线视频| 国产精品密蕾丝视频下载| 亚洲免费高清| 精品久久精品| 日韩欧美精品一区二区综合视频| 日本欧美不卡| 国产毛片精品久久| 老司机久久99久久精品播放免费| 日本一区二区免费高清| 欧美一级网址| 国产美女精品| 成人片免费看|