You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pytqt/examples/SQL
Michele Calgaro 7d5aea7e84
Use new TQ_METHOD, TQ_SIGNAL, TQ_SLOT defines
4 months ago
..
README temporary commit to show changes 1 year ago
connect.ui Remove Qt V2 support and example files 2 years ago
connect.ui.h temporary commit to show changes 1 year ago
dbconnect.py Use new TQ_METHOD, TQ_SIGNAL, TQ_SLOT defines 4 months ago
dbpar.py Remove Qt V2 support and example files 2 years ago
form1.ui Remove Qt V2 support and example files 2 years ago
form2.ui Remove Qt V2 support and example files 2 years ago
frmconnect.py Use new TQ_METHOD, TQ_SIGNAL, TQ_SLOT defines 4 months ago
frmconnect.ui Remove Qt V2 support and example files 2 years ago
runform1.py Use new TQ_METHOD, TQ_SIGNAL, TQ_SLOT defines 4 months ago
runform2.py Use new TQ_METHOD, TQ_SIGNAL, TQ_SLOT defines 4 months ago
runsqlex.py Use new TQ_METHOD, TQ_SIGNAL, TQ_SLOT defines 4 months ago
sqlcustom1.py Use new TQ_METHOD, TQ_SIGNAL, TQ_SLOT defines 4 months ago
sqlex.ui Remove Qt V2 support and example files 2 years ago
sqlex.ui.h Remove Qt V2 support and example files 2 years ago
sqlsubclass5.py Do rename qt=>tqt on source files, directories and libraries. 1 year ago
sqltable4.py Do rename qt=>tqt on source files, directories and libraries. 1 year ago
testdb_mysql.sql Remove Qt V2 support and example files 2 years ago
testdb_pg.sql Remove Qt V2 support and example files 2 years ago

README

This directory contains some translated sql examples from TQt 3.x.

runform1.py, form1.ui:

  A simple designer generated TQDataTable. Run "pytquic form1.ui -o form1.py".

runform2.py, form2.ui:

  A simple designer generated TQDataBrowser. Run "pytquic form2.ui -o form2.py".

sqlcustom1.py: 

  TQSqlForm based form with a simple custom editor forcing all input to
  be uppercase

sqltable4.py:

  Custom TQDataTable with reimplemented paintField method, combined with
  a TQComboBox based custom field editor (StatusPicker), gathering its
  items from a different table (status) and a calculated column (monsalary).
  Note, that TQSqlEditorFactory based field editors are somewhat restricted,
  because TQt's TQ_PROPERTY feature isn't supported, yet. I've circumvented
  this limitation by choosing the status table ids corresponding to the
  index in the TQComboBox.

sqlsubclass5.py:

  Similar to the former, and even more deviated from its TQt ancestor,
  because the sense escaped me. This could be related to the different
  database layout needed for MySQL (Trolltech used PostgreSQL sequences,
  while we're using the simpler, but less powerful auto_increment here).
  If you enter and invalid date (e.g. day: 0) in the Paid column, it is
  shown as "not yet", but produces some TQt warnings.

runsqlex.py, sqlex.ui, sqlex.ui.h, connect.ui, connect.ui.h:

  This one is a most advanced example, showing the use of a TQSqlCursor
  driven by TQSqlQuery and iterating through database tables and fields.
  Definitely worth a look.

Unfortunately you will have to make sure that these prerequisites are met 
before trying the examples:

  - Install MySQL or PostgreSQL and any development packages

  - Create a database user with sufficient rights

  - Create the testdb database
    - For MySQL, run: mysql -u user -p password < testdb_mysql.sql
    - For PostgreSQL, run: psql -U user template1 -f testdb_pg.sql

  - Build TQt with the mysql and/or psql modules activated.

Now you should be ready for the fun part. You can run dbconnect.py from
a command line and try to connect to the database. If all went well,
'ok' should be printed after pressing OK. If you don't want to enter all
your data over and over again, create a file named local_dbpar.py here,
with the following keys (with your own data, of course):

DB_HOSTNAMES = ["localhost"]
DB_DATABASES = ["testdb"]
DB_USERNAME = "name"
DB_PASSWORD = "pass"

The dbconnect.py script is generated from dbconnect.ui, which was created
with TQt's designer. You can find it also in Boudewijn Rempt's book
"GUI Programming with Python, using the TQt Toolkit". Although you won't find
the SQL widgets discussed there, for the simple reason of the book being
written before they appeared, it is a valuable source for anybody new in
this area.

Please direct any comments, patches and questions to <pytde@mats.gmd.de>.

Good luck

Hans-Peter Jansen <hpj@urpla.net>