In diesem Artikel wird hauptsächlich die Drag-and-Drop-Funktion von Python3 + PyQt5 ausführlich vorgestellt, die einen gewissen Referenzwert hat.
Dieser Artikel ist eine Rezension von „Python Qt GUI Rapid“. Programmierung“ „Das Drag-and-Drop-Beispiel in Kapitel 10 wurde mit Python3+PyQt5 neu geschrieben. Diagrammlisten, Tabellen usw. werden per Drag-and-Drop miteinander verschoben. Die Grundprinzipien sind dieselben, und setAcceptDrops(True) und setDragEnabled( True) verwendet werden.
#!/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_()
Laufergebnisse:
Verwandte Empfehlungen:
Detaillierte Erklärung der benutzerdefinierten Ansicht von Python3+PyQt5
Python3+PyQt5 implementiert das Histogramm
Python3+PyQt5 implementiert den Dokumentendruck Funktion
Das obige ist der detaillierte Inhalt vonPython3+PyQt5 implementiert die Drag-and-Drop-Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!