Guest User

Untitled

a guest
Dec 18th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.32 KB | None | 0 0
  1. from PyQt5 import QtCore
  2. from PyQt5 import QtWidgets
  3. from PyQt5 import QtGui
  4. import configparser
  5. import os
  6. from util.excelUtil import *
  7.  
  8.  
  9. class Tabla(QWidget):
  10. '''
  11. Metodo base para la creación de una tabla con el botón de exportación a excel
  12. '''
  13. def __init__(self, contenidoTabla, *args, **kwargs):
  14. super().__init__(*args, **kwargs)
  15.  
  16. #Boton de exportar a excel
  17. self.toolButton = QtWidgets.QToolButton()
  18. icon1 = QtGui.QIcon()
  19. icon1.addPixmap(QtGui.QPixmap(os.getcwd()+"\images\excel_tras.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
  20.  
  21. self.toolButton.setIcon(icon1)
  22. self.toolButton.setObjectName("toolButton")
  23. self.toolButton.clicked.connect(lambda i: exportar(contenidoTabla))
  24.  
  25. #Tabla
  26. contenidoTabla.table = QtWidgets.QTableView()
  27. contenidoTabla.table.setObjectName("table")
  28.  
  29. contenidoTabla.tableWidget = QtWidgets.QTableWidget()
  30. contenidoTabla.tableWidget.setObjectName("tableWidget")
  31. contenidoTabla.tableWidget.setColumnCount(len(contenidoTabla.columnas))
  32. contenidoTabla.tableWidget.setRowCount(len(contenidoTabla.listaDatos))
  33. contenidoTabla.tableWidget.setSortingEnabled(True)
  34. #Definir los eventos de la tabla
  35. contenidoTabla.tableWidget.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
  36. contenidoTabla.tableWidget.setSelectionMode(QtWidgets.QAbstractItemView.SingleSelection)
  37. contenidoTabla.tableWidget.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
  38.  
  39. #Colocamos la cabecera
  40. contenidoTabla.tableWidget.setHorizontalHeaderLabels(contenidoTabla.columnas)
  41. header_view = contenidoTabla.tableWidget.horizontalHeader()
  42. header_view.setSectionResizeMode(QtWidgets.QHeaderView.ResizeToContents)
  43.  
  44. #Layout
  45. contenidoTabla.mainLayout.addWidget(contenidoTabla.tableWidget, 7, 0, 5, 7)
  46. contenidoTabla.mainLayout.addWidget(self.toolButton, 6, 6, 1, 1, QtCore.Qt.AlignRight)
  47.  
  48. #Evento
  49. #contenidoTabla.tableWidget.doubleClicked.connect(self.on_click)
  50. contenidoTabla.tableWidget.cellClicked.connect(self.on_click)
  51.  
  52.  
  53. #Metodo asociado al evento de hacer doble click sobre una fila de la tabla
  54. #@QtCore.pyqtSlot(QtCore.QModelIndex)
  55. def on_click(self, row, column):
  56. print("Row %d and Column %d was clicked" % (row, column))
  57. item = self.table.itemAt(row, column)
  58. self.ID = item.text()
  59.  
  60. def crearTabla(self):
  61. Tabla(self)
Add Comment
Please, Sign In to add comment