Advertisement
Guest User

Untitled

a guest
Jul 9th, 2017
505
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.00 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2.  
  3. # Form implementation generated from reading ui file '/home/pos/Development/DB_Change/Login.ui'
  4. #
  5. # Created by: PyQt5 UI code generator 5.8.1
  6. #
  7. # WARNING! All changes made in this file will be lost!
  8. import sys
  9. from PyQt5.QtWidgets import QApplication,QGridLayout,QMessageBox,QWidget,QTableWidget,QTableWidgetItem ,QTabWidget,QBoxLayout
  10. from PyQt5 import QtCore, QtWidgets
  11. from PyQt5.QtCore import Qt
  12. from PyQt5.QtSql import QSqlDatabase,QSqlQuery
  13. from PyQt5.QtWidgets import QApplication, QWidget, QShortcut
  14. from PyQt5.QtCore import QTimer
  15. from PyQt5.QtGui import QKeySequence
  16. from PyQt5.QtCore import QThread
  17. import datetime
  18. import logging
  19. import os
  20. dirname ="LogFolder"
  21. if not os.path.isdir("./" + dirname + "/"):
  22. os.mkdir("./" + dirname + "/")
  23.  
  24.  
  25. DB_Browser_logger= logging.getLogger()
  26. DB_Browser_logger.setLevel(logging.DEBUG) # or whatever
  27. today=datetime.date.today()
  28.  
  29. handler = logging.FileHandler('./LogFolder/Logfile_%s.log'%today, 'w', 'utf-8') # or whatever
  30. handler.setFormatter = logging.Formatter('%(name)s %(message)s') # or whatever
  31. DB_Browser_logger.addHandler(handler)
  32.  
  33.  
  34. __author__ = "ko john <kimo87@gmail.com>"
  35.  
  36.  
  37. class 클래스명(QWidget):
  38. def __init__(self,type,Ip,dbname,username,PW,parent=None):
  39. super(ServerTable, self).__init__(parent=parent)
  40. self.table=QTableWidget()
  41. self.layout = QGridLayout()
  42. self.setLayout(self.layout)
  43. self.table = QTableWidget()
  44.  
  45. self.db_type = type
  46. self.db_Ip = Ip
  47. self.db_Name = dbname
  48. self.db_UsName = username
  49. self.db_Password = PW
  50.  
  51. self.db =QSqlDatabase.addDatabase(self.db_type)
  52. self.db.setHostName(self.db_Ip)
  53. self.db.setDatabaseName(self.db_Name)
  54. self.db.setUserName(self.db_UsName)
  55. self.db.setPassword(self.db_Password )
  56.  
  57.  
  58. self.layout.addWidget(self.table)
  59. self.Seleccionar()
  60.  
  61. def Seleccionar(self):
  62. self.db =QSqlDatabase.addDatabase(self.db_type)
  63. self.db.setHostName(self.db_Ip)
  64. self.db.setDatabaseName(self.db_Name)
  65. self.db.setUserName(self.db_UsName)
  66. self.db.setPassword(self.db_Password )
  67. estado=self.db.open()
  68. if estado==False:
  69. QMessageBox.warning(self,"Error",self.db.lastError().text(),QMessageBox.Discard)
  70. else:
  71. self.table.setColumnCount(컬럼개수)
  72. self.table.setHorizontalHeaderLabels([컬럼명])
  73. row=0
  74. sql="select * from [테이블명]"
  75. query=QSqlQuery(sql)
  76. while query.next():
  77. self.table.insertRow(row)
  78. [변수명]=QTableWidgetItem(str(query.value(0)))
  79. [변수명]=QTableWidgetItem(str(query.value(1)))
  80. [변수명]=QTableWidgetItem(str(query.value(2)))
  81. [변수명]=QTableWidgetItem(str(query.value(3)))
  82. self.table.setItem(row,0,[컬럼])
  83. self.table.setItem(row, 1, [컬럼)
  84. self.table.setItem(row, 2, [컬럼)
  85. self.table.setItem(row, 3, [컬럼)
  86. row=row+1
  87. self.db.close()
  88.  
  89. def Actualizar(self):
  90. self.db = QSqlDatabase.addDatabase(self.db_type)
  91. self.db.setHostName(self.db_Ip)
  92. self.db.setDatabaseName(self.db_Name)
  93. self.db.setUserName(self.db_UsName)
  94. self.db.setPassword(self.db_Password)
  95. estado=self.db.open()
  96. if estado==False:
  97. QMessageBox.warning(self,"Error",self.db.lastError().text(),QMessageBox.Discard)
  98. else :
  99. column=self.table.currentColumn()
  100. row=self.table.currentRow()
  101. Pid=self.table.item(row,0).text()
  102. value=self.table.currentItem().text()
  103. columns=[[컬럼명]]
  104. query=QSqlQuery()
  105. sql="[쿼리문]"
  106. query.prepare(sql)
  107. query.bindValue(":Pid",Pid)
  108. query.bindValue(":value",value)
  109. buttonReply = QMessageBox.question(self, 'Pos_DB_Browser message', "데이터를 수정합니까??",
  110. QMessageBox.Yes | QMessageBox.Cancel)
  111. if buttonReply == QMessageBox.Yes:
  112. estado=query.exec_()
  113. if estado==False:
  114. QMessageBox.warning(self,"Error",self.db.lastError().text(),QMessageBox.Discard)
  115. self.db.close()
  116. else :
  117. self.db.close()
  118.  
  119. class 클래스명(QWidget):
  120. def __init__(self,type,Ip,dbname,username,PW,parent=None):
  121. super(StationTable, self).__init__(parent=parent)
  122.  
  123. self.db_type = type
  124. self.db_Ip = Ip
  125. self.db_Name = dbname
  126. self.db_UsName = username
  127. self.db_Password = PW
  128.  
  129. self.db = QSqlDatabase.addDatabase(self.db_type)
  130. self.db.setHostName(self.db_Ip)
  131. self.db.setDatabaseName(self.db_Name)
  132. self.db.setUserName(self.db_UsName)
  133. self.db.setPassword(self.db_Password)
  134.  
  135. self.table=QTableWidget()
  136. self.layout = QGridLayout()
  137. self.setLayout(self.layout)
  138. self.table = QTableWidget()
  139. self.layout.addWidget(self.table)
  140. self.Seleccionar()
  141. self.table.itemChanged.connect(self.Actualizar)
  142. QShortcut(QKeySequence('F5'), self, self.Seleccionar)
  143.  
  144. def Seleccionar(self):
  145. self.db = QSqlDatabase.addDatabase(self.db_type)
  146. self.db.setHostName(self.db_Ip)
  147. self.db.setDatabaseName(self.db_Name)
  148. self.db.setUserName(self.db_UsName)
  149. self.db.setPassword(self.db_Password)
  150. estado=self.db.open()
  151. if estado==False:
  152. QMessageBox.warning(self,"Error",self.db.lastError().text(),QMessageBox.Discard)
  153. else:
  154. self.table.setColumnCount([컬럼개수])
  155. self.table.setHorizontalHeaderLabels([컬럼명])
  156. row=0
  157. sql="select * from [테이블명]"
  158. query=QSqlQuery(sql)
  159. while query.next():
  160. self.table.insertRow(row)
  161. [변수명] = QTableWidgetItem(str(query.value(0)))
  162. [변수명]=QTableWidgetItem(str(query.value(1)))
  163. [변수명]=QTableWidgetItem(str(query.value(2)))
  164. self.table.setItem(row, 0 , [컬럼명])
  165. self.table.setItem(row, 1 , [컬럼명])
  166. self.table.setItem(row, 2 , [컬럼명])
  167. row=row+1
  168. self.db.close()
  169.  
  170.  
  171. class 클래스명(QWidget):
  172. def __init__(self,type,Ip,dbname,username,PW,parent=None):
  173. super(Logger_MAP_Table, self).__init__(parent=parent)
  174. self.table=QTableWidget()
  175. self.layout = QGridLayout()
  176. self.setLayout(self.layout)
  177. self.table = QTableWidget()
  178.  
  179. self.db_type = type
  180. self.db_Ip = Ip
  181. self.db_Name = dbname
  182. self.db_UsName = username
  183. self.db_Password = PW
  184.  
  185. self.db = QSqlDatabase.addDatabase(self.db_type)
  186. self.db.setHostName(self.db_Ip)
  187. self.db.setDatabaseName(self.db_Name)
  188. self.db.setUserName(self.db_UsName)
  189. self.db.setPassword(self.db_Password)
  190.  
  191. self.layout.addWidget(self.table)
  192. self.Seleccionar()
  193. QShortcut(QKeySequence('F5'), self, self.Seleccionar)
  194.  
  195.  
  196. def Seleccionar(self):
  197. self.db = QSqlDatabase.addDatabase(self.db_type)
  198. self.db.setHostName(self.db_Ip)
  199. self.db.setDatabaseName(self.db_Name)
  200. self.db.setUserName(self.db_UsName)
  201. self.db.setPassword(self.db_Password)
  202.  
  203. estado=self.db.open()
  204. if estado==False:
  205. QMessageBox.warning(self,"Error",self.db.lastError().text(),QMessageBox.Discard)
  206. else:
  207. self.table.setColumnCount(5)
  208. self.table.setHorizontalHeaderLabels(["[컬렴명]"])
  209. row=0
  210. sql="select * from [테이블명]"
  211. query=QSqlQuery(sql)
  212. while query.next():
  213. self.table.insertRow(row)
  214. Id=QTableWidgetItem(str(query.value(0)))
  215. Logger_ID=QTableWidgetItem(str(query.value(1)))
  216. Channel=QTableWidgetItem(str(query.value(2)))
  217. STT_Logger_ID=QTableWidgetItem(str(query.value(3)))
  218. STT_Channel=QTableWidgetItem(str(query.value(3)))
  219. self.table.setItem(row,0,Id)
  220. self.table.setItem(row, 1, [컬럼명])
  221. self.table.setItem(row, 2, [컬럼명])
  222. self.table.setItem(row, 3, [컬럼명])
  223. self.table.setItem(row, 4, [컬럼명])
  224. row=row+1
  225. self.db.close()
  226.  
  227. class [클래스명](QWidget):
  228. def __init__(self,type,Ip,dbname,username,PW,parent=None):
  229. super(Logdef_Channel_Table, self).__init__(parent=parent)
  230. self.table=QTableWidget()
  231. self.layout = QGridLayout()
  232. self.setLayout(self.layout)
  233. self.table = QTableWidget()
  234.  
  235. self.db_type = type
  236. self.db_Ip = Ip
  237. self.db_Name = dbname
  238. self.db_UsName = username
  239. self.db_Password = PW
  240.  
  241. self.db = QSqlDatabase.addDatabase(self.db_type)
  242. self.db.setHostName(self.db_Ip)
  243. self.db.setDatabaseName(self.db_Name)
  244. self.db.setUserName(self.db_UsName)
  245. self.db.setPassword(self.db_Password)
  246.  
  247. self.layout.addWidget(self.table)
  248. self.Seleccionar()
  249.  
  250. QShortcut(QKeySequence('F5'), self, self.Seleccionar)
  251.  
  252. def Seleccionar(self):
  253. self.db = QSqlDatabase.addDatabase(self.db_type)
  254. self.db.setHostName(self.db_Ip)
  255. self.db.setDatabaseName(self.db_Name)
  256. self.db.setUserName(self.db_UsName)
  257. self.db.setPassword(self.db_Password)
  258. estado=self.db.open()
  259. if estado==False:
  260. QMessageBox.warning(self,"Error",self.db.lastError().text(),QMessageBox.Discard)
  261. else:
  262. self.table.setColumnCount(4)
  263. self.table.setHorizontalHeaderLabels([[컬럼명]])
  264. row=0
  265. sql="select * from [테이블명]"
  266. query=QSqlQuery(sql)
  267. while query.next():
  268. self.table.insertRow(row)
  269. [변수명]=QTableWidgetItem(str(query.value(0)))
  270. [변수명]=QTableWidgetItem(str(query.value(1)))
  271. [변수명]=QTableWidgetItem(str(query.value(2)))
  272. [변수명]=QTableWidgetItem(str(query.value(3)))
  273. [변수명]=QTableWidgetItem(str(query.value(4)))
  274. [변수명]=QTableWidgetItem(str(query.value(5)))
  275. self.table.setItem(row,0,[컬럼명])
  276. self.table.setItem(row, 1, [컬럼명])
  277. self.table.setItem(row, 2, [컬럼명])
  278. self.table.setItem(row, 3, [컬럼명])
  279. self.table.setItem(row, 4, [컬럼명])
  280. self.table.setItem(row, 5, [컬럼명])
  281. row=row+1
  282. self.db.close()
  283.  
  284. class 클래스명(QWidget):
  285. def __init__(self,type,Ip,dbname,username,PW,parent=None):
  286. super(Voip_Setup_table, self).__init__(parent=parent)
  287. self.table=QTableWidget()
  288. self.layout = QGridLayout()
  289. self.setLayout(self.layout)
  290. self.table = QTableWidget()
  291.  
  292. self.db_type = type
  293. self.db_Ip = Ip
  294. self.db_Name = dbname
  295. self.db_UsName = username
  296. self.db_Password = PW
  297.  
  298. self.db = QSqlDatabase.addDatabase(self.db_type)
  299. self.db.setHostName(self.db_Ip)
  300. self.db.setDatabaseName(self.db_Name)
  301. self.db.setUserName(self.db_UsName)
  302. self.db.setPassword(self.db_Password)
  303.  
  304. self.layout.addWidget(self.table)
  305. self.Seleccionar()
  306. self.table.itemChanged.connect(self.Actualizar)
  307.  
  308. QShortcut(QKeySequence('F5'), self, self.Seleccionar)
  309.  
  310.  
  311. def Seleccionar(self):
  312. self.db = QSqlDatabase.addDatabase(self.db_type)
  313. self.db.setHostName(self.db_Ip)
  314. self.db.setDatabaseName(self.db_Name)
  315. self.db.setUserName(self.db_UsName)
  316. self.db.setPassword(self.db_Password)
  317.  
  318. estado=self.db.open()
  319. if estado==False:
  320. QMessageBox.warning(self,"Error",self.db.lastError().text(),QMessageBox.Discard)
  321. else:
  322. self.table.setColumnCount([컬럼갯수])
  323. self.table.setHorizontalHeaderLabels([[컬럼명]])
  324. row=0
  325. sql="select * from [테이블명]"
  326. query=QSqlQuery(sql)
  327. while query.next():
  328. self.table.insertRow(row)
  329. [변수명]=QTableWidgetItem(str(query.value(0)))
  330. [변수명]=QTableWidgetItem(str(query.value(1)))
  331. [변수명]=QTableWidgetItem(str(query.value(2)))
  332. self.table.setItem(row, 0 , [컬럼명])
  333. self.table.setItem(row, 1 , [컬럼명])
  334. self.table.setItem(row, 2 , [컬럼명])
  335. row=row+1
  336. self.db.close()
  337.  
  338. def Actualizar(self):
  339. self.db = QSqlDatabase.addDatabase(self.db_type)
  340. self.db.setHostName(self.db_Ip)
  341. self.db.setDatabaseName(self.db_Name)
  342. self.db.setUserName(self.db_UsName)
  343. self.db.setPassword(self.db_Password)
  344. estado=self.db.open()
  345. if estado==False:
  346. QMessageBox.warning(self,"Error",self.db.lastError().text(),QMessageBox.Discard)
  347. else :
  348. column=self.table.currentColumn()
  349. row=self.table.currentRow()
  350. Phone_CHannel=self.table.item(row,0).text()
  351. value=self.table.currentItem().text()
  352. columns=["phone_ch","phone_ip","phone_num","system_code","maxrecordtime","mincalllength",
  353. "backupmode","agentname","chstatus","usedtim","dtimport"]
  354. query=QSqlQuery()
  355. sql="UPDATE voipchsetup SET " +columns[column]+ "="+":value WHERE phone_ch=:Phone_CHannel"
  356. query.prepare(sql)
  357. query.bindValue(":Phone_CHannel",Phone_CHannel)
  358. query.bindValue(":value",value)
  359. buttonReply = QMessageBox.question(self, 'Pos_DB_Browser message', "데이터를 수정합니까??",
  360. QMessageBox.Yes | QMessageBox.Cancel)
  361. if buttonReply == QMessageBox.Yes:
  362. estado=query.exec_()
  363. if estado==False:
  364. QMessageBox.warning(self,"Error",self.db.lastError().text(),QMessageBox.Discard)
  365. self.db.close()
  366. else :
  367. self.db.close()
  368.  
  369. class MainForm(QWidget):
  370. def __init__(self,type,Ip,dbname,username,PW):
  371. QWidget.__init__(self, flags=Qt.Widget)
  372. DB_Browser_logger.info("%s : 프로그램을 동작 시킵니다. " % datetime.datetime.now())
  373.  
  374. self.db_type = type
  375. self.db_Ip=Ip
  376. self.db_Name=dbname
  377. self.db_UsName=username
  378. self.db_Password=PW
  379.  
  380. self.tbw = QTabWidget()
  381. self.init_widget()
  382.  
  383. def init_widget(self):
  384. self.setWindowTitle("POS_DB_Browser")
  385.  
  386. self.resize(800, 600)
  387. self.setMinimumSize(800,600)
  388. self.setMaximumSize(800,600)
  389.  
  390. form_lbx = QBoxLayout(QBoxLayout.TopToBottom, parent=self)
  391. self.setLayout(form_lbx)
  392. form_lbx.addWidget(self.tbw)
  393.  
  394. self.tab()
  395.  
  396. def tab(self):
  397.  
  398. self.tbw.addTab(클래스명(self.db_type, self.db_Ip, self.db_Name, self.db_UsName, self.db_Password),
  399. 클래스명.__name__)
  400. self.tbw.addTab(클래스명(self.db_type, self.db_Ip, self.db_Name, self.db_UsName, self.db_Password),
  401. 클래스명.__name__)
  402. self.tbw.addTab(클래스명(self.db_type, self.db_Ip, self.db_Name, self.db_UsName, self.db_Password),
  403. 클래스명.__name__)
  404. self.tbw.addTab(클래스명(self.db_type, self.db_Ip, self.db_Name, self.db_UsName, self.db_Password),
  405. 클래스명.__name__)
  406. self.tbw.addTab(클래스명(self.db_type, self.db_Ip, self.db_Name, self.db_UsName, self.db_Password),
  407. 클래스명.__name__)
  408.  
  409.  
  410.  
  411. class Ui_LoginFrom(QWidget):
  412. def setupUi(self, LoginFrom):
  413. LoginFrom.setObjectName("LoginFrom")
  414. LoginFrom.resize(350, 280)
  415. LoginFrom.setMinimumSize(QtCore.QSize(350, 280))
  416. LoginFrom.setMaximumSize(QtCore.QSize(350, 280))
  417. LoginFrom.setSizeIncrement(QtCore.QSize(350, 280))
  418. LoginFrom.setBaseSize(QtCore.QSize(350, 280))
  419. LoginFrom.setLocale(QtCore.QLocale(QtCore.QLocale.Korean, QtCore.QLocale.RepublicOfKorea))
  420. LoginFrom.setFrameShape(QtWidgets.QFrame.StyledPanel)
  421. LoginFrom.setFrameShadow(QtWidgets.QFrame.Raised)
  422.  
  423.  
  424. #label
  425. self.Servel_Label = QtWidgets.QLabel(LoginFrom)
  426. self.Servel_Label.setGeometry(QtCore.QRect(60, 30, 68, 17))
  427. self.Servel_Label.setObjectName("Servel_Label")
  428.  
  429. self.ID_label = QtWidgets.QLabel(LoginFrom)
  430. self.ID_label.setGeometry(QtCore.QRect(100, 80, 31, 17))
  431. self.ID_label.setObjectName("ID_label")
  432.  
  433. self.Pass_label = QtWidgets.QLabel(LoginFrom)
  434. self.Pass_label.setGeometry(QtCore.QRect(50, 130, 68, 17))
  435. self.Pass_label.setObjectName("Pass_label")
  436.  
  437. self.DB_label = QtWidgets.QLabel(LoginFrom)
  438. self.DB_label.setGeometry(QtCore.QRect(50, 180, 71, 20))
  439. self.DB_label.setObjectName("DB_label")
  440.  
  441. #오류형식
  442. self.Errorlabel = QtWidgets.QLabel(LoginFrom)
  443. self.Errorlabel.setGeometry(QtCore.QRect(20, 230, 201, 20))
  444. self.Errorlabel.setText("")
  445. self.Errorlabel.setObjectName("Errorlabel")
  446.  
  447. #textbox
  448. self.ServerIp = QtWidgets.QLineEdit(LoginFrom)
  449. self.ServerIp.setGeometry(QtCore.QRect(130, 20, 211, 31))
  450. self.ServerIp.setInputMask("")
  451. self.ServerIp.setMaxLength(20)
  452. self.ServerIp.setObjectName("ServerIp")
  453.  
  454. self.ID = QtWidgets.QLineEdit(LoginFrom)
  455. self.ID.setGeometry(QtCore.QRect(130, 70, 211, 31))
  456. self.ID.setMaxLength(20)
  457. self.ID.setObjectName("ID")
  458.  
  459. self.Password = QtWidgets.QLineEdit(LoginFrom)
  460. self.Password.setGeometry(QtCore.QRect(130, 120, 211, 31))
  461. self.Password.setMaxLength(20)
  462. self.Password.setEchoMode(QtWidgets.QLineEdit.Password)
  463. self.Password.setObjectName("Password")
  464.  
  465. self.Database = QtWidgets.QLineEdit(LoginFrom)
  466. self.Database.setGeometry(QtCore.QRect(130, 170, 211, 31))
  467. self.Database.setInputMask("")
  468. self.Database.setMaxLength(20)
  469. self.Database.setObjectName("Database")
  470.  
  471. # button
  472. self.Login_Button = QtWidgets.QPushButton(LoginFrom)
  473. self.Login_Button.setGeometry(QtCore.QRect(230, 220, 111, 41))
  474. self.Login_Button.setObjectName("Login_Button")
  475. self.Login_Button.clicked.connect(self.login)
  476.  
  477. self.retranslateUi(LoginFrom)
  478. QtCore.QMetaObject.connectSlotsByName(LoginFrom)
  479.  
  480. def login(self):
  481. self.Databasetype="QMYSQL"
  482. self.server = self.ServerIp.text()
  483. self.user = self.ID.text()
  484. self.pw = self.Password.text()
  485. self.db = self.Database.text()
  486. try:
  487. self.mysqldb = QSqlDatabase.addDatabase(self.Databasetype)
  488. self.mysqldb.setHostName(self.server)
  489. self.mysqldb.setDatabaseName(self.user)
  490. self.mysqldb.setUserName(self.pw)
  491. self.mysqldb.setPassword(self.db)
  492.  
  493. ok = self.mysqldb.open()
  494. if ok==False:
  495. pass
  496. else:
  497. self.dialog = MainForm(self.Databasetype,self.server,self.db,self.user,self.pw)
  498. self.dialog.show()
  499.  
  500.  
  501. except:
  502. QMessageBox.warning(self, "Error", self.db.lastError().text(), QMessageBox.Discard)
  503. def retranslateUi(self, LoginFrom):
  504. _translate = QtCore.QCoreApplication.translate
  505. LoginFrom.setWindowTitle(_translate("LoginFrom", "Login"))
  506. self.Login_Button.setText(_translate("LoginFrom", "Login"))
  507. self.Servel_Label.setText(_translate("LoginFrom", "Server Ip"))
  508. self.ID_label.setText(_translate("LoginFrom", "ID"))
  509. self.Pass_label.setText(_translate("LoginFrom", "Pass word"))
  510. self.DB_label.setText(_translate("LoginFrom", "Database"))
  511.  
  512.  
  513. if __name__ == "__main__":
  514. import sys
  515. app = QtWidgets.QApplication(sys.argv)
  516. LoginFrom = QtWidgets.QFrame()
  517. ui = Ui_LoginFrom()
  518. ui.setupUi(LoginFrom)
  519. LoginFrom.show()
  520. sys.exit(app.exec_())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement