summaryrefslogtreecommitdiffstats
path: root/python/pykde/examples/pykde-sampler/qt_widgets/table.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/pykde/examples/pykde-sampler/qt_widgets/table.py')
-rw-r--r--python/pykde/examples/pykde-sampler/qt_widgets/table.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/python/pykde/examples/pykde-sampler/qt_widgets/table.py b/python/pykde/examples/pykde-sampler/qt_widgets/table.py
new file mode 100644
index 00000000..d6b6e3ed
--- /dev/null
+++ b/python/pykde/examples/pykde-sampler/qt_widgets/table.py
@@ -0,0 +1,42 @@
+labelText = 'QTable'
+iconName = 'inline_table'
+
+helpText = """From the docs: 'The QTable class provides a flexible
+editable table widget.'
+"""
+
+import csv
+import os
+
+from qt import QFrame, QStringList, QVBoxLayout, SIGNAL
+from qttable import QTable
+
+from kdeui import KTextEdit
+
+contrib = os.path.join(os.path.split(__file__)[0], 'CONTRIB')
+
+
+class MainFrame(QFrame):
+ def __init__(self, parent=None):
+ QFrame.__init__(self, parent)
+ self.help = KTextEdit(helpText, '', self)
+
+ data = csv.reader(open(contrib))
+ header = data.next()
+ items = [item for item in data]
+
+ self.table = table = QTable(len(items), len(header), self)
+ headers = QStringList()
+ for headertext in header:
+ headers.append(headertext)
+ table.setColumnLabels(headers)
+
+ cols = range(len(header))
+ for row, record in enumerate(items):
+ for col in cols:
+ table.setText(row, col, record[col])
+
+ layout = QVBoxLayout(self, 4)
+ layout.addWidget(self.help)
+ layout.addWidget(self.table)
+ layout.addStretch(1)