# QSqlDatabase Class Reference
## [[QtSql](index.htm) module]
該QSqlDatabase類表示一個到數據庫的連接。[More...](#details)
### Methods
* `__init__ (self)`
* `__init__ (self, QSqlDatabase?other)`
* `__init__ (self, QString?type)`
* `__init__ (self, QSqlDriver?driver)`
* `close (self)`
* `bool commit (self)`
* `QString connectionName (self)`
* `QString connectOptions (self)`
* `QString databaseName (self)`
* `QSqlDriver driver (self)`
* `QString driverName (self)`
* `QSqlQuery exec_ (self, QString?query?=?QString())`
* `QString hostName (self)`
* `bool isOpen (self)`
* `bool isOpenError (self)`
* `bool isValid (self)`
* `QSqlError lastError (self)`
* `QSql.NumericalPrecisionPolicy numericalPrecisionPolicy (self)`
* `bool open (self)`
* `bool open (self, QString?user, QString?password)`
* `QString password (self)`
* `int port (self)`
* `QSqlIndex primaryIndex (self, QString?tablename)`
* `QSqlRecord record (self, QString?tablename)`
* `bool rollback (self)`
* `setConnectOptions (self, QString?options?=?QString())`
* `setDatabaseName (self, QString?name)`
* `setHostName (self, QString?host)`
* `setNumericalPrecisionPolicy (self, QSql.NumericalPrecisionPolicy?precisionPolicy)`
* `setPassword (self, QString?password)`
* `setPort (self, int?p)`
* `setUserName (self, QString?name)`
* `QStringList tables (self, QSql.TableType?type?=?QSql.Tables)`
* `bool transaction (self)`
* `QString userName (self)`
### Static Methods
* `QSqlDatabase addDatabase (QString?type, QString?connectionName?=?QLatin1String(QSqlDatabase.defaultConnection))`
* `QSqlDatabase addDatabase (QSqlDriver?driver, QString?connectionName?=?QLatin1String(QSqlDatabase.defaultConnection))`
* `QSqlDatabase cloneDatabase (QSqlDatabase?other, QString?connectionName)`
* `QStringList connectionNames ()`
* `bool contains (QString?connectionName?=?QLatin1String(QSqlDatabase.defaultConnection))`
* `QSqlDatabase database (QString?connectionName?=?QLatin1String(QSqlDatabase.defaultConnection), bool?open?=?True)`
* `QStringList drivers ()`
* `bool isDriverAvailable (QString?name)`
* `registerSqlDriver (QString?name, QSqlDriverCreatorBase?creator)`
* `removeDatabase (QString?connectionName)`
* * *
## Detailed Description
該QSqlDatabase類表示一個到數據庫的連接。
該QSqlDatabase類提供了通過連接訪問數據庫的接口。 QSqlDatabase的實例代表連接。連接經由一個可訪問數據庫[supported database drivers](index.htm#supported-databases),其衍生自[QSqlDriver](qsqldriver.html)。或者,您也可以從繼承自己的數據庫驅動程序[QSqlDriver](qsqldriver.html)。看[How to Write Your Own Database Driver](index.htm#how-to-write-your-own-database-driver)了解更多信息。
通過調用靜態的創建一個連接(即QSqlDatabase的實例)[addDatabase](qsqldatabase.html#addDatabase)( )函數,在這里您可以指定[the driver or type of driver](index.htm#supported-databases)使用(比如,你要訪問什么樣的數據庫? )和一個連接名稱。一個連接是由它自己的名字眾所周知,_not_由數據庫的名稱將其連接到。你可以有多個連接到一個數據庫。 QSqlDatabase還支持的概念_default_連接,這是未命名的連接。要創建默認的連接,當你調用不通過連接名稱參數[addDatabase](qsqldatabase.html#addDatabase)( ) 。隨后,當你調用任何靜態成員函數,它的連接名稱的說法,如果你不通過連接名稱參數,則假定為默認連接。下面的代碼片斷顯示了如何創建并打開一個默認連接到PostgreSQL數據庫:
```
QSqlDatabase db = QSqlDatabase.addDatabase("QPSQL");
db.setHostName("acidalia");
db.setDatabaseName("customdb");
db.setUserName("mojito");
db.setPassword("J0a1m8");
bool ok = db.open();
```
一旦QSqlDatabase對象已經創建,以設置連接參數[setDatabaseName](qsqldatabase.html#setDatabaseName)( )[setUserName](qsqldatabase.html#setUserName)( )[setPassword](qsqldatabase.html#setPassword)( )[setHostName](qsqldatabase.html#setHostName)( )[setPort](qsqldatabase.html#setPort)()和[setConnectOptions](qsqldatabase.html#setConnectOptions)( ) 。然后調用[open](qsqldatabase.html#open)( )來激活到數據庫的物理連接。該連接不可用,直到你打開它。
上面定義的連接將是_default_連接,因為我們沒有給一個連接名稱[addDatabase()](qsqldatabase.html#addDatabase)。隨后,您可以通過調用得到的默認連接[database](qsqldatabase.html#database)( )無連接名稱參數:
```
QSqlDatabase db = QSqlDatabase.database();
```
QSqlDatabase是一個值類。通過QSqlDatabase的一個實例數據庫連接所做的更改將影響QSqlDatabase ,代表相同的連接其他實例。使用[cloneDatabase](qsqldatabase.html#cloneDatabase)()來創建基于現有一個獨立的數據庫連接。
如果你創建多個數據庫連接,為每一個指定一個唯一的連接名稱,當你調用[addDatabase](qsqldatabase.html#addDatabase)( ) 。使用[database](qsqldatabase.html#database)( )有一個連接名稱來獲取連接。使用[removeDatabase](qsqldatabase.html#removeDatabase)( )有一個連接名稱刪除的連接。如果您嘗試刪除其他QSqlDatabase對象引用的連接QSqlDatabase輸出一個警告。使用[contains](qsqldatabase.html#contains)( ),看看是否一個給定的連接名稱為連接列表。
一旦建立了連接,你可以調用[tables](qsqldatabase.html#tables)()來獲取數據庫中,調用表的列表[primaryIndex](qsqldatabase.html#primaryIndex)()來獲取一個表的主索引,并調用[record](qsqldatabase.html#record)( )來獲取有關表的字段(例如,字段名)的元信息。
**Note:** [QSqlDatabase.exec](qsqldatabase.html#exec)( )已過時。使用[QSqlQuery.exec](qsqlquery.html#exec)( )來代替。
如果驅動程序支持的交易,使用[transaction](qsqldatabase.html#transaction)( )來啟動一個事務,[commit](qsqldatabase.html#commit)()或[rollback](qsqldatabase.html#rollback)()來完成它。使用[hasFeature()](qsqldriver.html#hasFeature)請問如果驅動程序支持的交易。**Note:**當使用事務時,必須啟動該交易在創建查詢之前。
如果一個錯誤發生,[lastError](qsqldatabase.html#lastError)( )將返回有關它的信息。
獲取可用的SQL驅動程序的名稱與[drivers](qsqldatabase.html#drivers)( ) 。檢查與特定驅動程序的存在[isDriverAvailable](qsqldatabase.html#isDriverAvailable)( ) 。如果您已經創建自己的自定義驅動程序,您必須進行注冊[registerSqlDriver](qsqldatabase.html#registerSqlDriver)( ) 。
* * *
## Method Documentation
```
QSqlDatabase.__init__ (self)
```
創建一個空的,無效的[QSqlDatabase](qsqldatabase.html)對象。使用[addDatabase](qsqldatabase.html#addDatabase)( )[removeDatabase](qsqldatabase.html#removeDatabase)()和[database](qsqldatabase.html#database)( )來獲取有效的[QSqlDatabase](qsqldatabase.html)對象。
```
QSqlDatabase.__init__ (self, QSqlDatabase?other)
```
創建副本_other_。
```
QSqlDatabase.__init__ (self, QString?type)
```
這是一個重載函數。
創建[QSqlDatabase](qsqldatabase.html)使用由所述的驅動程序連接_type_。如果_type_無法識別,數據庫連接將沒有任何功能。
目前可用的驅動器類型有:
| Driver Type | Description |
| --- | --- |
| QDB2 | IBM DB2 |
| QIBASE | Borland InterBase Driver |
| QMYSQL | MySQL Driver |
| QOCI | Oracle Call Interface Driver |
| QODBC | ODBC Driver (includes Microsoft SQL Server) |
| QPSQL | PostgreSQL Driver |
| QSQLITE | SQLite version 3 or above |
| QSQLITE2 | SQLite version 2 |
| QTDS | Sybase Adaptive Server |
額外的第三方驅動程序,包括您自己的自定義驅動程序,可以動態加載。
**See also** [SQL Database Drivers](index.htm),[registerSqlDriver](qsqldatabase.html#registerSqlDriver)()和[drivers](qsqldatabase.html#drivers)( ) 。
```
QSqlDatabase.__init__ (self, QSqlDriver?driver)
```
這是一個重載函數。
創建使用給定的數據庫連接_driver_。
```
QSqlDatabase QSqlDatabase.addDatabase (QString?type, QString?connectionName?=?QLatin1String(QSqlDatabase.defaultConnection))
```
[
增加了一個數據庫,以數據庫連接使用的驅動程序的列表_type_和連接名稱_connectionName_。如果已經存在一個名為數據庫連接_connectionName_,則該連接被刪除。
數據庫連接是通過被稱為_connectionName_。返回新添加的數據庫連接。
](qsqldatabase.html)
[If _type_不可用或無法加載,](qsqldatabase.html)[isValid](qsqldatabase.html#isValid)( )返回False 。
If _connectionName_沒有指定,則新的連接成為應用程序的默認連接,并隨后調用[database](qsqldatabase.html#database)( )無連接名稱參數將返回默認的連接。如果_connectionName_這里提供的,使用的數據庫(_connectionName_)來檢索連接。
**Warning:**如果您添加了具有相同名稱的現有連接的連接,新的連接將會取代舊的。如果你調用這個函數一次以上,而無需指定_connectionName_,默認的連接將是一個替代。
使用連接之前,它必須被初始化。例如,調用一些或全部[setDatabaseName](qsqldatabase.html#setDatabaseName)( )[setUserName](qsqldatabase.html#setUserName)( )[setPassword](qsqldatabase.html#setPassword)( )[setHostName](qsqldatabase.html#setHostName)( )[setPort](qsqldatabase.html#setPort)()和[setConnectOptions](qsqldatabase.html#setConnectOptions)( ) ,最后是[open](qsqldatabase.html#open)( ) 。
**Note:**這個功能是[thread-safe](index.htm#thread-safe)。
**See also** [database](qsqldatabase.html#database)( )[removeDatabase](qsqldatabase.html#removeDatabase)()和[Threads and the SQL Module](index.htm#threads-and-the-sql-module)。
```
QSqlDatabase QSqlDatabase.addDatabase (QSqlDriver?driver, QString?connectionName?=?QLatin1String(QSqlDatabase.defaultConnection))
```
[](qsqldatabase.html)
[當你想創建一個數據庫連接此重載很有用](qsqldatabase.html)[driver](qsqldriver.html)你實例化你自己。這可能是你自己的數據庫驅動程序,或者你可能只需要自己實例化Qt的驅動力之一。如果你這樣做,建議您在您的應用程序的驅動程序代碼。例如,您可以創建自己的QPSQL驅動這樣一個PostgreSQL連接:
```
#include "qtdir/src/sql/drivers/psql/qsql_psql.cpp"
PGconn *con = PQconnectdb("host=server user=bart password=simpson dbname=springfield");
QPSQLDriver *drv = new QPSQLDriver(con);
[QSqlDatabase](qsqldatabase.html) db = [QSqlDatabase](qsqldatabase.html).addDatabase(drv); // becomes the new default connection
[QSqlQuery](qsqlquery.html) query;
query.exec_("SELECT NAME, ID FROM STAFF");
...
```
上面的代碼設置了一個PostgreSQL連接并實例化一個QPSQLDriver對象。接下來,[addDatabase](qsqldatabase.html#addDatabase)()被調用,以連接添加到已知的連接,這樣它可用于通過Qt的SQL類。當驅動程序被實例化一個連接句柄(或一組手柄) , Qt的假設你已經打開了數據庫連接。
**Note:**我們假設`qtdir`是安裝Qt的目錄。這將拉動中所需要使用的PostgreSQL客戶端庫和實例化一個QPSQLDriver對象的代碼,假設你有PostgreSQL的頭放在你的頭文件搜索路徑。
請記住,你必須鏈接您的應用程序對數據庫客戶端庫。確保客戶端庫是在你的鏈接器的搜索路徑,并添加像這些行到你的`.pro`文件:
```
unix:LIBS += -lpq
win32:LIBS += libpqdll.lib
```
該方法描述的作品,所有提供的驅動程序。唯一的區別是在驅動程序構造器參數。下面是包含了Qt的驅動程序,其源代碼文件,以及它們的構造函數的參數表:
| Driver | Class name | Constructor arguments | File to include |
| --- | --- | --- | --- |
| QPSQL | QPSQLDriver | PGconn *connection | `qsql_psql.cpp` |
| QMYSQL | QMYSQLDriver | MYSQL *connection | `qsql_mysql.cpp` |
| QOCI | QOCIDriver | OCIEnv *environment, OCISvcCtx *serviceContext | `qsql_oci.cpp` |
| QODBC | QODBCDriver | SQLHANDLE environment, SQLHANDLE connection | `qsql_odbc.cpp` |
| QDB2 | QDB2 | SQLHANDLE environment, SQLHANDLE connection | `qsql_db2.cpp` |
| QTDS | QTDSDriver | LOGINREC *loginRecord, DBPROCESS *dbProcess, const [QString](qstring.html) &hostName | `qsql_tds.cpp` |
| QSQLITE | QSQLiteDriver | sqlite *connection | `qsql_sqlite.cpp` |
| QIBASE | QIBaseDriver | isc_db_handle connection | `qsql_ibase.cpp` |
主機名稱(或服務名稱)正在建設中的QTDSDriver建立內部查詢的新連接時需要。這是為了防止阻塞幾個時[QSqlQuery](qsqlquery.html)物同時使用。
**Warning:**添加具有相同的連接名稱與現有連接的數據庫連接,使現有連接被新的所取代。
**Warning:**在SQL框架采用的所有權_driver_。它不能被刪除。要刪除連接,請使用[removeDatabase](qsqldatabase.html#removeDatabase)( ) 。
**See also** [drivers](qsqldatabase.html#drivers)( ) 。
```
QSqlDatabase QSqlDatabase.cloneDatabase (QSqlDatabase?other, QString?connectionName)
```
[](qsqldatabase.html)
[克隆數據庫連接_other_和并將其存儲為_connectionName_。所有從原始數據庫的設置,例如](qsqldatabase.html)[databaseName](qsqldatabase.html#databaseName)( )[hostName](qsqldatabase.html#hostName)( )等,被復制的對面。什么都不做,如果_other_是一個無效的數據庫。返回新創建的數據庫連接。
**Note:**新的連接沒有被打開。使用新的連接之前,你必須調用[open](qsqldatabase.html#open)( ) 。
```
QSqlDatabase.close (self)
```
關閉數據庫連接,釋放佔用的所有資源和無效的任何現有[QSqlQuery](qsqlquery.html)所使用的數據庫對象。
這也將影響到這個份[QSqlDatabase](qsqldatabase.html)對象。
**See also** [removeDatabase](qsqldatabase.html#removeDatabase)( ) 。
```
bool QSqlDatabase.commit (self)
```
提交事務對數據庫如果驅動程序支持事務和[transaction](qsqldatabase.html#transaction)( )已經啟動。回報`true`如果操作成功。否則返回`false`。
**Note:**對于某些數據庫,提交會失敗,并返回`false`如果有一個[active query](qsqlquery.html#isActive)使用該數據庫的`SELECT`。使查詢[inactive](qsqlquery.html#isActive)在做之前提交。
Call [lastError](qsqldatabase.html#lastError)( )以獲取有關錯誤的信息。
**See also** [QSqlQuery.isActive](qsqlquery.html#isActive)( )[QSqlDriver.hasFeature](qsqldriver.html#hasFeature)()和[rollback](qsqldatabase.html#rollback)( ) 。
```
QString QSqlDatabase.connectionName (self)
```
返回連接的名稱,這可能是空的。**Note:**連接名稱是不[database name](qsqldatabase.html#databaseName)。
此功能被引入Qt的4.4 。
**See also** [addDatabase](qsqldatabase.html#addDatabase)( ) 。
```
QStringList QSqlDatabase.connectionNames ()
```
返回一個包含所有連接的名稱的列表。
**Note:**這個功能是[thread-safe](index.htm#thread-safe)。
**See also** [contains](qsqldatabase.html#contains)( )[database](qsqldatabase.html#database)()和[Threads and the SQL Module](index.htm#threads-and-the-sql-module)。
```
QString QSqlDatabase.connectOptions (self)
```
返回用于該連接的連接選項字符串。該字符串可能是空的。
**See also** [setConnectOptions](qsqldatabase.html#setConnectOptions)( ) 。
```
bool QSqlDatabase.contains (QString?connectionName?=?QLatin1String(QSqlDatabase.defaultConnection))
```
返回True如果數據庫連接的列表中包含_connectionName_否則返回False 。
**Note:**這個功能是[thread-safe](index.htm#thread-safe)。
**See also** [connectionNames](qsqldatabase.html#connectionNames)( )[database](qsqldatabase.html#database)()和[Threads and the SQL Module](index.htm#threads-and-the-sql-module)。
```
QSqlDatabase QSqlDatabase.database (QString?connectionName?=?QLatin1String(QSqlDatabase.defaultConnection), bool?open?=?True)
```
[](qsqldatabase.html)
[返回稱為數據庫連接_connectionName_。數據庫連接必須已經添加了](qsqldatabase.html)[addDatabase](qsqldatabase.html#addDatabase)( ) 。如果_open_為True(默認值),數據庫連接是不是已經打開,現在打開。如果沒有_connectionName_是指定使用的默認連接。如果_connectionName_在數據庫列表中不存在,則返回一個無效的連接。
**Note:**這個功能是[thread-safe](index.htm#thread-safe)。
**See also** [isOpen](qsqldatabase.html#isOpen)()和[Threads and the SQL Module](index.htm#threads-and-the-sql-module)。
```
QString QSqlDatabase.databaseName (self)
```
返回連接的數據庫名,它可能是空的。**Note:**數據庫名是沒有連接名稱。
**See also** [setDatabaseName](qsqldatabase.html#setDatabaseName)( ) 。
```
QSqlDriver QSqlDatabase.driver (self)
```
[
返回用于訪問數據庫連接的數據庫驅動程序。
](qsqldriver.html)
[**See also**](qsqldriver.html) [addDatabase](qsqldatabase.html#addDatabase)()和[drivers](qsqldatabase.html#drivers)( ) 。
```
QString QSqlDatabase.driverName (self)
```
返回連接的驅動程序名稱。
**See also** [addDatabase](qsqldatabase.html#addDatabase)()和[driver](qsqldatabase.html#driver)( ) 。
```
QStringList QSqlDatabase.drivers ()
```
返回所有可用的數據庫驅動程序的列表。
**See also** [registerSqlDriver](qsqldatabase.html#registerSqlDriver)( ) 。
```
QSqlQuery QSqlDatabase.exec_ (self, QString?query?=?QString())
```
[](qsqlquery.html)
[執行一條SQL語句在數據庫上,并返回一個](qsqlquery.html)[QSqlQuery](qsqlquery.html)對象。使用[lastError](qsqldatabase.html#lastError)( )來檢索錯誤信息。如果_query_是空的,空的,無效的查詢將返回和[lastError](qsqldatabase.html#lastError)()不受影響。
**See also** [QSqlQuery](qsqlquery.html)和[lastError](qsqldatabase.html#lastError)( ) 。
```
QString QSqlDatabase.hostName (self)
```
返回連接的主機名,它可能是空的。
**See also** [setHostName](qsqldatabase.html#setHostName)( ) 。
```
bool QSqlDatabase.isDriverAvailable (QString?name)
```
返回True如果一個叫做驅動程序_name_可用;否則返回False。
**See also** [drivers](qsqldatabase.html#drivers)( ) 。
```
bool QSqlDatabase.isOpen (self)
```
返回True如果數據庫連接是當前打開,否則返回False 。
```
bool QSqlDatabase.isOpenError (self)
```
返回True如果有一個錯誤打開數據庫連接,否則返回False 。錯誤信息可使用檢索到的[lastError](qsqldatabase.html#lastError)()函數。
```
bool QSqlDatabase.isValid (self)
```
返回True如果[QSqlDatabase](qsqldatabase.html)有一個有效的驅動程序。
例如:
```
[QSqlDatabase](qsqldatabase.html) db;
qDebug() << db.isValid(); // Returns false
db = [QSqlDatabase](qsqldatabase.html).database("sales");
qDebug() << db.isValid(); // Returns true if "sales" connection exists
[QSqlDatabase](qsqldatabase.html).removeDatabase("sales");
qDebug() << db.isValid(); // Returns false
```
```
QSqlError QSqlDatabase.lastError (self)
```
[
返回有關數據庫上發生的最后一個錯誤信息。
](qsqlerror.html)
[發生在與一個單獨的查詢相結合的故障報告通過](qsqlerror.html)[QSqlQuery.lastError](qsqlquery.html#lastError)( ) 。
**See also** [QSqlError](qsqlerror.html)和[QSqlQuery.lastError](qsqlquery.html#lastError)( ) 。
```
QSql.NumericalPrecisionPolicy QSqlDatabase.numericalPrecisionPolicy (self)
```
[
返回數據庫連接的當前默認精度的政策。
此功能被引入Qt的4.6 。
](qsql.html#NumericalPrecisionPolicy-enum)
[**See also**](qsql.html#NumericalPrecisionPolicy-enum) [QSql.NumericalPrecisionPolicy](qsql.html#NumericalPrecisionPolicy-enum),[setNumericalPrecisionPolicy](qsqldatabase.html#setNumericalPrecisionPolicy)( )[QSqlQuery.numericalPrecisionPolicy](qsqlquery.html#numericalPrecisionPolicy)()和[QSqlQuery.setNumericalPrecisionPolicy](qsqlquery.html#setNumericalPrecisionPolicy)( ) 。
```
bool QSqlDatabase.open (self)
```
打開使用當前連接的值的數據庫連接。成功時返回TRUE ,否則返回False 。錯誤信息可以使用檢索[lastError](qsqldatabase.html#lastError)( ) 。
**See also** [lastError](qsqldatabase.html#lastError)( )[setDatabaseName](qsqldatabase.html#setDatabaseName)( )[setUserName](qsqldatabase.html#setUserName)( )[setPassword](qsqldatabase.html#setPassword)( )[setHostName](qsqldatabase.html#setHostName)( )[setPort](qsqldatabase.html#setPort)()和[setConnectOptions](qsqldatabase.html#setConnectOptions)( ) 。
```
bool QSqlDatabase.open (self, QString?user, QString?password)
```
這是一個重載函數。
打開使用給定的數據庫連接_user_命名并_password_。成功時返回TRUE ,否則返回False 。錯誤信息可使用檢索到的[lastError](qsqldatabase.html#lastError)()函數。
此功能不能存儲它被賦予的密碼。相反,該密碼被直接傳遞給驅動程序以打開連接且隨后被丟棄。
**See also** [lastError](qsqldatabase.html#lastError)( ) 。
```
QString QSqlDatabase.password (self)
```
返回連接的密碼。如果密碼沒有被設置[setPassword](qsqldatabase.html#setPassword)( ),并且如果該密碼是在給定的[open](qsqldatabase.html#open)( )調用,或者如果沒有使用密碼,則返回一個空字符串。
**See also** [setPassword](qsqldatabase.html#setPassword)( ) 。
```
int QSqlDatabase.port (self)
```
返回連接的端口號。該值是不確定的,如果該端口號沒有被設置。
**See also** [setPort](qsqldatabase.html#setPort)( ) 。
```
QSqlIndex QSqlDatabase.primaryIndex (self, QString?tablename)
```
[](qsqlindex.html)
[返回表的主索引_tablename_。如果沒有主索引存在一個空](qsqlindex.html)[QSqlIndex](qsqlindex.html)返回。
**See also** [tables](qsqldatabase.html#tables)()和[record](qsqldatabase.html#record)( ) 。
```
QSqlRecord QSqlDatabase.record (self, QString?tablename)
```
[](qsqlrecord.html)
[返回](qsqlrecord.html)[QSqlRecord](qsqlrecord.html)在該表中的所有字段(或視圖)的名稱叫做填充_tablename_。在該領域出現的記錄的順序是不確定的。如果沒有這樣的表(或視圖)存在,則返回一個空的記錄。
```
QSqlDatabase.registerSqlDriver (QString?name, QSqlDriverCreatorBase?creator)
```
該_creator_說法有它的所有權轉移給Qt的。
此功能寄存器稱為一個新的SQL驅動程序_name_,內部的SQL框架。如果你有一個自定義的SQL驅動程序,并且不希望將它編譯為一個插件,這是很有用的。
例如:
```
[QSqlDatabase](qsqldatabase.html).registerSqlDriver("MYDRIVER",
new [QSqlDriverCreator](index.htm)<MyDatabaseDriver>);
[QSqlDatabase](qsqldatabase.html) db = [QSqlDatabase](qsqldatabase.html).addDatabase("MYDRIVER");
```
[QSqlDatabase](qsqldatabase.html)采取所有權_creator_指針,所以你一定不要自己將它刪除。
**See also** [drivers](qsqldatabase.html#drivers)( ) 。
```
QSqlDatabase.removeDatabase (QString?connectionName)
```
刪除數據庫連接_connectionName_從數據庫連接列表中。
**Warning:**不應該有開放的查詢時,這個函數被調用的數據庫連接上,否則會發生資源洩漏。
例如:
```
// WRONG
[QSqlDatabase](qsqldatabase.html) db = [QSqlDatabase](qsqldatabase.html).database("sales");
[QSqlQuery](qsqlquery.html) query("SELECT NAME, DOB FROM EMPLOYEES", db);
[QSqlDatabase](qsqldatabase.html).removeDatabase("sales"); // will output a warning
// "db" is now a dangling invalid database connection,
// "query" contains an invalid result set
```
做正確的方法:
```
{
[QSqlDatabase](qsqldatabase.html) db = [QSqlDatabase](qsqldatabase.html).database("sales");
[QSqlQuery](qsqlquery.html) query("SELECT NAME, DOB FROM EMPLOYEES", db);
}
// Both "db" and "query" are destroyed because they are out of scope
[QSqlDatabase](qsqldatabase.html).removeDatabase("sales"); // correct
```
要刪除默認的連接,它可能已經創建了一個調用[addDatabase](qsqldatabase.html#addDatabase)( )不指定連接名,你可以通過調用檢索默認連接名稱[connectionName](qsqldatabase.html#connectionName)( )返回的數據庫上[database](qsqldatabase.html#database)( ) 。請注意,如果尚未創建一個默認的數據庫無效的數據庫將被退回。
**Note:**這個功能是[thread-safe](index.htm#thread-safe)。
**See also** [database](qsqldatabase.html#database)( )[connectionName](qsqldatabase.html#connectionName)()和[Threads and the SQL Module](index.htm#threads-and-the-sql-module)。
```
bool QSqlDatabase.rollback (self)
```
回滾數據庫事務,如果驅動程序支持事務和[transaction](qsqldatabase.html#transaction)( )已經啟動。回報`true`如果操作成功。否則返回`false`。
**Note:**對于某些數據庫,回滾將失敗,并返回`false`如果有一個[active query](qsqlquery.html#isActive)使用該數據庫的`SELECT`。使查詢[inactive](qsqlquery.html#isActive)之前做回滾。
Call [lastError](qsqldatabase.html#lastError)( )以獲取有關錯誤的信息。
**See also** [QSqlQuery.isActive](qsqlquery.html#isActive)( )[QSqlDriver.hasFeature](qsqldriver.html#hasFeature)()和[commit](qsqldatabase.html#commit)( ) 。
```
QSqlDatabase.setConnectOptions (self, QString?options?=?QString())
```
設置數據庫特定的_options_。這必須是打開連接前或不會有任何效果(或者你可以[close](qsqldatabase.html#close)( )的連接,調用這個函數,并[open](qsqldatabase.html#open)( )再次連線) 。
的格式_options_字符串是選項名或選項=值對的分號分隔的列表。該選項取決于所使用的數據庫客戶端上:
| ODBC | MySQL | PostgreSQL |
| --- | --- | --- |
|
* SQL_ATTR_ACCESS_MODE
* SQL_ATTR_LOGIN_TIMEOUT
* SQL_ATTR_CONNECTION_TIMEOUT
* SQL_ATTR_CURRENT_CATALOG
* SQL_ATTR_METADATA_ID
* SQL_ATTR_PACKET_SIZE
* SQL_ATTR_TRACEFILE
* SQL_ATTR_TRACE
* SQL_ATTR_CONNECTION_POOLING
* SQL_ATTR_ODBC_VERSION
|
* CLIENT_COMPRESS
* CLIENT_FOUND_ROWS
* CLIENT_IGNORE_SPACE
* CLIENT_SSL
* CLIENT_ODBC
* CLIENT_NO_SCHEMA
* CLIENT_INTERACTIVE
* UNIX_SOCKET
* MYSQL_OPT_RECONNECT
|
* connect_timeout
* options
* tty
* requiressl
* service
|
| DB2 | OCI | TDS |
| --- | --- | --- |
|
* SQL_ATTR_ACCESS_MODE
* SQL_ATTR_LOGIN_TIMEOUT
|
* OCI_ATTR_PREFETCH_ROWS
* OCI_ATTR_PREFETCH_MEMORY
| _none_ |
| SQLite | Interbase |
| --- | --- |
|
* QSQLITE_BUSY_TIMEOUT
* QSQLITE_OPEN_READONLY
* QSQLITE_ENABLE_SHARED_CACHE
|
* ISC_DPB_LC_CTYPE
* ISC_DPB_SQL_ROLE_NAME
|
示例:
```
...
// MySQL connection
db.setConnectOptions("CLIENT_SSL=1;CLIENT_IGNORE_SPACE=1"); // use an SSL connection to the server
if (!db.open()) {
db.setConnectOptions(); // clears the connect option string
...
}
...
// PostgreSQL connection
db.setConnectOptions("requiressl=1"); // enable PostgreSQL SSL connections
if (!db.open()) {
db.setConnectOptions(); // clear options
...
}
...
// ODBC connection
db.setConnectOptions("SQL_ATTR_ACCESS_MODE=SQL_MODE_READ_ONLY;SQL_ATTR_TRACE=SQL_OPT_TRACE_ON"); // set ODBC options
if (!db.open()) {
db.setConnectOptions(); // don't try to set this option
...
}
```
請參閱客戶端庫文件有關不同選項的詳細信息。
**See also** [connectOptions](qsqldatabase.html#connectOptions)( ) 。
```
QSqlDatabase.setDatabaseName (self, QString?name)
```
設置連接的數據庫名_name_。有效果,數據庫名稱必須設置_before_該連接是[opened](qsqldatabase.html#open)。或者,您可以[close](qsqldatabase.html#close)( )的連接,設置數據庫名,調用[open](qsqldatabase.html#open)( )一次。**Note:**該_database name_是不_connection name_。連接名稱必須傳遞給[addDatabase](qsqldatabase.html#addDatabase)( )在連接對象創建的時間。
對于QOCI ( Oracle)的驅動程序,數據庫名是TNS服務名稱。
為QODBC驅動程序,_name_可以是一個DSN , DSN的一個文件名(在這種情況下,該文件必須有一個`.dsn`擴展名) ,或連接字符串。
例如, Microsoft Access中用戶可以使用下面的連接字符串打開一個`.mdb`直接文件,而不必在ODBC管理器創建一個DSN入口, :
```
...
db = [QSqlDatabase](qsqldatabase.html).addDatabase("QODBC");
db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=myaccessfile.mdb");
if (db.open()) {
// success!
}
...
```
沒有默認值。
**See also** [databaseName](qsqldatabase.html#databaseName)( )[setUserName](qsqldatabase.html#setUserName)( )[setPassword](qsqldatabase.html#setPassword)( )[setHostName](qsqldatabase.html#setHostName)( )[setPort](qsqldatabase.html#setPort)( )[setConnectOptions](qsqldatabase.html#setConnectOptions)()和[open](qsqldatabase.html#open)( ) 。
```
QSqlDatabase.setHostName (self, QString?host)
```
設置連接的主機名_host_。有效,主機名必須設置_before_該連接是[opened](qsqldatabase.html#open)。或者,您可以[close](qsqldatabase.html#close)( )的連接,設置主機名,并調用[open](qsqldatabase.html#open)( )一次。
沒有默認值。
**See also** [hostName](qsqldatabase.html#hostName)( )[setUserName](qsqldatabase.html#setUserName)( )[setPassword](qsqldatabase.html#setPassword)( )[setDatabaseName](qsqldatabase.html#setDatabaseName)( )[setPort](qsqldatabase.html#setPort)( )[setConnectOptions](qsqldatabase.html#setConnectOptions)()和[open](qsqldatabase.html#open)( ) 。
```
QSqlDatabase.setNumericalPrecisionPolicy (self, QSql.NumericalPrecisionPolicy?precisionPolicy)
```
設置使用這個數據庫連接創建查詢的默認數值精度的政策_precisionPolicy_。
注意:不支持用低精度取數值的驅動程序將忽略精度政策。您可以使用[QSqlDriver.hasFeature](qsqldriver.html#hasFeature)( )來找出驅動程序是否支持此功能。
注意:默認精度策略設置來_precisionPolicy_不影響任何當前活動的查詢。
此功能被引入Qt的4.6 。
**See also** [QSql.NumericalPrecisionPolicy](qsql.html#NumericalPrecisionPolicy-enum),[numericalPrecisionPolicy](qsqldatabase.html#numericalPrecisionPolicy)( )[QSqlQuery.setNumericalPrecisionPolicy](qsqlquery.html#setNumericalPrecisionPolicy)()和[QSqlQuery.numericalPrecisionPolicy](qsqlquery.html#numericalPrecisionPolicy)( ) 。
```
QSqlDatabase.setPassword (self, QString?password)
```
設置連接的密碼_password_。有效果,必須設置密碼_before_該連接是[opened](qsqldatabase.html#open)。或者,您可以[close](qsqldatabase.html#close)( )的連接,設置密碼,并調用[open](qsqldatabase.html#open)( )一次。
沒有默認值。
**Warning:**此功能會將密碼中的Qt純文本。使用[open](qsqldatabase.html#open)( )調用,需要一個密碼作為參數,以避免這種行為。
**See also** [password](qsqldatabase.html#password)( )[setUserName](qsqldatabase.html#setUserName)( )[setDatabaseName](qsqldatabase.html#setDatabaseName)( )[setHostName](qsqldatabase.html#setHostName)( )[setPort](qsqldatabase.html#setPort)( )[setConnectOptions](qsqldatabase.html#setConnectOptions)()和[open](qsqldatabase.html#open)( ) 。
```
QSqlDatabase.setPort (self, int?p)
```
設置連接的端口號_port_。有效的端口號必須設置_before_該連接是[opened](qsqldatabase.html#open)。或者,您可以[close](qsqldatabase.html#close)( )的連接,設置端口號,并調用[open](qsqldatabase.html#open)( )再次..
沒有默認值。
**See also** [port](qsqldatabase.html#port)( )[setUserName](qsqldatabase.html#setUserName)( )[setPassword](qsqldatabase.html#setPassword)( )[setHostName](qsqldatabase.html#setHostName)( )[setDatabaseName](qsqldatabase.html#setDatabaseName)( )[setConnectOptions](qsqldatabase.html#setConnectOptions)()和[open](qsqldatabase.html#open)( ) 。
```
QSqlDatabase.setUserName (self, QString?name)
```
設置連接的用戶名_name_。有效果,用戶名必須設置_before_該連接是[opened](qsqldatabase.html#open)。或者,您可以[close](qsqldatabase.html#close)( )的連接,設置用戶名和調用[open](qsqldatabase.html#open)( )一次。
沒有默認值。
**See also** [userName](qsqldatabase.html#userName)( )[setDatabaseName](qsqldatabase.html#setDatabaseName)( )[setPassword](qsqldatabase.html#setPassword)( )[setHostName](qsqldatabase.html#setHostName)( )[setPort](qsqldatabase.html#setPort)( )[setConnectOptions](qsqldatabase.html#setConnectOptions)()和[open](qsqldatabase.html#open)( ) 。
```
QStringList QSqlDatabase.tables (self, QSql.TableType?type?=?QSql.Tables)
```
返回數據庫的表,系統表和視圖的列表,所指定的參數_type_。
**See also** [primaryIndex](qsqldatabase.html#primaryIndex)()和[record](qsqldatabase.html#record)( ) 。
```
bool QSqlDatabase.transaction (self)
```
開始一個事務在數據庫上,如果驅動程序支持的交易。回報`true`如果操作成功。否則返回`false`。
**See also** [QSqlDriver.hasFeature](qsqldriver.html#hasFeature)( )[commit](qsqldatabase.html#commit)()和[rollback](qsqldatabase.html#rollback)( ) 。
```
QString QSqlDatabase.userName (self)
```
返回連接的用戶名,它可能是空的。
**See also** [setUserName](qsqldatabase.html#setUserName)( ) 。
- PyQt4 中文文檔
- PyQt Class Reference
- QAbstractAnimation Class Reference
- QAbstractButton Class Reference
- QAbstractEventDispatcher Class Reference
- QAbstractExtensionFactory Class Reference
- QAbstractExtensionManager Class Reference
- QAbstractFileEngine Class Reference
- QAbstractFileEngineHandler Class Reference
- QAbstractFileEngineIterator Class Reference
- QAbstractFormBuilder Class Reference
- QAbstractGraphicsShapeItem Class Reference
- QAbstractItemDelegate Class Reference
- QAbstractItemModel Class Reference
- QAbstractItemView Class Reference
- QAbstractListModel Class Reference
- QAbstractMessageHandler Class Reference
- QAbstractNetworkCache Class Reference
- QAbstractPrintDialog Class Reference
- QAbstractProxyModel Class Reference
- QAbstractScrollArea Class Reference
- QAbstractSlider Class Reference
- QAbstractSocket Class Reference
- QAbstractSpinBox Class Reference
- QAbstractState Class Reference
- QAbstractTableModel Class Reference
- QAbstractTextDocumentLayout Class Reference
- QAbstractTransition Class Reference
- QAbstractUriResolver Class Reference
- QAbstractVideoBuffer Class Reference
- QAbstractVideoSurface Class Reference
- QAbstractXmlNodeModel Class Reference
- QAbstractXmlReceiver Class Reference
- QAction Class Reference
- QActionEvent Class Reference
- QActionGroup Class Reference
- QAnimationGroup Class Reference
- QApplication Class Reference
- QAssistantClient Class Reference
- QAudio Class Reference
- QAudioDeviceInfo Class Reference
- QAudioFormat Class Reference
- QAudioInput Class Reference
- QAudioOutput Class Reference
- QAuthenticator Class Reference
- QBasicTimer Class Reference
- QBitArray Class Reference
- QBitmap Class Reference
- QBoxLayout Class Reference
- QBrush Class Reference
- QBuffer Class Reference
- QButtonGroup Class Reference
- QByteArray Class Reference
- QByteArrayMatcher Class Reference
- QCalendarWidget Class Reference
- QChar Class Reference
- QCheckBox Class Reference
- QChildEvent Class Reference
- QClipboard Class Reference
- QCloseEvent Class Reference
- QColor Class Reference
- QColorDialog Class Reference
- QColumnView Class Reference
- QComboBox Class Reference
- QCommandLinkButton Class Reference
- QCommonStyle Class Reference
- QCompleter Class Reference
- QConicalGradient Class Reference
- QContextMenuEvent Class Reference
- QCoreApplication Class Reference
- QCryptographicHash Class Reference
- QCursor Class Reference
- QDataStream Class Reference
- QDataWidgetMapper Class Reference
- QDate Class Reference
- QDateEdit Class Reference
- QDateTime Class Reference
- QDateTimeEdit Class Reference
- QDBus Class Reference
- QDBusAbstractAdaptor Class Reference
- QDBusAbstractInterface Class Reference
- QDBusArgument Class Reference
- QDBusConnection Class Reference
- QDBusConnectionInterface Class Reference
- QDBusError Class Reference
- QDBusInterface Class Reference
- QDBusMessage Class Reference
- QDBusObjectPath Class Reference
- QDBusPendingCall Class Reference
- QDBusPendingCallWatcher Class Reference
- QDBusPendingReply Class Reference
- QDBusReply Class Reference
- QDBusServiceWatcher Class Reference
- QDBusSignature Class Reference
- QDBusUnixFileDescriptor Class Reference
- QDBusVariant Class Reference
- QDeclarativeComponent Class Reference
- QDeclarativeContext Class Reference
- QDeclarativeEngine Class Reference
- QDeclarativeError Class Reference
- QDeclarativeExpression Class Reference
- QDeclarativeExtensionPlugin Class Reference
- QDeclarativeImageProvider Class Reference
- QDeclarativeItem Class Reference
- QDeclarativeListReference Class Reference
- QDeclarativeNetworkAccessManagerFactory Class Reference
- QDeclarativeParserStatus Class Reference
- QDeclarativeProperty Class Reference
- QDeclarativePropertyMap Class Reference
- QDeclarativePropertyValueSource Class Reference
- QDeclarativeScriptString Class Reference
- QDeclarativeView Class Reference
- QDesignerActionEditorInterface Class Reference
- QDesignerContainerExtension Class Reference
- QDesignerCustomWidgetCollectionInterface Class Reference
- QDesignerCustomWidgetInterface Class Reference
- QDesignerFormEditorInterface Class Reference
- QDesignerFormWindowCursorInterface Class Reference
- QDesignerFormWindowInterface Class Reference
- QDesignerFormWindowManagerInterface Class Reference
- QDesignerMemberSheetExtension Class Reference
- QDesignerObjectInspectorInterface Class Reference
- QDesignerPropertyEditorInterface Class Reference
- QDesignerPropertySheetExtension Class Reference
- QDesignerTaskMenuExtension Class Reference
- QDesignerWidgetBoxInterface Class Reference
- QDesktopServices Class Reference
- QDesktopWidget Class Reference
- QDial Class Reference
- QDialog Class Reference
- QDialogButtonBox Class Reference
- QDir Class Reference
- QDirIterator Class Reference
- QDirModel Class Reference
- QDockWidget Class Reference
- QDomAttr Class Reference
- QDomCDATASection Class Reference
- QDomCharacterData Class Reference
- QDomComment Class Reference
- QDomDocument Class Reference
- QDomDocumentFragment Class Reference
- QDomDocumentType Class Reference
- QDomElement Class Reference
- QDomEntity Class Reference
- QDomEntityReference Class Reference
- QDomImplementation Class Reference
- QDomNamedNodeMap Class Reference
- QDomNode Class Reference
- QDomNodeList Class Reference
- QDomNotation Class Reference
- QDomProcessingInstruction Class Reference
- QDomText Class Reference
- QDoubleSpinBox Class Reference
- QDoubleValidator Class Reference
- QDrag Class Reference
- QDragEnterEvent Class Reference
- QDragLeaveEvent Class Reference
- QDragMoveEvent Class Reference
- QDropEvent Class Reference
- QDynamicPropertyChangeEvent Class Reference
- QEasingCurve Class Reference
- QElapsedTimer Class Reference
- QErrorMessage Class Reference
- QEvent Class Reference
- QEventLoop Class Reference
- QEventTransition Class Reference
- QExtensionFactory Class Reference
- QExtensionManager Class Reference
- QFile Class Reference
- QFileDialog Class Reference
- QFileIconProvider Class Reference
- QFileInfo Class Reference
- QFileOpenEvent Class Reference
- QFileSystemModel Class Reference
- QFileSystemWatcher Class Reference
- QFinalState Class Reference
- QFocusEvent Class Reference
- QFocusFrame Class Reference
- QFont Class Reference
- QFontComboBox Class Reference
- QFontDatabase Class Reference
- QFontDialog Class Reference
- QFontInfo Class Reference
- QFontMetrics Class Reference
- QFontMetricsF Class Reference
- QFormBuilder Class Reference
- QFormLayout Class Reference
- QFrame Class Reference
- QFSFileEngine Class Reference
- QFtp Class Reference
- QGenericArgument Class Reference
- QGenericReturnArgument Class Reference
- QGesture Class Reference
- QGestureEvent Class Reference
- QGestureRecognizer Class Reference
- QGL Class Reference
- QGLBuffer Class Reference
- QGLColormap Class Reference
- QGLContext Class Reference
- QGLFormat Class Reference
- QGLFramebufferObject Class Reference
- QGLFramebufferObjectFormat Class Reference
- QGLPixelBuffer Class Reference
- QGLShader Class Reference
- QGLShaderProgram Class Reference
- QGLWidget Class Reference
- QGlyphRun Class Reference
- QGradient Class Reference
- QGraphicsAnchor Class Reference
- QGraphicsAnchorLayout Class Reference
- QGraphicsBlurEffect Class Reference
- QGraphicsColorizeEffect Class Reference
- QGraphicsDropShadowEffect Class Reference
- QGraphicsEffect Class Reference
- QGraphicsEllipseItem Class Reference
- QGraphicsGridLayout Class Reference
- QGraphicsItem Class Reference
- QGraphicsItemAnimation Class Reference
- QGraphicsItemGroup Class Reference
- QGraphicsLayout Class Reference
- QGraphicsLayoutItem Class Reference
- QGraphicsLinearLayout Class Reference
- QGraphicsLineItem Class Reference
- QGraphicsObject Class Reference
- QGraphicsOpacityEffect Class Reference
- QGraphicsPathItem Class Reference
- QGraphicsPixmapItem Class Reference
- QGraphicsPolygonItem Class Reference
- QGraphicsProxyWidget Class Reference
- QGraphicsRectItem Class Reference
- QGraphicsRotation Class Reference
- QGraphicsScale Class Reference
- QGraphicsScene Class Reference
- QGraphicsSceneContextMenuEvent Class Reference
- QGraphicsSceneDragDropEvent Class Reference
- QGraphicsSceneEvent Class Reference
- QGraphicsSceneHelpEvent Class Reference
- QGraphicsSceneHoverEvent Class Reference
- QGraphicsSceneMouseEvent Class Reference
- QGraphicsSceneMoveEvent Class Reference
- QGraphicsSceneResizeEvent Class Reference
- QGraphicsSceneWheelEvent Class Reference
- QGraphicsSimpleTextItem Class Reference
- QGraphicsSvgItem Class Reference
- QGraphicsTextItem Class Reference
- QGraphicsTransform Class Reference
- QGraphicsView Class Reference
- QGraphicsWebView Class Reference
- QGraphicsWidget Class Reference
- QGridLayout Class Reference
- QGroupBox Class Reference
- QHBoxLayout Class Reference
- QHeaderView Class Reference
- QHelpContentItem Class Reference
- QHelpContentModel Class Reference
- QHelpContentWidget Class Reference
- QHelpEngine Class Reference
- QHelpEngineCore Class Reference
- QHelpEvent Class Reference
- QHelpIndexModel Class Reference
- QHelpIndexWidget Class Reference
- QHelpSearchEngine Class Reference
- QHelpSearchQuery Class Reference
- QHelpSearchQueryWidget Class Reference
- QHelpSearchResultWidget Class Reference
- QHideEvent Class Reference
- QHistoryState Class Reference
- QHostAddress Class Reference
- QHostInfo Class Reference
- QHoverEvent Class Reference
- QHttp Class Reference
- QHttpHeader Class Reference
- QHttpMultiPart Class Reference
- QHttpPart Class Reference
- QHttpRequestHeader Class Reference
- QHttpResponseHeader Class Reference
- QIcon Class Reference
- QIconDragEvent Class Reference
- QIconEngine Class Reference
- QIconEngineV2 Class Reference
- QIdentityProxyModel Class Reference
- QImage Class Reference
- QImageIOHandler Class Reference
- QImageReader Class Reference
- QImageWriter Class Reference
- QInputContext Class Reference
- QInputContextFactory Class Reference
- QInputDialog Class Reference
- QInputEvent Class Reference
- QInputMethodEvent Class Reference
- QIntValidator Class Reference
- QIODevice Class Reference
- QItemDelegate Class Reference
- QItemEditorCreatorBase Class Reference
- QItemEditorFactory Class Reference
- QItemSelection Class Reference
- QItemSelectionModel Class Reference
- QItemSelectionRange Class Reference
- QKeyEvent Class Reference
- QKeyEventTransition Class Reference
- QKeySequence Class Reference
- QLabel Class Reference
- QLatin1Char Class Reference
- QLatin1String Class Reference
- QLayout Class Reference
- QLayoutItem Class Reference
- QLCDNumber Class Reference
- QLibrary Class Reference
- QLibraryInfo Class Reference
- QLine Class Reference
- QLinearGradient Class Reference
- QLineEdit Class Reference
- QLineF Class Reference
- QListView Class Reference
- QListWidget Class Reference
- QListWidgetItem Class Reference
- QLocale Class Reference
- QLocalServer Class Reference
- QLocalSocket Class Reference
- QMainWindow Class Reference
- QMargins Class Reference
- QMatrix Class Reference
- QMatrix2x2 Class Reference
- QMatrix2x3 Class Reference
- QMatrix2x4 Class Reference
- QMatrix3x2 Class Reference
- QMatrix3x3 Class Reference
- QMatrix3x4 Class Reference
- QMatrix4x2 Class Reference
- QMatrix4x3 Class Reference
- QMatrix4x4 Class Reference
- QMdiArea Class Reference
- QMdiSubWindow Class Reference
- QMenu Class Reference
- QMenuBar Class Reference
- QMessageBox Class Reference
- QMetaClassInfo Class Reference
- QMetaEnum Class Reference
- QMetaMethod Class Reference
- QMetaObject Class Reference
- QMetaProperty Class Reference
- QMetaType Class Reference
- QMimeData Class Reference
- QMimeSource Class Reference
- QModelIndex Class Reference
- QMouseEvent Class Reference
- QMouseEventTransition Class Reference
- QMoveEvent Class Reference
- QMovie Class Reference
- QMutex Class Reference
- QMutexLocker Class Reference
- QNetworkAccessManager Class Reference
- QNetworkAddressEntry Class Reference
- QNetworkCacheMetaData Class Reference
- QNetworkConfiguration Class Reference
- QNetworkConfigurationManager Class Reference
- QNetworkCookie Class Reference
- QNetworkCookieJar Class Reference
- QNetworkDiskCache Class Reference
- QNetworkInterface Class Reference
- QNetworkProxy Class Reference
- QNetworkProxyFactory Class Reference
- QNetworkProxyQuery Class Reference
- QNetworkReply Class Reference
- QNetworkRequest Class Reference
- QNetworkSession Class Reference
- QObject Class Reference
- QObjectCleanupHandler Class Reference
- QPageSetupDialog Class Reference
- QPaintDevice Class Reference
- QPaintEngine Class Reference
- QPaintEngineState Class Reference
- QPainter Class Reference
- QPainterPath Class Reference
- QPainterPathStroker Class Reference
- QPaintEvent Class Reference
- QPalette Class Reference
- QPanGesture Class Reference
- QParallelAnimationGroup Class Reference
- QPauseAnimation Class Reference
- QPen Class Reference
- QPersistentModelIndex Class Reference
- QPicture Class Reference
- QPictureIO Class Reference
- QPinchGesture Class Reference
- QPixmap Class Reference
- QPixmapCache Class Reference
- QPlainTextDocumentLayout Class Reference
- QPlainTextEdit Class Reference
- QPluginLoader Class Reference
- QPoint Class Reference
- QPointF Class Reference
- QPolygon Class Reference
- QPolygonF Class Reference
- QPrintDialog Class Reference
- QPrintEngine Class Reference
- QPrinter Class Reference
- QPrinterInfo Class Reference
- QPrintPreviewDialog Class Reference
- QPrintPreviewWidget Class Reference
- QProcess Class Reference
- QProcessEnvironment Class Reference
- QProgressBar Class Reference
- QProgressDialog Class Reference
- QPropertyAnimation Class Reference
- QProxyModel Class Reference
- QPushButton Class Reference
- QPyDeclarativePropertyValueSource Class Reference
- QPyDesignerContainerExtension Class Reference
- QPyDesignerCustomWidgetCollectionPlugin Class Reference
- QPyDesignerCustomWidgetPlugin Class Reference
- QPyDesignerMemberSheetExtension Class Reference
- QPyDesignerPropertySheetExtension Class Reference
- QPyDesignerTaskMenuExtension Class Reference
- QPyNullVariant Class Reference
- QPyTextObject Class Reference
- QQuaternion Class Reference
- QRadialGradient Class Reference
- QRadioButton Class Reference
- QRawFont Class Reference
- QReadLocker Class Reference
- QReadWriteLock Class Reference
- QRect Class Reference
- QRectF Class Reference
- QRegExp Class Reference
- QRegExpValidator Class Reference
- QRegion Class Reference
- QResizeEvent Class Reference
- QResource Class Reference
- QRubberBand Class Reference
- QRunnable Class Reference
- QScriptClass Class Reference
- QScriptClassPropertyIterator Class Reference
- QScriptContext Class Reference
- QScriptContextInfo Class Reference
- QScriptEngine Class Reference
- QScriptEngineAgent Class Reference
- QScriptEngineDebugger Class Reference
- QScriptString Class Reference
- QScriptSyntaxCheckResult Class Reference
- QScriptValue Class Reference
- QScriptValueIterator Class Reference
- QScrollArea Class Reference
- QScrollBar Class Reference
- QSemaphore Class Reference
- QSequentialAnimationGroup Class Reference
- QSessionManager Class Reference
- QSettings Class Reference
- QSharedMemory Class Reference
- QShortcut Class Reference
- QShortcutEvent Class Reference
- QShowEvent Class Reference
- QSignalMapper Class Reference
- QSignalTransition Class Reference
- QSimpleXmlNodeModel Class Reference
- QSize Class Reference
- QSizeF Class Reference
- QSizeGrip Class Reference
- QSizePolicy Class Reference
- QSlider Class Reference
- QSocketNotifier Class Reference
- QSortFilterProxyModel Class Reference
- QSound Class Reference
- QSourceLocation Class Reference
- QSpacerItem Class Reference
- QSpinBox Class Reference
- QSplashScreen Class Reference
- QSplitter Class Reference
- QSplitterHandle Class Reference
- QSql Class Reference
- QSqlDatabase Class Reference
- QSqlDriver Class Reference
- QSqlDriverCreatorBase Class Reference
- QSqlError Class Reference
- QSqlField Class Reference
- QSqlIndex Class Reference
- QSqlQuery Class Reference
- QSqlQueryModel Class Reference
- QSqlRecord Class Reference
- QSqlRelation Class Reference
- QSqlRelationalDelegate Class Reference
- QSqlRelationalTableModel Class Reference
- QSqlResult Class Reference
- QSqlTableModel Class Reference
- Qt4.7文檔翻譯:Qt樣式單參考,Qt Style Sheets Reference
- QSsl Class Reference
- QSslCertificate Class Reference
- QSslCipher Class Reference
- QSslConfiguration Class Reference
- QSslError Class Reference
- QSslKey Class Reference
- QSslSocket Class Reference
- QStackedLayout Class Reference
- QStackedWidget Class Reference
- QStandardItem Class Reference
- QStandardItemModel Class Reference
- QState Class Reference
- QStateMachine Class Reference
- QStaticText Class Reference
- QStatusBar Class Reference
- QStatusTipEvent Class Reference
- QString Class Reference
- QStringList Class Reference
- QStringListModel Class Reference
- QStringMatcher Class Reference
- QStringRef Class Reference
- QStyle Class Reference
- QStyledItemDelegate Class Reference
- QStyleFactory Class Reference
- QStyleHintReturn Class Reference
- QStyleHintReturnMask Class Reference
- QStyleHintReturnVariant Class Reference
- QStyleOption Class Reference
- QStyleOptionButton Class Reference
- QStyleOptionComboBox Class Reference
- QStyleOptionComplex Class Reference
- QStyleOptionDockWidget Class Reference
- QStyleOptionDockWidgetV2 Class Reference
- QStyleOptionFocusRect Class Reference
- QStyleOptionFrame Class Reference
- QStyleOptionFrameV2 Class Reference
- QStyleOptionFrameV3 Class Reference
- QStyleOptionGraphicsItem Class Reference
- QStyleOptionGroupBox Class Reference
- QStyleOptionHeader Class Reference
- QStyleOptionMenuItem Class Reference
- QStyleOptionProgressBar Class Reference
- QStyleOptionProgressBarV2 Class Reference
- QStyleOptionRubberBand Class Reference
- QStyleOptionSizeGrip Class Reference
- QStyleOptionSlider Class Reference
- QStyleOptionSpinBox Class Reference
- QStyleOptionTab Class Reference
- QStyleOptionTabBarBase Class Reference
- QStyleOptionTabBarBaseV2 Class Reference
- QStyleOptionTabV2 Class Reference
- QStyleOptionTabV3 Class Reference
- QStyleOptionTabWidgetFrame Class Reference
- QStyleOptionTabWidgetFrameV2 Class Reference
- QStyleOptionTitleBar Class Reference
- QStyleOptionToolBar Class Reference
- QStyleOptionToolBox Class Reference
- QStyleOptionToolBoxV2 Class Reference
- QStyleOptionToolButton Class Reference
- QStyleOptionViewItem Class Reference
- QStyleOptionViewItemV2 Class Reference
- QStyleOptionViewItemV3 Class Reference
- QStyleOptionViewItemV4 Class Reference
- QStylePainter Class Reference
- QSvgGenerator Class Reference
- QSvgRenderer Class Reference
- QSvgWidget Class Reference
- QSwipeGesture Class Reference
- QSyntaxHighlighter Class Reference
- QSysInfo Class Reference
- QSystemLocale Class Reference
- QSystemSemaphore Class Reference
- QSystemTrayIcon Class Reference
- Qt Class Reference
- QTabBar Class Reference
- QTabletEvent Class Reference
- QTableView Class Reference
- QTableWidget Class Reference
- QTableWidgetItem Class Reference
- QTableWidgetSelectionRange Class Reference
- QTabWidget Class Reference
- QTapAndHoldGesture Class Reference
- QTapGesture Class Reference
- QTcpServer Class Reference
- QTcpSocket Class Reference
- QTemporaryFile Class Reference
- QTest Class Reference
- QTextBlock Class Reference
- QTextBlockFormat Class Reference
- QTextBlockGroup Class Reference
- QTextBlockUserData Class Reference
- QTextBoundaryFinder Class Reference
- QTextBrowser Class Reference
- QTextCharFormat Class Reference
- QTextCodec Class Reference
- QTextCursor Class Reference
- QTextDecoder Class Reference
- QTextDocument Class Reference
- QTextDocumentFragment Class Reference
- QTextDocumentWriter Class Reference
- QTextEdit Class Reference
- QTextEncoder Class Reference
- QTextFormat Class Reference
- QTextFragment Class Reference
- QTextFrame Class Reference
- QTextFrameFormat Class Reference
- QTextImageFormat Class Reference
- QTextInlineObject Class Reference
- QTextItem Class Reference
- QTextLayout Class Reference
- QTextLength Class Reference
- QTextLine Class Reference
- QTextList Class Reference
- QTextListFormat Class Reference
- QTextObject Class Reference
- QTextObjectInterface Class Reference
- QTextOption Class Reference
- QTextStream Class Reference
- QTextTable Class Reference
- QTextTableCell Class Reference
- QTextTableCellFormat Class Reference
- QTextTableFormat Class Reference
- QThread Class Reference
- QThreadPool Class Reference
- QTime Class Reference
- QTimeEdit Class Reference
- QTimeLine Class Reference
- QTimer Class Reference
- QTimerEvent Class Reference
- QToolBar Class Reference
- QToolBox Class Reference
- QToolButton Class Reference
- QToolTip Class Reference
- QTouchEvent Class Reference
- Reference
- QTransform Class Reference
- QTranslator Class Reference
- QTreeView Class Reference
- QTreeWidget Class Reference
- QTreeWidgetItem Class Reference
- QTreeWidgetItemIterator Class Reference
- QUdpSocket Class Reference
- QUndoCommand Class Reference
- QUndoGroup Class Reference
- QUndoStack Class Reference
- QUndoView Class Reference
- QUrl Class Reference
- QUrlInfo Class Reference
- QUuid Class Reference
- QValidator Class Reference
- QVariant Class Reference
- QVariantAnimation Class Reference
- QVBoxLayout Class Reference
- QVector2D Class Reference
- QVector3D Class Reference
- QVector4D Class Reference
- QVideoFrame Class Reference
- QVideoSurfaceFormat Class Reference
- QWaitCondition Class Reference
- QWebDatabase Class Reference
- QWebElement Class Reference
- QWebElementCollection Class Reference
- QWebFrame Class Reference
- QWebHistory Class Reference
- QWebHistoryInterface Class Reference
- QWebHistoryItem Class Reference
- QWebHitTestResult Class Reference
- QWebInspector Class Reference
- QWebPage Class Reference
- QWebPluginFactory Class Reference
- QWebSecurityOrigin Class Reference
- QWebSettings Class Reference
- QWebView Class Reference
- QWhatsThis Class Reference
- QWhatsThisClickedEvent Class Reference
- QWheelEvent Class Reference
- QWidget Class Reference
- QWidgetAction Class Reference
- QWidgetItem Class Reference
- QWindowStateChangeEvent Class Reference
- QWizard Class Reference
- QWizardPage Class Reference
- QWorkspace Class Reference
- QWriteLocker Class Reference
- QX11EmbedContainer Class Reference
- QX11EmbedWidget Class Reference
- QX11Info Class Reference
- QXmlAttributes Class Reference
- QXmlContentHandler Class Reference
- QXmlDeclHandler Class Reference
- QXmlDefaultHandler Class Reference
- QXmlDTDHandler Class Reference
- QXmlEntityResolver Class Reference
- QXmlErrorHandler Class Reference
- QXmlFormatter Class Reference
- QXmlInputSource Class Reference
- QXmlItem Class Reference
- QXmlLexicalHandler Class Reference
- QXmlLocator Class Reference
- QXmlName Class Reference
- QXmlNamePool Class Reference
- QXmlNamespaceSupport Class Reference
- QXmlNodeModelIndex Class Reference
- QXmlParseException Class Reference
- QXmlQuery Class Reference
- QXmlReader Class Reference
- QXmlResultItems Class Reference
- QXmlSchema Class Reference
- QXmlSchemaValidator Class Reference
- QXmlSerializer Class Reference
- QXmlSimpleReader Class Reference
- QXmlStreamAttribute Class Reference
- QXmlStreamAttributes Class Reference
- QXmlStreamEntityDeclaration Class Reference
- QXmlStreamEntityResolver Class Reference
- QXmlStreamNamespaceDeclaration Class Reference
- QXmlStreamNotationDeclaration Class Reference
- QXmlStreamReader Class Reference
- QXmlStreamWriter Class Reference