SHOW:
|
|
- or go back to the newest paste.
1 | #!/usr/bin/env python | |
2 | # -*- coding: utf-8 -*- | |
3 | import psycopg2 | |
4 | import sys | |
5 | from PyQt4 import QtCore, QtGui | |
6 | ||
7 | con = None | |
8 | ||
9 | class MainWindow(QtGui.QWidget): | |
10 | - | updateSignal = QtCore.pyqtSignal() |
10 | + | |
11 | def __init__(self, parent=None): | |
12 | super(MainWindow, self).__init__(parent) | |
13 | self.table_widget = QtGui.QTableWidget() | |
14 | self.button = QtGui.QPushButton('Populate') | |
15 | self.button.clicked.connect(self.populate) | |
16 | layout = QtGui.QVBoxLayout() | |
17 | layout.addWidget(self.table_widget) | |
18 | layout.addWidget(self.button) | |
19 | self.setLayout(layout) | |
20 | - | self.updateSignal.connect(self.update_table) |
20 | + | |
21 | ||
22 | def populate(self): | |
23 | con = psycopg2.connect(database='testdb', user='Arthur') | |
24 | cur = con.cursor() | |
25 | cur.execute('SELECT title,fname FROM customer') | |
26 | data = cur.fetchall() | |
27 | ||
28 | linhas = len(data) | |
29 | colunas = len(data[0]) | |
30 | i = 1 | |
31 | j = 0 | |
32 | self.table_widget.setSortingEnabled(True) | |
33 | - | self.table_widget.setSortingEnabled(False) |
33 | + | |
34 | self.table_widget.setColumnCount(colunas) | |
35 | self.table_widget.setHorizontalHeaderLabels(['Titulo', 'Nome']) | |
36 | for i in range(linhas):#percorrer as linhas | |
37 | - | for i in range(linhas):#percorrer as linhas |
37 | + | for j in range(colunas):#percorrer as colunas |
38 | - | for j in range(colunas):#percorrer as colunas |
38 | + | print j |
39 | - | print j |
39 | + | item = QtGui.QTableWidgetItem(data[i][j]) |
40 | - | item = QtGui.QTableWidgetItem(data[i][j]) |
40 | + | self.table_widget.setItem(i, j, item) |
41 | - | self.table_widget.setItem(i, j, item) |
41 | + | # now sort |
42 | - | self.updateSignal.emit() |
42 | + | self.table_widget.sortByColumn(0, QtCore.Qt.DescendingOrder) |
43 | - | self.table_widget.setSortingEnabled(True) |
43 | + | |
44 | ||
45 | - | def update_table(self): |
45 | + | |
46 | - | self.table_widget.sortItems(0,QtCore.Qt.DescendingOrder) |
46 | + | |
47 | wnd = MainWindow() | |
48 | wnd.resize(640, 480) | |
49 | wnd.show() | |
50 | sys.exit(app.exec_()) |