Делаю табличку qt, хочу чтобы можно было любую таблицу сделать для этого надо знать количество столбцов, количество строк понятно как, также заголовки столбцов таблицы,еще непонятно как разделить строку чтобы каждый столбец всунуть в ячейку
import pymysql.cursors
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QWidget, QAction, QTableWidget,QTableWidgetItem,QVBoxLayout
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import pyqtSlot
class App(QWidget):
def __init__(self):
super().__init__()
self.title = 'Users'
self.left = 0
self.top = 0
self.width = 300
self.height = 200
self.initUI(print_hi())
def initUI(self, cursor):
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.createTable(cursor)
# Add box layout, add table to box layout and add box layout to widget
self.layout = QVBoxLayout()
self.layout.addWidget(self.tableWidget)
self.setLayout(self.layout)
# Show widget
self.show()
def createTable(self, cursor):
# Create table
self.tableWidget = QTableWidget()
self.tableWidget.setRowCount(cursor.rowcount)
desc = cursor.description
self.tableWidget.setColumnCount(1)
print(desc[0][0]+'\n')
print(desc[1][0]+'\n')
print(desc[2][0]+'\n')
print(desc[3][0]+'\n')
print(desc[4][0]+'\n')
print(desc[5][0]+'\n')
print(desc[6][0]+'\n')
print(desc[7][0]+'\n')
#for(row in cursor)
# self.tableWidget.setItem(0, 0, QTableWidgetItem("Cell (1,1)"))
# self.tableWidget.setItem(0, 1, QTableWidgetItem("Cell (1,2)"))
# self.tableWidget.setItem(1, 0, QTableWidgetItem("Cell (2,1)"))
# self.tableWidget.setItem(1, 1, QTableWidgetItem("Cell (2,2)"))
# self.tableWidget.setItem(2, 0, QTableWidgetItem("Cell (3,1)"))
# self.tableWidget.setItem(2, 1, QTableWidgetItem("Cell (3,2)"))
# self.tableWidget.setItem(3, 0, QTableWidgetItem("Cell (4,1)"))
# self.tableWidget.setItem(3, 1, QTableWidgetItem("Cell (4,2)"))
self.tableWidget.move(0, 0)
# table selection change
self.tableWidget.doubleClicked.connect(self.on_click)
@pyqtSlot()
def on_click(self):
print("\n")
for currentQTableWidgetItem in self.tableWidget.selectedItems():
print(currentQTableWidgetItem.row(), currentQTableWidgetItem.column(), currentQTableWidgetItem.text())
def print_hi():
# Use a breakpoint in the code line below to debug your script.
# Подключиться к базе данных.
connection = pymysql.connect(host='185.26.122.4',
user='host6491_root',
password='R0oT',
db='host6491_test',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
print("connect successful!!")
try:
with connection.cursor() as cursor:
# SQL
sql = "SELECT * FROM `users`"
# Выполнить команду запроса (Execute Query).
cursor.execute(sql)
print("cursor.description: ", cursor.description)
print()
for row in cursor:
print(row)
finally:
# Закрыть соединение (Close connection).
connection.close()
return cursor
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())