Advertisement
Guest User

Untitled

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