首页 > 解决方案 > 如何在 Tablewidget 中将数据从一个文件获取到另一个文件

问题描述

我是 python 新手,我正在做一个个人项目来管理我的研讨会.py 文件,但无法传达两者,有人能给我提示吗?

main index_test.py
    from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
import sys
import DBtest
from PyQt5.uic import loadUiType
import pyodbc

ui,_ = loadUiType('Simple.ui')

class MainApp(QDialog , ui):
    def __init__(self):
        QDialog.__init__(self) #sacar en nombre del UI
        self.setupUi(self) #muestra el ui en esta aplicacion

    def Show_Table():
        DBtest.Show_Clientes(data)




def main():
    app = QApplication(sys.argv)
    window = MainApp()
    window.show()
    app.exec_()

if __name__ == '__main__':
    main()

数据库测试.py

class ShowData():

    def Show_Clientes(self):
        self.db = pyodbc.connect('Driver={SQL Server};'
                                  'Server=PC-ROMO-INGENIE\MTDB;'
                                  'Database=dbsistema;'
                                  'Trusted_Connection=yes;')

        self.cursor = self.db.cursor()
        self.cursor.execute ('''SELECT nombre, RFC, descripcion, direccion, telefono, email FROM cliente Where tipo_cliente = 'Cliente' ''')
        data = self.cursor.fetchall()

        if data :
            self.tableWidget.setRowCount(0)
            self.tableWidget.insertRow(0)
            for row , form in enumerate(data):
                for column , item in enumerate(form):
                    self.tableWidget.setItem(row , column , QTableWidgetItem(str(item)))
                    column += 1
                row_position =  self.tableWidget.rowCount()
                self.tableWidget.insertRow(row_position)

标签: pythonpyqtpyqt5pyodbc

解决方案


解决了它,我必须将 DBtest.py 导入 index.py 并运行

 `from PyQt5.QtCore import *
  from PyQt5.QtGui import *
  from PyQt5.QtWidgets import *
  import sys
  import DBtest #import this py file
  from PyQt5.uic import loadUiType
  import pyodbc

   ui,_ = loadUiType('Simple.ui')


  class MainApp(QDialog , ui):
     def __init__(self):
        QDialog.__init__(self) 
    self.setupUi(self) 
    Show_dbclass = DBtest.Show_Clientes(self)#here 


   def Show_Table(self):
    self.Show_dbclass()

def main():
app = QApplication(sys.argv)
window = MainApp()
window.show()
app.exec_()

if __name__ == '__main__':
   main()` 

推荐阅读