Heim  >  Artikel  >  Backend-Entwicklung  >  Python3+PyQt5 implementiert die Drag-and-Drop-Funktion

Python3+PyQt5 implementiert die Drag-and-Drop-Funktion

不言
不言Original
2018-04-24 11:46:453341Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn