summaryrefslogtreecommitdiffstats
path: root/python/pyqt/examples3/bigtable.py
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit90825e2392b2d70e43c7a25b8a3752299a933894 (patch)
treee33aa27f02b74604afbfd0ea4f1cfca8833d882a /python/pyqt/examples3/bigtable.py
downloadtdebindings-90825e2392b2d70e43c7a25b8a3752299a933894.tar.gz
tdebindings-90825e2392b2d70e43c7a25b8a3752299a933894.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebindings@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'python/pyqt/examples3/bigtable.py')
-rwxr-xr-xpython/pyqt/examples3/bigtable.py72
1 files changed, 72 insertions, 0 deletions
diff --git a/python/pyqt/examples3/bigtable.py b/python/pyqt/examples3/bigtable.py
new file mode 100755
index 00000000..2c0b46a2
--- /dev/null
+++ b/python/pyqt/examples3/bigtable.py
@@ -0,0 +1,72 @@
+#!/usr/bin/env python
+
+#****************************************************************************
+#** $Id$
+#**
+#** Copyright (C) 1992-1998 Troll Tech AS. All rights reserved.
+#**
+#** This file is part of an example program for PyQt. This example
+#** program may be used, distributed and modified without limitation.
+#**
+#*****************************************************************************/
+
+import sys
+import os
+from qt import *
+from qttable import *
+
+TRUE = 1
+FALSE = 0
+
+numRows = 1000000
+numCols = 1000000
+
+class MyTable(QTable):
+ def __init__(self, r, c):
+ QTable.__init__(self, r, c)
+ self.items = {}
+ self.widgets = {}
+ self.setCaption("This is a big table with 1.000.000x1.000.000 cells...")
+ self.setLeftMargin(self.fontMetrics().width("W999999W"))
+
+ def resizeData(self, v):
+ return
+
+ def item(self, r, c):
+ try:
+ return self.items[self.indexOf(r, c)]
+ except KeyError:
+ return None
+
+ def setItem(self, r, c, i):
+ self.items[self.indexOf(r, c)] = i
+
+ def clearCell(self, r, c):
+ try:
+ del self.items[self.indexOf(r, c)]
+ except KeyError:
+ pass
+
+ def insertWidget(self, r, c, w):
+ self.widgets[self.indexOf(r, c)] = w
+
+ def cellWidget(self, r, c):
+ try:
+ return self.widgets[self.indexOf(r, c)]
+ except KeyError:
+ return None
+
+ def clearCellWidget(self, r, c):
+ try:
+ del self.widgets[self.indexOf(r, c)]
+ except KeyError:
+ pass
+
+
+if __name__ == '__main__':
+ app = QApplication(sys.argv)
+
+ table = MyTable(numRows, numCols)
+ app.setMainWidget(table)
+ table.show()
+ app.exec_loop()