Advertisement
gantriis97

GUI

Jun 4th, 2018
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.16 KB | None | 0 0
  1. import sys
  2. import pymysql.cursors
  3. from PyQt5.QtWidgets import *
  4. from PyQt5.QtGui import *
  5. from PyQt5.QtCore import *
  6. from PyQt5.Qt import center
  7. from PyQt5 import QtSql
  8.  
  9. cnx = pymysql.connect(user ='root',
  10. password= '1234',
  11. host='127.0.0.1',
  12. database='Rossmann2')
  13. cursor = cnx.cursor()
  14.  
  15. class table(QWidget):
  16. def __init__(self):
  17. super().__init__()
  18. self.left = 10
  19. self.top = 10
  20. self.width = 1115
  21. self.height = 600
  22. self.initUI()
  23.  
  24. def initUI(self):
  25. self.grid = QVBoxLayout(self)
  26. self.tabs = QTabWidget()
  27. self.tab1 = QWidget()
  28. self.tab2 = QWidget()
  29. self.tabs.addTab(self.tab1, "Database")
  30. self.tabs.addTab(self.tab2, "Tilføj")
  31.  
  32. self.createTable()
  33. self.tab1.grid = QVBoxLayout(self)
  34. self.label = QLabel("Butikker")
  35. self.loadButton = QPushButton("Hent")
  36. self.loadButton.clicked.connect(self.loadSQLData)
  37. self.tab1.grid.addWidget(self.label)
  38. self.tab1.grid.addWidget(self.loadButton)
  39. self.tab1.grid.addWidget(self.tableWidget1)
  40. self.tab1.setLayout(self.tab1.grid)
  41.  
  42. name = QLabel("Butiks navn:")
  43. zipcode = QLabel("Post nr:")
  44. city = QLabel("By:")
  45. adress = QLabel("Adresse:")
  46. open_mofr = QLabel("Åben man-fre:")
  47. close_mofr = QLabel("Luk man-fre:")
  48. open_sat = QLabel("Åben lør:")
  49. close_sat = QLabel("Luk lør:")
  50.  
  51. self.nameEdit = QLineEdit()
  52. self.nameEdit.setMaximumWidth(150)
  53. self.zipcodeEdit = QLineEdit()
  54. self.zipcodeEdit.setMaximumWidth(150)
  55. self.cityEdit = QLineEdit()
  56. self.cityEdit.setMaximumWidth(150)
  57. self.adressEdit = QLineEdit()
  58. self.adressEdit.setMaximumWidth(150)
  59. self.open_mofrEdit = QLineEdit()
  60. self.open_mofrEdit.setMaximumWidth(150)
  61. self.close_mofrEdit = QLineEdit()
  62. self.close_mofrEdit.setMaximumWidth(150)
  63. self.open_satEdit = QLineEdit()
  64. self.open_satEdit.setMaximumWidth(150)
  65. self.close_satEdit = QLineEdit()
  66. self.close_satEdit.setMaximumWidth(150)
  67.  
  68. self.tab2.grid = QGridLayout()
  69. self.tab2.grid.setSpacing(10)
  70.  
  71. self.tab2.grid.addWidget(name, 1, 0, 1, 2, Qt.AlignRight)
  72. self.tab2.grid.addWidget(self.nameEdit, 1, 3, 1, 2, Qt.AlignLeft)
  73. self.tab2.setLayout(self.tab2.grid)
  74.  
  75. self.tab2.grid.addWidget(zipcode, 2, 0, 1, 2, Qt.AlignRight)
  76. self.tab2.grid.addWidget(self.zipcodeEdit, 2, 3, 1, 2, Qt.AlignLeft)
  77. self.tab2.setLayout(self.tab2.grid)
  78.  
  79. self.tab2.grid.addWidget(city, 3, 0, 1, 2, Qt.AlignRight)
  80. self.tab2.grid.addWidget(self.cityEdit, 3, 3, 1, 2, Qt.AlignLeft)
  81. self.tab2.setLayout(self.tab2.grid)
  82.  
  83. self.tab2.grid.addWidget(adress, 4, 0, 1, 2, Qt.AlignRight)
  84. self.tab2.grid.addWidget(self.adressEdit, 4, 3, 1, 2, Qt.AlignLeft)
  85. self.tab2.setLayout(self.tab2.grid)
  86.  
  87. self.tab2.grid.addWidget(open_mofr, 5, 0, 1, 2, Qt.AlignRight)
  88. self.tab2.grid.addWidget(self.open_mofrEdit, 5, 3, 1, 2, Qt.AlignLeft)
  89. self.tab2.setLayout(self.tab2.grid)
  90.  
  91. self.tab2.grid.addWidget(close_mofr, 6, 0, 1, 2, Qt.AlignRight)
  92. self.tab2.grid.addWidget(self.close_mofrEdit, 6, 3, 1, 2, Qt.AlignLeft)
  93. self.tab2.setLayout(self.tab2.grid)
  94.  
  95. self.tab2.grid.addWidget(open_sat, 7, 0, 1, 2, Qt.AlignRight)
  96. self.tab2.grid.addWidget(self.open_satEdit, 7, 3, 1, 2, Qt.AlignLeft)
  97. self.tab2.setLayout(self.tab2.grid)
  98.  
  99. self.tab2.grid.addWidget(close_sat, 8, 0, 1, 2, Qt.AlignRight)
  100. self.tab2.grid.addWidget(self.close_satEdit, 8, 3, 1, 2, Qt.AlignLeft)
  101. self.tab2.setLayout(self.tab2.grid)
  102.  
  103. self.saveButton = QPushButton("Tilføj")
  104. self.saveButton.clicked.connect(self.addShop)
  105. self.tab2.grid.addWidget(self.saveButton, 9, 1, 1, 2, Qt.AlignRight)
  106.  
  107. self.grid.addWidget(self.tabs)
  108. self.setLayout(self.grid)
  109.  
  110. self.setGeometry(self.left, self.top, self.width, self.height)
  111. self.show()
  112.  
  113. def createTable(self):
  114. self.object1 = QWidget()
  115. self.object1.setObjectName("object")
  116. self.tableWidget1 = QTableWidget(self.object1)
  117. self.tableWidget1.setObjectName("tableWidget")
  118. self.tableWidget1.setEditTriggers(QAbstractItemView.NoEditTriggers)
  119.  
  120. def loadSQLData(self):
  121. select = ('SELECT Navn_Butik, Postnr, By_Navn, Adresse, Åben_manfre, Luk_manfre, Åben_lør, Luk_lør FROM json_file ORDER BY By_navn;')
  122.  
  123. cursor.execute(select)
  124. result = cursor.fetchall()
  125. self.tableWidget1.setRowCount(0)
  126. self.tableWidget1.setColumnCount(8)
  127. item = QTableWidgetItem("Butiks navn")
  128. self.tableWidget1.setHorizontalHeaderItem(0, item)
  129. item = QTableWidgetItem("Post nr.")
  130. self.tableWidget1.setHorizontalHeaderItem(1, item)
  131. item = QTableWidgetItem("By")
  132. self.tableWidget1.setHorizontalHeaderItem(2, item)
  133. item = QTableWidgetItem("Adresse")
  134. self.tableWidget1.setHorizontalHeaderItem(3, item)
  135. item = QTableWidgetItem("Åbning man-fre")
  136. self.tableWidget1.setHorizontalHeaderItem(4, item)
  137. item = QTableWidgetItem("Luk man-fre")
  138. self.tableWidget1.setHorizontalHeaderItem(5, item)
  139. item = QTableWidgetItem("Åbning lør")
  140. self.tableWidget1.setHorizontalHeaderItem(6, item)
  141. item = QTableWidgetItem("Luk lør")
  142. self.tableWidget1.setHorizontalHeaderItem(7, item)
  143.  
  144. for row_number, row_data in enumerate(result):
  145. self.tableWidget1.insertRow(row_number)
  146. for column_number, data in enumerate(row_data):
  147. self.tableWidget1.setItem(row_number, column_number, QTableWidgetItem(str(data)))
  148.  
  149. self.tableWidget1.setColumnWidth(0,250) #Navn
  150. self.tableWidget1.setColumnWidth(1,75) #Postnr
  151. self.tableWidget1.setColumnWidth(2,150) #By
  152. self.tableWidget1.setColumnWidth(3,200) #Adresse
  153. self.tableWidget1.setColumnWidth(4,90) #Åben man-fre
  154. self.tableWidget1.setColumnWidth(5,80) #Luk man-fre
  155. self.tableWidget1.setColumnWidth(6,80) #Åben lør
  156. self.tableWidget1.setColumnWidth(7,65) #Luk lør
  157.  
  158. def addShop(self):
  159. name1 = self.nameEdit.text()
  160. zipcode1 = self.zipcodeEdit.text()
  161. city1 = self.cityEdit.text()
  162. adress1 = self.adressEdit.text()
  163. open_mofr1 = self.open_mofrEdit.text()
  164. close_mofr1 = self.close_mofrEdit.text()
  165. open_sat1 = self.open_satEdit.text()
  166. close_sat1 = self.close_satEdit.text()
  167.  
  168. query = ('INSERT INTO json_file VALUES (%s, %s, %s, %s, %s, %s, %s, %s)')
  169. cursor.execute(query, (name1, zipcode1, city1, adress1, open_mofr1, close_mofr1, open_sat1, close_sat1))
  170.  
  171.  
  172. if __name__ == '__main__':
  173.  
  174. app = QApplication(sys.argv)
  175. tb = table()
  176. sys.exit(app.exec_())
  177. cnx.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement