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.
Slávek Banko
1638609997
|
8 years ago | |
---|---|---|
.. | ||
README | 12 years ago | |
connect.ui | 13 years ago | |
connect.ui.h | 8 years ago | |
dbconnect.py | 8 years ago | |
dbpar.py | 13 years ago | |
form1.ui | 13 years ago | |
form2.ui | 13 years ago | |
frmconnect.py | 8 years ago | |
frmconnect.ui | 13 years ago | |
runform1.py | 8 years ago | |
runform2.py | 8 years ago | |
runsqlex.py | 8 years ago | |
sqlcustom1.py | 8 years ago | |
sqlex.ui | 13 years ago | |
sqlex.ui.h | 13 years ago | |
sqlsubclass5.py | 8 years ago | |
sqltable4.py | 8 years ago | |
testdb_mysql.sql | 13 years ago | |
testdb_pg.sql | 13 years ago |
README
This directory contains some translated sql examples from TQt 3.x. runform1.py, form1.ui: A simple designer generated TQDataTable. Run "pyuic form1.ui -o form1.py". runform2.py, form2.ui: A simple designer generated TQDataBrowser. Run "pyuic 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 qt 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 qt 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 qt'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>