python3+PyQt5實現(xiàn)拖放功能
更新時間:2018年04月24日 11:03:49 作者:basisworker
這篇文章主要為大家詳細介紹了python3+PyQt5實現(xiàn)拖放功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文是對《Python Qt GUI快速編程》的第10章的例子拖放用Python3+PyQt5進行改寫,對圖表列表,表格等進行相互拖放,基本原理雷同,均采用setAcceptDrops(True)和setDragEnabled(True)。
#!/usr/bin/env python3 import os import sys from PyQt5.QtCore import Qt from PyQt5.QtWidgets import (QApplication, QDialog, QHBoxLayout, QListWidget, QListWidgetItem, QSplitter, QTableWidget) from PyQt5.QtGui import QIcon class Form(QDialog): def __init__(self, parent=None): super(Form, self).__init__(parent) listWidget = QListWidget() listWidget.setAcceptDrops(True) listWidget.setDragEnabled(True) path = os.path.dirname(__file__) for image in sorted(os.listdir(os.path.join(path, "images"))): if image.endswith(".png"): item = QListWidgetItem(image.split(".")[0].capitalize()) item.setIcon(QIcon(os.path.join(path, "images/{0}".format(image)))) listWidget.addItem(item) iconListWidget = QListWidget() iconListWidget.setAcceptDrops(True) iconListWidget.setDragEnabled(True) iconListWidget.setViewMode(QListWidget.IconMode) tableWidget = QTableWidget() tableWidget.setRowCount(5) tableWidget.setColumnCount(2) tableWidget.setHorizontalHeaderLabels(["Column #1", "Column #2"]) tableWidget.setAcceptDrops(True) tableWidget.setDragEnabled(True) splitter = QSplitter(Qt.Horizontal) splitter.addWidget(listWidget) splitter.addWidget(iconListWidget) splitter.addWidget(tableWidget) layout = QHBoxLayout() layout.addWidget(splitter) self.setLayout(layout) self.setWindowTitle("Drag and Drop") if __name__ == "__main__": app = QApplication(sys.argv) form = Form() form.show() app.exec_()
運行結(jié)果:
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
python爬蟲爬取股票的北上資金持倉數(shù)據(jù)
這篇文章主要介紹了python爬蟲爬取股票的北上資金持倉數(shù)據(jù),文章基于python的相關資料展開爬取數(shù)據(jù)的詳細內(nèi)容,具有一定的參考價值,需要的小伙伴可以參考一下2022-05-05基于Python實現(xiàn)Word轉(zhuǎn)HTML
將Word轉(zhuǎn)換為HTML能將文檔內(nèi)容發(fā)布在網(wǎng)頁上,這樣,用戶就可以通過瀏覽器直接查看或閱讀文檔而無需安裝特定的軟件,下面我們就來學習一下Python是如何實現(xiàn)Word轉(zhuǎn)HTML的吧2023-12-12