summaryrefslogtreecommitdiffstats
path: root/examples3/SQL/sqlsubclass5.py
diff options
context:
space:
mode:
authoraneejit1 <aneejit1@gmail.com>2022-07-28 15:46:19 +0000
committerSlávek Banko <slavek.banko@axis.cz>2022-07-31 16:41:03 +0200
commit4978511ebb7e8d31dab64485d1ac87b6e004be81 (patch)
treea2da3161f070116baa15de7276c5c0c9ac855e8f /examples3/SQL/sqlsubclass5.py
parent5916692cf4c4df4f808e346c9bda1604960a0ff3 (diff)
downloadpytqt-4978511ebb7e8d31dab64485d1ac87b6e004be81.tar.gz
pytqt-4978511ebb7e8d31dab64485d1ac87b6e004be81.zip
Remove Qt V2 support and example files
Build files for pyuic2 have been removed along with the examples for version 2 of Qt and the build/configure scripts have been amended accordingly. The "examples3" directory has been renamed to just "examples". Signed-off-by: aneejit1 <aneejit1@gmail.com> (cherry picked from commit e602246539fd7435aaeb440fcb7f852c92c8426b)
Diffstat (limited to 'examples3/SQL/sqlsubclass5.py')
-rwxr-xr-xexamples3/SQL/sqlsubclass5.py151
1 files changed, 0 insertions, 151 deletions
diff --git a/examples3/SQL/sqlsubclass5.py b/examples3/SQL/sqlsubclass5.py
deleted file mode 100755
index 0fdc78c..0000000
--- a/examples3/SQL/sqlsubclass5.py
+++ /dev/null
@@ -1,151 +0,0 @@
-#!/usr/bin/env python
-
-#****************************************************************************
-#** $Id: sqlsubclass5.py,v 1.3 2002/07/06 13:35:41 phil Exp $
-#**
-#** Copyright (C) 1992-1998 Troll Tech AS. All rights reserved.
-#**
-#** This file is part of an example program for PyTQt. This example
-#** program may be used, distributed and modified without limitation.
-#**
-#*****************************************************************************/
-
-import sys
-from python_tqt.qt import *
-from python_tqt.qtsql import *
-
-from dbconnect import createConnection
-
-TRUE = 1
-FALSE = 0
-
-class CustomTable(TQDataTable):
- def __init__(self, cursor, autoPopulate = FALSE, parent = None, name = None):
- TQDataTable.__init__(self, cursor, autoPopulate, parent, name)
-
- def paintField(self, p, field, cr, b):
- if not field:
- return
- fn = str(field.name())
- if fn == "pricesid":
- query = TQSqlQuery("SELECT name FROM prices WHERE id=%s" %
- field.value().toString())
- value = ""
- if next(query):
- value = query.value(0).toString()
- p.drawText(2, 2, cr.width()-4, cr.height()-4,
- self.fieldAlignment(field), value)
- elif fn == "quantity":
- p.drawText(2, 2, cr.width()-6, cr.height()-4,
- TQt.AlignRight|TQt.AlignVCenter, field.value().toString())
- elif fn in ("price", "cost"):
- v = field.value().toDouble()
- if v < 0:
- p.setPen(TQColor("red"))
- value = TQString("%.2f \u20ac" % v)
- p.drawText(2, 2, cr.width()-6, cr.height()-4,
- TQt.AlignRight|TQt.AlignVCenter, value)
- elif fn == "paiddate":
- if field.value().toDate().isNull():
- v = TQString("not yet")
- p.setPen(TQColor("red"))
- else:
- v = field.value().toDate().toString(TQt.LocalDate)
- p.drawText(2, 2, cr.width()-4, cr.height()-4,
- TQt.AlignHCenter|TQt.AlignVCenter, v)
- else:
- TQDataTable.paintField(self, p, field, cr, b)
-
-
-class InvoiceItemCursor(TQSqlCursor):
- def __init__(self):
- TQSqlCursor.__init__(self, "invoiceitem")
-
- productPrice = TQSqlFieldInfo("price", TQVariant.Double)
- self.append(productPrice)
- self.setCalculated(productPrice.name(), TRUE)
-
- productCost = TQSqlFieldInfo("cost", TQVariant.Double)
- self.append(productCost)
- self.setCalculated(productCost.name(), TRUE)
-
- def calculateField(self, name):
- fn = str(name)
- if fn == "productname":
- query = TQSqlQuery("SELECT name FROM prices WHERE id=%d;" %
- (self.field("pricesid").value().toInt()))
- if next(query):
- return query.value(0)
- elif fn == "price":
- query = TQSqlQuery("SELECT price FROM prices WHERE id=%d;" %
- (self.field("pricesid").value().toInt()))
- if next(query):
- return query.value(0)
- elif fn == "cost":
- query = TQSqlQuery("SELECT price FROM prices WHERE id=%d;" %
- (self.field("pricesid").value().toInt()))
- if next(query):
- return TQVariant(query.value(0).toDouble() *
- self.value("quantity").toDouble())
- return TQVariant(TQString.null)
-
- def primeInsert(self):
- buffer = self.editBuffer()
- buffer.setValue("id", TQVariant(0))
- buffer.setValue("paiddate", TQVariant(TQDate.currentDate()))
- buffer.setValue("quantity", TQVariant(1))
- return buffer
-
-
-class ProductPicker(TQComboBox):
- def __init__(self, parent = None, name = None):
- TQComboBox.__init__(self, parent, name)
- cur = TQSqlCursor("prices")
- cur.select(cur.index("id"))
- while next(cur):
- self.insertItem(cur.value("name").toString(), cur.value("id").toInt())
-
-
-class CustomSqlEditorFactory(TQSqlEditorFactory):
- def __init__(self):
- TQSqlEditorFactory.__init__(self)
-
- def createEditor(self, parent, field):
- try:
- if str(field.name()) == "pricesid":
- return ProductPicker(parent)
- except AttributeError:
- pass
- return TQSqlEditorFactory.createEditor(self, parent, field)
-
-class Table(CustomTable):
- def __init__(self):
- self.invoiceItemCursor = InvoiceItemCursor()
- TQDataTable.__init__(self, self.invoiceItemCursor)
- self.propMap = TQSqlPropertyMap()
- self.editorFactory = CustomSqlEditorFactory()
- self.propMap.insert("ProductPicker", "pricesid")
- self.installPropertyMap(self.propMap)
- self.installEditorFactory(self.editorFactory)
-
- for cn, ch in (("pricesid", "Product"),
- ("quantity", "Quantity"),
- ("price", "Price" ),
- ("cost", "Cost"),
- ("paiddate", "Paid")):
- self.addColumn(cn, ch)
- self.setColumnWidth(0 , 150)
- self.setColumnWidth(1, 70)
- self.resize(600, 250)
- self.refresh()
-
-
-if __name__=='__main__':
- app = TQApplication(sys.argv)
- if createConnection():
- t = Table()
- app.setMainWidget(t)
- t.show()
- app.exec_loop()
-
-