카테고리 없음

pyqt5 table

풍경소리^^ 2020. 3. 16. 05:16

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'app.ui'
#
# Created by: PyQt5 UI code generator 5.13.0
#
# WARNING! All changes made in this file will be lost!


from PyQt5 import QtCore, QtGui, QtWidgets
import pymysql as mdb
import ast

def MyConverter(mydata):
def cvt(data):
try:
return ast.literal_eval(data)

except Exception:
return str(data)
return tuple(map(cvt, mydata))

class Ui_MainWindow(object):

def LoadData(self):
db = mdb.connect('192.168.1.65', '유저아이디','패스워드','디비아이디')

with db:
cur = db.cursor()
rows = cur.execute("select * from sawon")
data = cur.fetchall()

for row in data:
self.addTable(MyConverter(row))

cur.close()

def addTable(self, columns):
rowPosition = self.tableWidget.rowCount()
self.tableWidget.insertRow(rowPosition)

for i, columns in enumerate(columns):
self.tableWidget.setItem(rowPosition, i, QtWidgets.QTableWidgetItem(str(columns)))



def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(463, 427)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.horizontalLayout = QtWidgets.QHBoxLayout(self.centralwidget)
self.horizontalLayout.setObjectName("horizontalLayout")
self.verticalLayout = QtWidgets.QVBoxLayout()
self.verticalLayout.setObjectName("verticalLayout")
self.tableWidget = QtWidgets.QTableWidget(self.centralwidget)
self.tableWidget.setRowCount(8)
self.tableWidget.setColumnCount(3)
self.tableWidget.setObjectName("tableWidget")
self.verticalLayout.addWidget(self.tableWidget)
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.clicked.connect(self.LoadData)
self.pushButton.setObjectName("pushButton")
self.verticalLayout.addWidget(self.pushButton)
self.horizontalLayout.addLayout(self.verticalLayout)
MainWindow.setCentralWidget(self.centralwidget)

self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)

def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "사원관리"))
self.pushButton.setText(_translate("MainWindow", "Load"))


if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())