Advertisement
Guest User

Untitled

a guest
Nov 11th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.24 KB | None | 0 0
  1. from PyQt5 import QtCore, QtGui, QtWidgets
  2. from PyQt5.QtWidgets import QApplication, QWidget, QTreeWidgetItem
  3. import sys
  4. import sqlite3
  5.  
  6.  
  7. class Ui_Form(object):
  8. def setupUi(self, Form):
  9. Form.setObjectName("Form")
  10. Form.resize(662, 599)
  11. self.tableWidget = QtWidgets.QTableWidget(Form)
  12. self.tableWidget.setGeometry(QtCore.QRect(0, 100, 671, 501))
  13. self.tableWidget.setObjectName("tableWidget")
  14. self.tableWidget.setColumnCount(5)
  15. self.tableWidget.setRowCount(0)
  16. item = QtWidgets.QTableWidgetItem()
  17. self.tableWidget.setHorizontalHeaderItem(0, item)
  18. item = QtWidgets.QTableWidgetItem()
  19. self.tableWidget.setHorizontalHeaderItem(1, item)
  20. item = QtWidgets.QTableWidgetItem()
  21. self.tableWidget.setHorizontalHeaderItem(2, item)
  22. item = QtWidgets.QTableWidgetItem()
  23. self.tableWidget.setHorizontalHeaderItem(3, item)
  24. item = QtWidgets.QTableWidgetItem()
  25. self.tableWidget.setHorizontalHeaderItem(4, item)
  26. self.comboBox = QtWidgets.QComboBox(Form)
  27. self.comboBox.setGeometry(QtCore.QRect(10, 10, 131, 31))
  28. self.comboBox.setObjectName("comboBox")
  29. self.comboBox.addItem("")
  30. self.comboBox.addItem("")
  31. self.comboBox.addItem("")
  32. self.pushButton = QtWidgets.QPushButton(Form)
  33. self.pushButton.setGeometry(QtCore.QRect(510, 30, 121, 41))
  34. self.pushButton.setObjectName("pushButton")
  35. self.lineEdit = QtWidgets.QLineEdit(Form)
  36. self.lineEdit.setGeometry(QtCore.QRect(10, 50, 131, 31))
  37. self.lineEdit.setObjectName("lineEdit")
  38. self.label = QtWidgets.QLabel(Form)
  39. self.label.setGeometry(QtCore.QRect(180, 30, 111, 16))
  40. self.label.setObjectName("label")
  41. self.lineEdit_2 = QtWidgets.QLineEdit(Form)
  42. self.lineEdit_2.setGeometry(QtCore.QRect(170, 50, 113, 31))
  43. self.lineEdit_2.setObjectName("lineEdit_2")
  44.  
  45. self.retranslateUi(Form)
  46. QtCore.QMetaObject.connectSlotsByName(Form)
  47.  
  48. def retranslateUi(self, Form):
  49. _translate = QtCore.QCoreApplication.translate
  50. Form.setWindowTitle(_translate("Form", "Form"))
  51. item = self.tableWidget.horizontalHeaderItem(0)
  52. item.setText(_translate("Form", "id"))
  53. item = self.tableWidget.horizontalHeaderItem(1)
  54. item.setText(_translate("Form", "title"))
  55. item = self.tableWidget.horizontalHeaderItem(2)
  56. item.setText(_translate("Form", "year"))
  57. item = self.tableWidget.horizontalHeaderItem(3)
  58. item.setText(_translate("Form", "genre"))
  59. item = self.tableWidget.horizontalHeaderItem(4)
  60. item.setText(_translate("Form", "duration"))
  61. self.comboBox.setItemText(0, _translate("Form", "title"))
  62. self.comboBox.setItemText(1, _translate("Form", "year"))
  63. self.comboBox.setItemText(2, _translate("Form", "duration"))
  64. self.pushButton.setText(_translate("Form", "Старт"))
  65. self.label.setText(_translate("Form", "Параметры запроса"))
  66.  
  67.  
  68. class Widget(QWidget, Ui_Form):
  69. def __init__(self):
  70. super().__init__()
  71. self.setupUi(self)
  72. self.pushButton.clicked.connect(self.start)
  73.  
  74. def start(self):
  75. criterion, concern, parametr = self.comboBox.currentText(), self.lineEdit.text(), self.lineEdit_2.text()
  76. res = self.get_info([criterion, concern, parametr])
  77. l = []
  78. for arg_list in res:
  79. rowPosition = self.tableWidget.rowCount()
  80. self.tableWidget.insertRow(rowPosition)
  81. for i in range(len(arg_list)):
  82. self.tableWidget.setItem(rowPosition, i, QtWidgets.QTableWidgetItem(str(arg_list[i])))
  83.  
  84. def get_info(self, st):
  85. lst = st
  86. import os.path
  87. BASE_DIR = os.path.dirname(os.path.abspath(__file__))
  88. db_path = os.path.join(BASE_DIR, "films.db")
  89.  
  90. with sqlite3.connect(db_path) as con:
  91. cur = con.cursor()
  92.  
  93. res = cur.execute(f"""SELECT * FROM Films WHERE {lst[0]} = {lst[1]} WHERE {lst[0]} """ + lst[2]).fetchall()
  94. return res
  95.  
  96.  
  97. if __name__ == '__main__':
  98. app = QApplication(sys.argv)
  99. wid = Widget()
  100. wid.show()
  101. sys.exit(app.exec())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement