Advertisement
Guest User

Untitled

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