PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Sử dụng psycopg2 và Qthreads cùng nhau (hoặc chỉ postgresql và qthreads) và cập nhật GUI

Bạn đang đóng kết nối cơ sở dữ liệu trước khi vòng lặp chính của Qt được bắt đầu, hãy di chuyển tất cả những thứ liên quan đến Postgres vào chuỗi.

class ThreadClass(QtCore.QThread):
    updateTable = pyqtSignal(dict)

    def __init__(self, parent=None):
        super().__init__()

    def run(self):
        conn = psycopg2.connect("dbname=motocompano_dev user=pg_admin password=pGsql_#--w3N_a0X!s7J-o1U+ host=localhost port=5555")

        cur = conn.cursor()        
        cur.execute("select * from events")
        orderbook = cur.fetchall()

        for rowNum, rowData in enumerate(orderbook):
            self.updateTable.emit({"insertRow": 0})
            for colNum, data in enumerate(rowData):
                self.updateTable.emit({"setItem": [rowNum, colNum, data]})

        cur.close()
        conn.close()



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chèn đúng tên bảng

  2. Giá trị trả lại kết hợp chéo

  3. tiện ích của kiểu mảng là gì?

  4. Cách nhận trạng thái của một truy vấn đang chạy trong cơ sở dữ liệu postgresql

  5. Dấu thời gian postgres now () không thay đổi khi tập lệnh hoạt động