Advertisement
Guest User

Untitled

a guest
May 20th, 2018
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.26 KB | None | 0 0
  1.  
  2. #Gui for Normal
  3.  
  4. import sys
  5. import pymysql.cursors
  6. from PyQt5.QtWidgets import*
  7. from PyQt5.QtGui import *
  8. from PyQt5.QtCore import *
  9. from PyQt5.Qt import center
  10. from PyQt5 import QtSql
  11.  
  12.  
  13. cnx= pymysql.connect(user ='root',
  14. password= '1234',
  15. host='127.0.0.1',
  16. database='jsondb')
  17. cursor = cnx.cursor()
  18.  
  19. class window(QWidget):
  20. def __init__(self):
  21. super().__init__()
  22. self.title = 'Normal konkurenter'
  23. self.left = 10
  24. self.top = 10
  25. self.width = 800
  26. self.height = 400
  27. self.initUI()
  28.  
  29. def initUI(self):
  30. self.setWindowTitle(self.title)
  31. self.setGeometry(self.left, self.top, self.width, self.height)
  32.  
  33. self.grid = QVBoxLayout(self)
  34. self.tabs = QTabWidget()
  35. self.tab1 = QWidget()
  36. self.tab2 = QWidget()
  37. self.tabs.addTab(self.tab1, "Tysk Database",)
  38. self.tabs.addTab(self.tab2, "Tilføj ny butik")
  39.  
  40. self.createTable1()
  41. self.tab1.grid = QVBoxLayout(self)
  42. self.label = QLabel("Butikker")
  43. self.loadButton = QPushButton("Hent data")
  44. self.loadButton.clicked.connect(self.loadSQLData)
  45. self.tab1.grid.addWidget(self.label)
  46. self.tab1.grid.addWidget(self.loadButton)
  47. self.tab1.grid.addWidget(self.tableWidget1)
  48. self.tab1.setLayout(self.tab1.grid)
  49. self.label=QLabel(self)
  50. self.label.setPixmap(QPixmap('normal.png'))
  51. self.label.setGeometry(10,10,800,400)
  52.  
  53. name = QLabel("Butiks navn:")
  54. zipcode = QLabel("Post nr:")
  55. city = QLabel("By:")
  56. adress = QLabel("Adresse:")
  57.  
  58. self.nameEdit = QLineEdit()
  59. self.nameEdit.setPlaceholderText('Skriv butik navn')
  60. self.nameEdit.setMaximumWidth(150)
  61. self.zipcodeEdit = QLineEdit()
  62. self.zipcodeEdit.setPlaceholderText('Skriv postnr')
  63. self.zipcodeEdit.setMaximumWidth(150)
  64. self.cityEdit = QLineEdit()
  65. self.cityEdit.setPlaceholderText('Skriv by navn')
  66. self.cityEdit.setMaximumWidth(150)
  67. self.adressEdit = QLineEdit()
  68. self.adressEdit.setPlaceholderText('Skriv butiks adresse')
  69. self.adressEdit.setMaximumWidth(150)
  70.  
  71. self.tab2.grid = QGridLayout()
  72. self.tab2.grid.setSpacing(10)
  73.  
  74. self.tab2.grid.addWidget(name, 1, 0, 1, 2, Qt.AlignRight)
  75. self.tab2.grid.addWidget(self.nameEdit, 1, 3, 1, 2, Qt.AlignLeft)
  76. self.tab2.setLayout(self.tab2.grid)
  77.  
  78. self.tab2.grid.addWidget(zipcode, 2, 0, 1, 2, Qt.AlignRight)
  79. self.tab2.grid.addWidget(self.zipcodeEdit, 2, 3, 1, 2, Qt.AlignLeft)
  80. self.tab2.setLayout(self.tab2.grid)
  81.  
  82. self.tab2.grid.addWidget(city, 3, 0, 1, 2, Qt.AlignRight)
  83. self.tab2.grid.addWidget(self.cityEdit, 3, 3, 1, 2, Qt.AlignLeft)
  84. self.tab2.setLayout(self.tab2.grid)
  85.  
  86. self.tab2.grid.addWidget(adress, 4, 0, 1, 2, Qt.AlignRight)
  87. self.tab2.grid.addWidget(self.adressEdit, 4, 3, 1, 2, Qt.AlignLeft)
  88. self.tab2.setLayout(self.tab2.grid)
  89.  
  90.  
  91.  
  92. self.saveButton = QPushButton("Gem", self)
  93. self.saveButton.clicked.connect(self.AddData)
  94. self.tab2.grid.addWidget(self.saveButton, 9, 1, 1, 2, Qt.AlignRight)
  95.  
  96. self.grid.addWidget(self.tabs)
  97. self.setLayout(self.grid)
  98.  
  99. self.setGeometry(self.left, self.top, self.width, self.height)
  100. self.show()
  101.  
  102. # def clickMethod(self):
  103. # print( + self.line.text())
  104. def createTable1(self):
  105. self.object1 = QWidget()
  106. self.object1.setObjectName("object")
  107. self.tableWidget1 = QTableWidget(self.object1)
  108. self.tableWidget1.setObjectName("tableWidget")
  109. self.tableWidget1.setEditTriggers(QAbstractItemView.NoEditTriggers)
  110.  
  111. def loadSQLData(self):
  112. cursor.execute("SELECT* FROM TyskKonkurenter")
  113. results=cursor.fetchall()
  114.  
  115. # self.tableWidget1.setRowCount(0)
  116. self.tableWidget1.setColumnCount(5)
  117.  
  118. item = QTableWidgetItem("Butiks navn")
  119. self.tableWidget1.setHorizontalHeaderItem(0, item)
  120. item = QTableWidgetItem("Post nr.")
  121. self.tableWidget1.setHorizontalHeaderItem(1, item)
  122. item = QTableWidgetItem("By")
  123. self.tableWidget1.setHorizontalHeaderItem(2, item)
  124. item = QTableWidgetItem("Adresse")
  125.  
  126. self.tableWidget1.setHorizontalHeaderItem(3, item)
  127.  
  128. for row_number, row_data in enumerate(results):
  129. self.tableWidget1.insertRow(row_number)
  130. for column_number, data in enumerate(row_data):
  131. self.tableWidget1.setItem(row_number, column_number, QTableWidgetItem(str(data)))
  132.  
  133.  
  134. # self.tableWidget1.setColumnWidth(0,50) #Butik id
  135. self.tableWidget1.setColumnWidth(0,250) #Butiksnavn
  136. self.tableWidget1.setColumnWidth(1,80) #Postnr
  137. self.tableWidget1.setColumnWidth(2,150) #By
  138. self.tableWidget1.setColumnWidth(3,300)
  139.  
  140.  
  141. def AddData(self):
  142.  
  143. with cnx:
  144.  
  145. cursor.execute("INSERT INTO TyskKonkurenter(Navne_Butik,Postnr,By_Navn, Adresse)"
  146. "VALUES ( ' %s', '%s', '%s', '%s')" % (''.join(self.nameEdit.text()),
  147. ''.join(self.zipcodeEdit.text()),
  148. ''.join(self.cityEdit.text()),
  149. ''.join(self.adressEdit.text())))
  150. QMessageBox.about(self,'connection','Data indsættes i databassen. klik på knap Tysk database for at se det' )
  151. self.close()
  152.  
  153. def closeEvent(self, event):
  154. close = QMessageBox.question(self,
  155. "QUIT",
  156. "Sure?",
  157. QMessageBox.Yes | QMessageBox.No)
  158. if close == QMessageBox.Yes:
  159. event.accept()
  160. else:
  161. event.ignore()
  162.  
  163.  
  164.  
  165. if __name__ == '__main__':
  166.  
  167. app = QApplication(sys.argv)
  168. Window = window()
  169. sys.exit(app.exec_())
  170. cnx.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement