# QSettings Class Reference
## [[QtCore](index.htm) module]
該QSettings類提供持久的與平臺無關的應用程序設置。[More...](#details)
繼承[QObject](qobject.html)。
### Types
* `enum Format { NativeFormat, IniFormat, InvalidFormat }`
* `enum Scope { UserScope, SystemScope }`
* `enum Status { NoError, AccessError, FormatError }`
### Methods
* `__init__ (self, QString?organization, QString?application?=?QString(), QObject?parent?=?None)`
* `__init__ (self, Scope?scope, QString?organization, QString?application?=?QString(), QObject?parent?=?None)`
* `__init__ (self, Format?format, Scope?scope, QString?organization, QString?application?=?QString(), QObject?parent?=?None)`
* `__init__ (self, QString?fileName, Format?format, QObject?parent?=?None)`
* `__init__ (self, QObject?parent?=?None)`
* `QStringList allKeys (self)`
* `QString applicationName (self)`
* `beginGroup (self, QString?prefix)`
* `int beginReadArray (self, QString?prefix)`
* `beginWriteArray (self, QString?prefix, int?size?=?-1)`
* `QStringList childGroups (self)`
* `QStringList childKeys (self)`
* `clear (self)`
* `bool contains (self, QString?key)`
* `endArray (self)`
* `endGroup (self)`
* `bool event (self, QEvent?event)`
* `bool fallbacksEnabled (self)`
* `QString fileName (self)`
* `Format format (self)`
* `QString group (self)`
* `QTextCodec iniCodec (self)`
* `bool isWritable (self)`
* `QString organizationName (self)`
* `remove (self, QString?key)`
* `Scope scope (self)`
* `setArrayIndex (self, int?i)`
* `setFallbacksEnabled (self, bool?b)`
* `setIniCodec (self, QTextCodec?codec)`
* `setIniCodec (self, str?codecName)`
* `setValue (self, QString?key, QVariant?value)`
* `Status status (self)`
* `sync (self)`
* `object value (self, QString?key, QVariant?defaultValue?=?QVariant(), object?type?=?None)`
### Static Methods
* `Format defaultFormat ()`
* `setDefaultFormat (Format?format)`
* `setPath (Format?format, Scope?scope, QString?path)`
* `setSystemIniPath (QString?dir)`
* `setUserIniPath (QString?dir)`
* * *
## Detailed Description
該QSettings類提供持久的與平臺無關的應用程序設置。
用戶通常期望的應用程序記住它的跨會話設置(窗口大小和位置,期權等) 。這些信息通常存儲在Windows系統注冊表,并在Mac OS X上在Unix系統中,在沒有一個標準的XML文件的偏好,許多應用程序(包括KDE應用程序)使用INI的文本文件。
QSettings是圍繞這些技術的抽象,使您能夠保存和恢復應用程序設置在一個便攜的方式。它也支持[custom storage formats](qsettings.html#registerFormat)。
QSettings的API是基于[QVariant](qvariant.html),讓您節省最大的價值為基礎的類型,如[QString](qstring.html),[QRect](qrect.html)和[QImage](qimage.html),用最小的努力。
如果你需要的是一種非持久性記憶體為基礎的結構,可以考慮使用[QMap](index.htm)\u003c[QString](qstring.html),[QVariant](qvariant.html)\u003e代替。
### Basic Usage
當創建一個QSettings對象,你必須通過你的公司或組織的名稱以及您的應用程序的名稱。例如,如果您的產品被稱為少年阿虎和您的公司被稱為MySoft ,你會興建QSettings對象,如下所示:
```
QSettings settings("MySoft", "Star Runner");
```
QSettings對象可以(即使用創建無論是在棧或堆`new`) 。構建和銷毀QSettings對象是非常快的。
如果您使用的許多地方在你的應用程序QSettings ,您可能希望使用指定的組織名稱和應用程序名稱[QCoreApplication.setOrganizationName](qcoreapplication.html#organizationName-prop)()和[QCoreApplication.setApplicationName](qcoreapplication.html#applicationName-prop)( ) ,然后使用默認的構造函數QSettings :
```
[QCoreApplication](qcoreapplication.html).setOrganizationName("MySoft");
[QCoreApplication](qcoreapplication.html).setOrganizationDomain("mysoft.com");
[QCoreApplication](qcoreapplication.html).setApplicationName("Star Runner");
...
QSettings settings;
```
(在這里,我們也可以指定組織的互聯網域名,當互聯網域名設置,它是用來代替組織名稱在Mac OS X ,因為Mac OS X的應用程序通常使用Internet域名來標識自己。如果沒有域設置,假的域是從組織名稱派生的。見[Platform-Specific Notes](#platform-specific-notes)下面的詳細信息。 )
QSettings存儲設置。每個設置由一個[QString](qstring.html)它指定該設置的名稱(在_key_)和一個[QVariant](qvariant.html)存儲與該鍵相關聯的數據。寫一個設置,使用[setValue](qsettings.html#setValue)( ) 。例如:
```
settings.setValue("editor/wrapMargin", 68);
```
如果已經存在具有相同鍵的設置,現有的值會被新值復蓋。為了提高效率,更改可能不會立即保存到永久存儲。 (您可以隨時撥打[sync](qsettings.html#sync)( )提交更改。 )
您可以使用得到一個設定的值返回[value](qsettings.html#value)():
```
int margin = settings.value("editor/wrapMargin").toInt();
```
如果沒有具有指定名稱的設置, QSettings返回null[QVariant](qvariant.html)(可以轉換為整數0)。你可以通過傳遞第二個參數指定另一個缺省值[value](qsettings.html#value)():
```
int margin = settings.value("editor/wrapMargin", 80).toInt();
```
為了測試是否一個給定的鍵存在,調用[contains](qsettings.html#contains)( ) 。要刪除一個鍵,呼叫相關的設置[remove](qsettings.html#remove)( ) 。要獲得所有鍵的列表,請致電[allKeys](qsettings.html#allKeys)( ) 。要移除所有的鍵,通話[clear](qsettings.html#clear)( ) 。
### QVariant and GUI Types
因為[QVariant](qvariant.html)是部分[QtCore](index.htm)庫,它不能提供轉換功能以數據類型,例如[QColor](qcolor.html),[QImage](qimage.html)和[QPixmap](qpixmap.html),它們是部分[QtGui](index.htm)。換句話說,沒有`toColor()`,`toImage()`或`toPixmap()`在功能[QVariant](qvariant.html)。
相反,你可以使用[QVariant.value](qvariant.html#value)()或[qVariantValue](index.htm#qVariantValue)( )模板函數。例如:
```
QSettings settings("MySoft", "Star Runner");
[QColor](qcolor.html) color = settings.value("DataPump/bgcolor").value<[QColor](qcolor.html)>();
```
逆變換(例如,從[QColor](qcolor.html)至[QVariant](qvariant.html))是自動對所支持的所有數據類型[QVariant](qvariant.html)包括GUI相關的類:
```
QSettings settings("MySoft", "Star Runner");
[QColor](qcolor.html) color = palette().background().color();
settings.setValue("DataPump/bgcolor", color);
```
自定義類型使用登記[qRegisterMetaType](qmetatype.html#qRegisterMetaType)()和[qRegisterMetaTypeStreamOperators](qmetatype.html#qRegisterMetaTypeStreamOperators)()可以使用QSettings被存儲。
### Section and Key Syntax
設置鍵可以包含任何Unicode字符。 Windows注冊表和INI文件使用不區分大小寫鍵,而在Mac OS X中的碳Preferences API使用區分大小寫鍵。為了避免可移植性問題,請遵循這些簡單的規則:
1. 總是使用相同的情況下,指的是同一個鍵。例如,如果你指的是鍵“文本字體”在一個地方在你的代碼,不稱其為“文本字體”別的地方。
2. 避免將除的情況下相同的鍵名。例如,如果您有一個名為鍵“[MainWindow](index.htm#mainwindow)“不要試圖去拯救另一個關鍵是”主窗口“ 。
3. 不要在節或鍵名稱中使用斜線(' / '和' \ ');反斜杠字符用于分隔子鍵(見下文) 。在windows '\'被QSettings轉換為'/' ,這使得它們是相同的。
您可以使用形成的“/”字符作為分隔符,類似于Unix的文件路徑分級密鑰。例如:
```
settings.setValue("mainwindow/size", win->size());
settings.setValue("mainwindow/fullScreen", win->isFullScreen());
settings.setValue("outputpanel/visible", panel->isVisible());
```
如果你想保存或恢復具有相同前綴的許多設置,您可以使用指定的前綴[beginGroup](qsettings.html#beginGroup)( )和呼叫[endGroup](qsettings.html#endGroup)()結尾。下面是同樣的例子了,但使用組機制這個時候:
```
settings.beginGroup("mainwindow");
settings.setValue("size", win->size());
settings.setValue("fullScreen", win->isFullScreen());
settings.endGroup();
settings.beginGroup("outputpanel");
settings.setValue("visible", panel->isVisible());
settings.endGroup();
```
如果一組設置使用[beginGroup](qsettings.html#beginGroup)( ) ,大部分功能的行為從而改變了。組可以遞歸集。
除了團體, QSettings還支持“數組”的概念。看[beginReadArray](qsettings.html#beginReadArray)()和[beginWriteArray](qsettings.html#beginWriteArray)( )了解詳情。
### Fallback Mechanism
讓我們假設你已經創建了一個QSettings對象與該組織名稱MySoft和應用程序的名稱少年阿虎。當你看到一個值,最多四個地點中搜索的順序:
1. 對于少年阿虎應用程序的用戶特定位置
2. 用于通過MySoft所有應用程序的用戶特定位置
3. 對于少年阿虎應用系統范圍的位置
4. 由MySoft所有應用系統范圍的位置
(見[Platform-Specific Notes](#platform-specific-notes)下面關于這些地點是在Qt所支持的不同平臺的信息。 )
如果一個密鑰不能在第一位置被發現,搜索繼續在第二的位置,并依此類推。這使您能夠存儲系統范圍或組織范圍內設置,并復蓋它們基于每個用戶或每個應用程序的基礎。要關閉此機制,調用setFallbacksEnabled (假) 。
雖然可用于讀取來自所有四個位置的鍵,僅在第一個文件(手頭的應用程序的用戶特定位置)是用于寫訪問。要寫入的任何其他文件,省略了應用程序的名稱和/或指定[QSettings.SystemScope](qsettings.html#Scope-enum)(相對于[QSettings.UserScope](qsettings.html#Scope-enum),默認值) 。
讓我們用一個例子來看看:
```
QSettings obj1("MySoft", "Star Runner");
QSettings obj2("MySoft");
QSettings obj3(QSettings.SystemScope, "MySoft", "Star Runner");
QSettings obj4(QSettings.SystemScope, "MySoft");
```
下表總結了QSettings對象的訪問哪個位置。 “**X**“表示該位置是相關聯的主力位置的QSettings對象,并同時用于閱讀和寫作, ”O“是指閱讀時的位置作為后備。
| Locations | `obj1` | `obj2` | `obj3` | `obj4` |
| --- | --- | --- | --- | --- |
| 1\. User, Application | **X** | | | |
| 2\. User, Organization | o | **X** | | |
| 3\. System, Application | o | | **X** | |
| 4\. System, Organization | o | o | o | **X** |
這種機制的好處在于,它可以在Qt所支持的所有平臺,并且它還是給你一個很大的靈活性,而不需要你指定的任何文件名或注冊表路徑。
如果你想使用在所有平臺上,而不是原生API INI文件,你可以傳遞[QSettings.IniFormat](qsettings.html#Format-enum)作為第一個參數傳遞給QSettings的構造函數,其次是范圍,組織名稱和應用程序名稱:
```
QSettings settings(QSettings.IniFormat, QSettings.UserScope,
"MySoft", "Star Runner");
```
該[Settings Editor](index.htm)例如,您可以嘗試不同的設置位置,并作為默認選擇開啟或關閉。
### Restoring the State of a GUI Application
QSettings通常被用來存儲一個圖形用戶界面的應用程序的狀態。下面的例子演示了如何使用QSettings來保存和恢復應用程序的主窗口的幾何形狀。
```
void MainWindow.writeSettings()
{
QSettings settings("Moose Soft", "Clipper");
settings.beginGroup("MainWindow");
settings.setValue("size", size());
settings.setValue("pos", pos());
settings.endGroup();
}
void MainWindow.readSettings()
{
QSettings settings("Moose Soft", "Clipper");
settings.beginGroup("MainWindow");
resize(settings.value("size", [QSize](qsize.html)(400, 400)).toSize());
move(settings.value("pos", [QPoint](qpoint.html)(200, 200)).toPoint());
settings.endGroup();
}
```
See [Window Geometry](index.htm#window-geometry)關于為什么它是最好打電話討論[QWidget.resize](qwidget.html#size-prop)()和[QWidget.move](qwidget.html#pos-prop)( ),而不是[QWidget.setGeometry](qwidget.html#geometry-prop)( )來還原窗口的幾何形狀。
該`readSettings()`和`writeSettings()`功能必須從主窗口的構造函數和close事件處理程序中調用如下:
```
MainWindow.MainWindow()
{
...
readSettings();
}
void MainWindow.closeEvent([QCloseEvent](qcloseevent.html) *event)
{
if (userReallyWantsToQuit()) {
writeSettings();
event->accept();
} else {
event->ignore();
}
}
```
請參閱[Application](index.htm)例如對于使用QSettings一個自包含的例子。
### Accessing Settings from Multiple Threads or Processes Simultaneously
QSettings是[reentrant](index.htm#reentrant)。這意味著,你可以在不同的線程中同時使用不同的QSettings對象。這保證代表,即使在??QSettings對象引用磁盤上的同一個文件(或在系統注冊表中的相同條目) 。如果設置是通過一個QSettings對象修改,更改將立即可見在同一位置上運行,而且住在同一個過程中的任何其他QSettings對象。
QSettings可以安全使用來自不同的進程(可以是您的應用程序在同一時間或不同的應用程序運行完全不同的實例)來讀取和寫入到同一個系統中的位置。它使用的諮詢文件鎖定和智能融合算法,以確保數據的完整性。需要注意的是[sync](qsettings.html#sync)( )進口(除了寫這個QSettings的變化)由其他進程的變化。
### Platform-Specific Notes
#### Locations Where Application Settings Are Stored
誠如[Fallback Mechanism](#fallback-mechanism)節中, QSettings存儲設置在四個位置,這取決于設置是否用戶特定的或系統范圍以及是否設置是特定于應用程序或組織范圍內的應用程序。為簡單起見,我們假設該組織被稱為MySoft和應用程序被稱為少年阿虎。
在Unix系統中,如果文件格式是[NativeFormat](qsettings.html#Format-enum),以下文件默認情況下使用:
1. `$HOME/.config/MySoft/Star Runner.conf`( Qt嵌入式Linux操作系統:`$HOME/Settings/MySoft/Star Runner.conf`)
2. `$HOME/.config/MySoft.conf`( Qt嵌入式Linux操作系統:`$HOME/Settings/MySoft.conf`)
3. `/etc/xdg/MySoft/Star Runner.conf`
4. `/etc/xdg/MySoft.conf`
在Mac OS X版本10.2和10.3 ,這些文件默認情況下使用:
1. `$HOME/Library/Preferences/com.MySoft.Star Runner.plist`
2. `$HOME/Library/Preferences/com.MySoft.plist`
3. `/Library/Preferences/com.MySoft.Star Runner.plist`
4. `/Library/Preferences/com.MySoft.plist`
在Windows上,[NativeFormat](qsettings.html#Format-enum)設置存儲在以下注冊表??路徑:
1. `HKEY_CURRENT_USER\Software\MySoft\Star Runner`
2. `HKEY_CURRENT_USER\Software\MySoft`
3. `HKEY_LOCAL_MACHINE\Software\MySoft\Star Runner`
4. `HKEY_LOCAL_MACHINE\Software\MySoft`
**Note:**在Windows上,在WOW64模式下運行32位程序,設置存儲在以下注冊表路徑:`HKEY_LOCAL_MACHINE\Software\WOW6432node`。
如果文件格式是[IniFormat](qsettings.html#Format-enum)下列文件用于在Unix和Mac OS X :
1. `$HOME/.config/MySoft/Star Runner.ini`( Qt嵌入式Linux操作系統:`$HOME/Settings/MySoft/Star Runner.ini`)
2. `$HOME/.config/MySoft.ini`( Qt嵌入式Linux操作系統:`$HOME/Settings/MySoft.ini`)
3. `/etc/xdg/MySoft/Star Runner.ini`
4. `/etc/xdg/MySoft.ini`
在Windows中,下列文件用于:
1. `%APPDATA%\MySoft\Star Runner.ini`
2. `%APPDATA%\MySoft.ini`
3. `%COMMON_APPDATA%\MySoft\Star Runner.ini`
4. `%COMMON_APPDATA%\MySoft.ini`
該`%APPDATA%`路徑通常是`C:\Documents and Settings\_User Name_\Application Data`;的`%COMMON_APPDATA%`路徑通常是`C:\Documents and Settings\All Users\Application Data`。
在Symbian ,用于以下兩個文件[IniFormat](qsettings.html#Format-enum)和[NativeFormat](qsettings.html#Format-enum)(在這個例子中,我們假定該應用程序被安裝在`e-drive`和它的安全ID是`0xECB00931`) :
1. `c:\data\.config\MySoft\Star Runner.conf`
2. `c:\data\.config\MySoft.conf`
3. `e:\private\ecb00931\MySoft\Star Runner.conf`
4. `e:\private\ecb00931\MySoft.conf`
該[SystemScope](qsettings.html#Scope-enum)設置位置是從應用程序的安裝驅動器和安全ID ( UID3 )確定。如果應用程序是內置在ROM上,驅動器用于[SystemScope](qsettings.html#Scope-enum) is `c:`。
**Note:**塞班[SystemScope](qsettings.html#Scope-enum)設置為默認私有的應用程序和應用程序之間不共享,不像其他的環境。
為路徑`.ini`和`.conf`文件可以通過改變[setPath](qsettings.html#setPath)( ) 。在Unix和Mac OS X ,用戶可以重寫它們通過設置`XDG_CONFIG_HOME`環境變量,見[setPath](qsettings.html#setPath)( )了解詳情。
#### Accessing INI and .plist Files Directly
有時候,你想訪問存儲在一個特定的文件或注冊表路徑設置。在所有的平臺上,如果你想直接讀取INI文件,則可以使用QSettings的構造函數接受一個文件名作為第一個參數,并通過[QSettings.IniFormat](qsettings.html#Format-enum)作為第二個參數。例如:
```
QSettings settings("/home/petra/misc/myapp.ini",
QSettings.IniFormat);
```
然后,您可以使用QSettings對象來讀取和寫入文件中的設置。
在Mac OS X中,可以訪問基于XML的`.plist`通過傳遞文件[QSettings.NativeFormat](qsettings.html#Format-enum)作為第二個參數。例如:
```
QSettings settings("/Users/petra/misc/myapp.plist",
QSettings.NativeFormat);
```
#### Accessing the Windows Registry Directly
在Windows中, QSettings可以讓你訪問已寫入和QSettings (或設置,支持的格式,例如,字符串數據)在系統注冊表設置。這是通過構建一個QSettings對象在注冊表中的路徑和完成[QSettings.NativeFormat](qsettings.html#Format-enum)。
例如:
```
QSettings settings("HKEY_CURRENT_USER\\Software\\Microsoft\\Office",
QSettings.NativeFormat);
```
所有出現在指定路徑下的注冊表項,可以讀取或通過QSettings對象寫像往常一樣(使用正斜杠,而不是反斜杠) 。例如:
```
settings.setValue("11.0/Outlook/Security/DontTrustInstalledFiles", 0);
```
需要注意的是反斜杠字符是,如前所述,使用QSettings來單獨的子項。因此,您無法讀取或寫入包含斜杠或反斜杠Windows的注冊表條目,您必須使用本機Windows API,如果你需要的話。
#### Accessing Common Registry Settings on Windows
在Windows上,它有可能為一鍵都有一個值和子項。它的默認值是使用“默認”或訪問“ 。 ”代替一個子項:
```
settings.setValue("HKEY_CURRENT_USER\\MySoft\\Star Runner\\Galaxy", "Milkyway");
settings.setValue("HKEY_CURRENT_USER\\MySoft\\Star Runner\\Galaxy\\Sun", "OurStar");
settings.value("HKEY_CURRENT_USER\\MySoft\\Star Runner\\Galaxy\\Default"); // returns "Milkyway"
```
在其它非Windows平臺, “默認”和“ 。 ”將被視為常規的子項。
#### Securing application settings in Symbian
[UserScope](qsettings.html#Scope-enum)在Symbian的設置是可寫的默認的應用程序。為了保護和訪問其他應用程序篡改應用程序設置,該設置需要放置在應用程序的私有安全區域。這可以通過直接指定給私人區域中的設置存儲路徑來完成。下面的代碼片斷改變[UserScope](qsettings.html#Scope-enum)至`c:/private/ecb00931/MySoft.conf`(提供的應用程序被安裝在`c-drive`和它的安全ID是`0xECB00931`:
```
QSettings settings([QApplication](qapplication.html).applicationDirPath() + "/MySoft.conf");
```
架構庫(如Qt本身)可以使用存儲配置和高速緩存設置[UserScope](qsettings.html#Scope-enum),這是方便和可寫的其他應用程序。如果應用程序是很安全的敏感或采用高平臺的安全功能,它可以謹慎地也迫使框架的設置將存儲在應用程序的私有目錄。這可以通過改變的缺省路徑進行[UserScope](qsettings.html#Scope-enum)前[QApplication](qapplication.html)創建:
```
#include <QSettings>
#include <QDesktopServices>
int main(int argc, char *argv[])
{
#ifdef Q_OS_SYMBIAN
// Use QDesktopServices:storageLocation as QApplication is not yet created
QSettings.setPath(
QSettings.NativeFormat, QSettings.UserScope,
[QDesktopServices](qdesktopservices.html).storageLocation([QDesktopServices](qdesktopservices.html).DataLocation) + "/settings");
#endif
[QApplication](qapplication.html) app(argc, argv);
...
}
```
請注意,這可能會影響框架庫“功能,如果他們希望在應用程序之間共享的設置。
#### Changing the location of global Qt settings on Mac OS X
在Mac OS X ,全球Qt的設置(存儲在`com.trolltech.plist`)存儲在兩種情況下應用程序設置文件:
1. 如果應用程序在Mac OS X中的沙箱運行(在Mac OS X 10.7或更高版本)或
2. 如果`Info.plist`該應用程序的文件中包含的關鍵`"ForAppStore"`與該值`"yes"`
在這些情況下,應用程序設置文件使用該應用程序的包標識符,它因此必須在應用程序的設置命名`Info.plist`文件中。
此功能提供方便的Qt應用程序的驗收到Mac App Store的,如在存儲全局的Qt設置的默認行為`com.trolltech.plist`文件不符合Mac App Store的文件系統的使用要求。有關提交Qt應用程序在Mac App Store的更多信息,請參閱 [Preparing a Qt application for Mac App Store submission](index.htm#preparing-a-qt-application-for-mac-app-store-submission)。
#### Platform Limitations
盡管QSettings試圖撫平支持的不同的平臺之間的差異,還存在著一些分歧,你應該知道,當移植應用程序的:
* The Windows system registry has the following limitations: A subkey may not exceed 255 characters, an entry's value may not exceed 16,383 characters, and all the values of a key may not exceed 65,535 characters. One way to work around these limitations is to store the settings using the [IniFormat](qsettings.html#Format-enum) instead of the [NativeFormat](qsettings.html#Format-enum).
* On Mac OS X, [allKeys](qsettings.html#allKeys)() will return some extra keys for global settings that apply to all applications. These keys can be read using [value](qsettings.html#value)() but cannot be changed, only shadowed. Calling setFallbacksEnabled(false) will hide these global settings.
* On Mac OS X, the CFPreferences API used by QSettings expects Internet domain names rather than organization names. To provide a uniform API, QSettings derives a fake domain name from the organization name (unless the organization name already is a domain name, e.g. OpenOffice.org). The algorithm appends ".com" to the company name and replaces spaces and other illegal characters with hyphens. If you want to specify a different domain name, call [QCoreApplication.setOrganizationDomain](qcoreapplication.html#organizationDomain-prop)(), [QCoreApplication.setOrganizationName](qcoreapplication.html#organizationName-prop)(), and [QCoreApplication.setApplicationName](qcoreapplication.html#applicationName-prop)() in your `main()` function and then use the default QSettings constructor. Another solution is to use preprocessor directives, for example:
```
#ifdef Q_WS_MAC
QSettings settings("grenoullelogique.fr", "Squash");
#else
QSettings settings("Grenoulle Logique", "Squash");
#endif
```
* On Unix and Mac OS X systems, the advisory file locking is disabled if NFS (or AutoFS or CacheFS) is detected to work around a bug in the NFS fcntl() implementation, which hangs forever if statd or lockd aren't running. Also, the locking isn't performed when accessing `.plist` files.
* On the BlackBerry platform, applications run in a sandbox. They are not allowed to read or write outside of this sandbox. This involves the following limitations:
* As there is only a single scope the scope is simply ignored.
* The [Fallback Mechanism](#fallback-mechanism) is not applied, i.e. only a single location is considered.
* It is advised against setting and using custom file paths.
* * *
## Type Documentation
```
QSettings.Format
```
該枚舉類型指定使用的存儲格式[QSettings](qsettings.html)。
| Constant | Value | Description |
| --- | --- | --- |
| `QSettings.NativeFormat` | `0` | Store the settings using the most appropriate storage format for the platform. On Windows, this means the system registry; on Mac OS X, this means the CFPreferences API; on Unix, this means textual configuration files in INI format. |
| `QSettings.IniFormat` | `1` | 存儲在INI文件中的設置。 |
| `QSettings.InvalidFormat` | `16` | 特殊值返回的[registerFormat](qsettings.html#registerFormat)( ) 。 |
在Unix上, NativeFormat和IniFormat意思是一樣的,只是文件擴展名是不同的(`.conf`為NativeFormat ,`.ini`為IniFormat ) 。
INI文件的格式是, Qt支持所有平臺上的Windows文件格式。在沒有一個INI標準,我們嘗試按照微軟確實,但下列情況除外:
* If you store types that [QVariant](qvariant.html) can't convert to [QString](qstring.html) (e.g., [QPoint](qpoint.html), [QRect](qrect.html), and [QSize](qsize.html)), Qt uses an `@`-based syntax to encode the type. For example:
```
pos = @Point(100 100)
```
為了最大限度地減少兼容性問題,任何`@`沒有出現在值的第一個位置或后面沒有一個Qt類型(`Point`,`Rect`,`Size`等)被視為普通字符。
* Although backslash is a special character in INI files, most Windows applications don't escape backslashes (`\`) in file paths:
```
windir = C:\Windows
```
[QSettings](qsettings.html)始終將反斜杠為一個特殊字符,并提供用于讀取或寫入這樣的條目沒有API 。
* The INI file format has severe restrictions on the syntax of a key. Qt works around this by using `%` as an escape character in keys. In addition, if you save a top-level setting (a key with no slashes in it, e.g., "someKey"), it will appear in the INI file's "General" section. To avoid overwriting other keys, if you save something using the a key such as "General/someKey", the key will be located in the "%General" section, _not_ in the "General" section.
* Following the philosophy that we should be liberal in what we accept and conservative in what we generate, [QSettings](qsettings.html) will accept Latin-1 encoded INI files, but generate pure ASCII files, where non-ASCII values are encoded using standard INI escape sequences. To make the INI files more readable (but potentially less compatible), call [setIniCodec](qsettings.html#setIniCodec)().
**See also** [registerFormat](qsettings.html#registerFormat)()和[setPath](qsettings.html#setPath)( ) 。
```
QSettings.Scope
```
此枚舉指定的設置是否用戶特定的或同一系統的所有用戶共享。
| Constant | Value | Description |
| --- | --- | --- |
| `QSettings.UserScope` | `0` | 在特定于當前用戶(例如,在用戶的主目錄)的位置存儲設置。 |
| `QSettings.SystemScope` | `1` | 在全球的位置存儲設置,使在同一臺機器上的所有用戶訪問同一組的設置。 |
**See also** [setPath](qsettings.html#setPath)( ) 。
```
QSettings.Status
```
下面的狀態值是可能的:
| Constant | Value | Description |
| --- | --- | --- |
| `QSettings.NoError` | `0` | 未發生錯誤。 |
| `QSettings.AccessError` | `1` | 出現訪問錯誤(例如試圖寫一個只讀文件) 。 |
| `QSettings.FormatError` | `2` | 發生了格式錯誤(例如加載一個格式錯誤的INI文件) 。 |
**See also** [status](qsettings.html#status)( ) 。
* * *
## Method Documentation
```
QSettings.__init__ (self, QString?organization, QString?application?=?QString(), QObject?parent?=?None)
```
該_parent_的說法,如果不是沒有,原因_self_通過Qt的,而不是PyQt的擁有。
構造一個[QSettings](qsettings.html)對象,用于訪問應用程序的設置,稱為_application_從所謂的組織_organization_,并與家長_parent_。
例如:
```
[QSettings](qsettings.html) settings("Moose Tech", "Facturo-Pro");
```
范圍設置為[QSettings.UserScope](qsettings.html#Scope-enum)以及格式被設置為[QSettings.NativeFormat](qsettings.html#Format-enum)(即調用[setDefaultFormat](qsettings.html#setDefaultFormat)( )之前調用此構造函數沒有效果) 。
**See also** [setDefaultFormat](qsettings.html#setDefaultFormat)()和[Fallback Mechanism](qsettings.html#fallback-mechanism)。
```
QSettings.__init__ (self, Scope?scope, QString?organization, QString?application?=?QString(), QObject?parent?=?None)
```
該_parent_的說法,如果不是沒有,原因_self_通過Qt的,而不是PyQt的擁有。
構造一個[QSettings](qsettings.html)對象,用于訪問應用程序的設置,稱為_application_從所謂的組織_organization_,并與家長_parent_。
If _scope_ is [QSettings.UserScope](qsettings.html#Scope-enum)時,[QSettings](qsettings.html)對象首先搜索用戶特定的設置,它會搜索系統范圍的設置作為后備之前。如果_scope_ is [QSettings.SystemScope](qsettings.html#Scope-enum)時,[QSettings](qsettings.html)對象將忽略用戶特定的設置,并提供訪問系統范圍的設置。
存儲格式被設置為[QSettings.NativeFormat](qsettings.html#Format-enum)(即調用[setDefaultFormat](qsettings.html#setDefaultFormat)( )之前調用此構造函數沒有效果) 。
如果沒有應用程序名,則該[QSettings](qsettings.html)對象將只能訪問整個組織的[locations](qsettings.html#fallback-mechanism)。
**See also** [setDefaultFormat](qsettings.html#setDefaultFormat)( ) 。
```
QSettings.__init__ (self, Format?format, Scope?scope, QString?organization, QString?application?=?QString(), QObject?parent?=?None)
```
該_parent_的說法,如果不是沒有,原因_self_通過Qt的,而不是PyQt的擁有。
構造一個[QSettings](qsettings.html)對象,用于訪問應用程序的設置,稱為_application_從所謂的組織_organization_,并與家長_parent_。
If _scope_ is [QSettings.UserScope](qsettings.html#Scope-enum)時,[QSettings](qsettings.html)對象首先搜索用戶特定的設置,它會搜索系統范圍的設置作為后備之前。如果_scope_ is [QSettings.SystemScope](qsettings.html#Scope-enum)時,[QSettings](qsettings.html)對象將忽略用戶特定的設置,并提供訪問系統范圍的設置。
If _format_ is [QSettings.NativeFormat](qsettings.html#Format-enum),本機API被用于存儲設置。如果_format_ is [QSettings.IniFormat](qsettings.html#Format-enum)中, INI格式被使用。
如果沒有應用程序名,則該[QSettings](qsettings.html)對象將只能訪問整個組織的[locations](qsettings.html#fallback-mechanism)。
```
QSettings.__init__ (self, QString?fileName, Format?format, QObject?parent?=?None)
```
該_parent_的說法,如果不是沒有,原因_self_通過Qt的,而不是PyQt的擁有。
構造一個[QSettings](qsettings.html)對象用于訪問存儲在名為該文件中的設置_fileName_,與父_parent_。如果文件不存在,則創建它。
If _format_ is [QSettings.NativeFormat](qsettings.html#Format-enum),的意思_fileName_取決于平臺。在Unix上,_fileName_是INI文件的名稱。在Mac OS X ,_fileName_是一個名字`.plist`文件中。在Windows上,_fileName_是在系統注冊表中的路徑。
If _format_ is [QSettings.IniFormat](qsettings.html#Format-enum),_fileName_是INI文件的名稱。
**Warning:**此功能提供了方便。它的工作原理以及用于訪問INI或`.plist`通過Qt的產生,但文件可能在最初由其他程序,文件,發現了一些語法失敗。尤其要注意以下限制:
* [QSettings](qsettings.html) provides no way of reading INI "path" entries, i.e., entries with unescaped slash characters. (This is because these entries are ambiguous and cannot be resolved automatically.)
* In INI files, [QSettings](qsettings.html) uses the `@` character as a metacharacter in some contexts, to encode Qt-specific data types (e.g., `@Rect`), and might therefore misinterpret it when it occurs in pure INI files.
**See also** [fileName](qsettings.html#fileName)( ) 。
```
QSettings.__init__ (self, QObject?parent?=?None)
```
該_parent_的說法,如果不是沒有,原因_self_通過Qt的,而不是PyQt的擁有。
構造一個[QSettings](qsettings.html)對象用于訪問應用程序和組織的設置與調用先前設置[QCoreApplication.setOrganizationName](qcoreapplication.html#organizationName-prop)( )[QCoreApplication.setOrganizationDomain](qcoreapplication.html#organizationDomain-prop)()和[QCoreApplication.setApplicationName](qcoreapplication.html#applicationName-prop)( ) 。
的范圍是[QSettings.UserScope](qsettings.html#Scope-enum)和格式是[defaultFormat](qsettings.html#defaultFormat)( ) ([QSettings.NativeFormat](qsettings.html#Format-enum)默認情況下) 。使用[setDefaultFormat](qsettings.html#setDefaultFormat)( )調用此構造函數來改變使用此構造函數的默認格式之前。
代碼
```
[QSettings](qsettings.html) settings("Moose Soft", "Facturo-Pro");
```
相當于
```
[QCoreApplication](qcoreapplication.html).setOrganizationName("Moose Soft");
[QCoreApplication](qcoreapplication.html).setApplicationName("Facturo-Pro");
[QSettings](qsettings.html) settings;
```
If [QCoreApplication.setOrganizationName](qcoreapplication.html#organizationName-prop)()和[QCoreApplication.setApplicationName](qcoreapplication.html#applicationName-prop)()先前沒有被調用,在[QSettings](qsettings.html)對象將不能讀取或寫入的任何設置,并[status](qsettings.html#status)( )將返回[AccessError](qsettings.html#Status-enum)。
在Mac OS X中,如果兩個名稱和互聯網域名都為組織指定的域優先于名稱。在其他平臺上,該名優先于域。
**See also** [QCoreApplication.setOrganizationName](qcoreapplication.html#organizationName-prop)( )[QCoreApplication.setOrganizationDomain](qcoreapplication.html#organizationDomain-prop)( )[QCoreApplication.setApplicationName](qcoreapplication.html#applicationName-prop)()和[setDefaultFormat](qsettings.html#setDefaultFormat)( ) 。
```
QStringList QSettings.allKeys (self)
```
返回所有鍵,包括子項的列表,可以使用讀取的[QSettings](qsettings.html)對象。
例如:
```
[QSettings](qsettings.html) settings;
settings.setValue("fridge/color", [Qt](qt.html).white);
settings.setValue("fridge/size", [QSize](qsize.html)(32, 96));
settings.setValue("sofa", true);
settings.setValue("tv", false);
[QStringList](qstringlist.html) keys = settings.allKeys();
// keys: ["fridge/color", "fridge/size", "sofa", "tv"]
```
如果一組設置使用[beginGroup](qsettings.html#beginGroup)( )只返回該組中的按鍵,沒有組前綴:
```
settings.beginGroup("fridge");
keys = settings.allKeys();
// keys: ["color", "size"]
```
**See also** [childGroups](qsettings.html#childGroups)()和[childKeys](qsettings.html#childKeys)( ) 。
```
QString QSettings.applicationName (self)
```
返回用于存儲設置的應用程序的名稱。
此功能被引入Qt的4.4 。
**See also** [QCoreApplication.applicationName](qcoreapplication.html#applicationName-prop)( )[format](qsettings.html#format)( )[scope](qsettings.html#scope)()和[organizationName](qsettings.html#organizationName)( ) 。
```
QSettings.beginGroup (self, QString?prefix)
```
追加可_prefix_到當前組。
當前組會自動追加到指定所有鍵[QSettings](qsettings.html)。此外,查詢功能,如[childGroups](qsettings.html#childGroups)( )[childKeys](qsettings.html#childKeys)()和[allKeys](qsettings.html#allKeys)( )是基于組。缺省情況下,組設置。
組是有用的,以避免一遍又一遍相同的設置路徑打字。例如:
```
settings.beginGroup("mainwindow");
settings.setValue("size", win->size());
settings.setValue("fullScreen", win->isFullScreen());
settings.endGroup();
settings.beginGroup("outputpanel");
settings.setValue("visible", panel->isVisible());
settings.endGroup();
```
這將設置的三個設置值:
* `mainwindow/size`
* `mainwindow/fullScreen`
* `outputpanel/visible`
Call [endGroup](qsettings.html#endGroup)( )到當前組復位到它是什么相應的beginGroup ( )調用之前。組可以嵌套。
**See also** [endGroup](qsettings.html#endGroup)()和[group](qsettings.html#group)( ) 。
```
int QSettings.beginReadArray (self, QString?prefix)
```
添加_prefix_到當前組,并開始從數組中讀取。返回該數組的大小。
例如:
```
struct Login {
[QString](qstring.html) userName;
[QString](qstring.html) password;
};
[QList](index.htm)<Login> logins;
...
[QSettings](qsettings.html) settings;
int size = settings.beginReadArray("logins");
for (int i = 0; i < size; ++i) {
settings.setArrayIndex(i);
Login login;
login.userName = settings.value("userName").toString();
login.password = settings.value("password").toString();
logins.append(login);
}
settings.endArray();
```
使用[beginWriteArray](qsettings.html#beginWriteArray)()寫在首位的數組。
**See also** [beginWriteArray](qsettings.html#beginWriteArray)( )[endArray](qsettings.html#endArray)()和[setArrayIndex](qsettings.html#setArrayIndex)( ) 。
```
QSettings.beginWriteArray (self, QString?prefix, int?size?=?-1)
```
添加_prefix_到當前組,并開始寫大小的數組_size_。如果_size_為-1 (默認值) ,它會自動根據寫入的條目的索引號。
如果你有一定的組鍵的許多事件,你可以使用數組,使您的生活更輕松。例如,讓我們假設你想保存的用戶名和密碼的長度可變的列表。那么你可以這樣寫:
```
struct Login {
[QString](qstring.html) userName;
[QString](qstring.html) password;
};
[QList](index.htm)<Login> logins;
...
[QSettings](qsettings.html) settings;
settings.beginWriteArray("logins");
for (int i = 0; i < logins.size(); ++i) {
settings.setArrayIndex(i);
settings.setValue("userName", list.at(i).userName);
settings.setValue("password", list.at(i).password);
}
settings.endArray();
```
生成的密鑰將有形式
* `logins/size`
* `logins/1/userName`
* `logins/1/password`
* `logins/2/userName`
* `logins/2/password`
* `logins/3/userName`
* `logins/3/password`
* ...
讀回一個數組,使用[beginReadArray](qsettings.html#beginReadArray)( ) 。
**See also** [beginReadArray](qsettings.html#beginReadArray)( )[endArray](qsettings.html#endArray)()和[setArrayIndex](qsettings.html#setArrayIndex)( ) 。
```
QStringList QSettings.childGroups (self)
```
返回包含所有按鍵鍵頂層組的列表,可以使用讀取的[QSettings](qsettings.html)對象。
例如:
```
[QSettings](qsettings.html) settings;
settings.setValue("fridge/color", [Qt](qt.html).white);
settings.setValue("fridge/size", [QSize](qsize.html)(32, 96));
settings.setValue("sofa", true);
settings.setValue("tv", false);
[QStringList](qstringlist.html) groups = settings.childGroups();
// groups: ["fridge"]
```
如果一組設置使用[beginGroup](qsettings.html#beginGroup)( ) ,則返回該組中的第一級按鍵,沒有組前綴。
```
settings.beginGroup("fridge");
groups = settings.childGroups();
// groups: []
```
您可以通過整個層次結構設置使用導航[childKeys](qsettings.html#childKeys)()和childGroups ( )遞歸。
**See also** [childKeys](qsettings.html#childKeys)()和[allKeys](qsettings.html#allKeys)( ) 。
```
QStringList QSettings.childKeys (self)
```
返回所有頂級鍵的列表,可以使用讀取的[QSettings](qsettings.html)對象。
例如:
```
[QSettings](qsettings.html) settings;
settings.setValue("fridge/color", [Qt](qt.html).white);
settings.setValue("fridge/size", [QSize](qsize.html)(32, 96));
settings.setValue("sofa", true);
settings.setValue("tv", false);
[QStringList](qstringlist.html) keys = settings.childKeys();
// keys: ["sofa", "tv"]
```
如果一組設置使用[beginGroup](qsettings.html#beginGroup)( ) ,則返回該組中的頂級鍵,而不群的前綴:
```
settings.beginGroup("fridge");
keys = settings.childKeys();
// keys: ["color", "size"]
```
您可以通過整個層次結構設置使用CHILDKEYS瀏覽()和[childGroups](qsettings.html#childGroups)( )遞歸。
**See also** [childGroups](qsettings.html#childGroups)()和[allKeys](qsettings.html#allKeys)( ) 。
```
QSettings.clear (self)
```
刪除所有條目關聯到這個主位置[QSettings](qsettings.html)對象。
在備用位置的條目不會被刪除。
如果你只是想刪除當前條目[group](qsettings.html#group)( ) ,使用刪除(“” )來代替。
**See also** [remove](qsettings.html#remove)()和[setFallbacksEnabled](qsettings.html#setFallbacksEnabled)( ) 。
```
bool QSettings.contains (self, QString?key)
```
如果存在一個名為設置,則返回True_key_否則返回False 。
如果一組設置使用[beginGroup](qsettings.html#beginGroup)( )_key_被視為相對于該組。
請注意,Windows注冊表和INI文件使用不區分大小寫鍵,而在Mac OS X中的碳Preferences API使用區分大小寫鍵。為了避免可移植性問題,請參見[Section and Key Syntax](qsettings.html#section-and-key-syntax)規則。
**See also** [value](qsettings.html#value)()和[setValue](qsettings.html#setValue)( ) 。
```
Format QSettings.defaultFormat ()
```
[](qsettings.html#Format-enum)
[用于存儲的設置返回默認文件格式](qsettings.html#Format-enum)[QSettings](qsettings.html)([QObject](qobject.html)* )構造函數。如果沒有默認格式設置,[QSettings.NativeFormat](qsettings.html#Format-enum)被使用。
此功能被引入Qt的4.4 。
**See also** [setDefaultFormat](qsettings.html#setDefaultFormat)()和[format](qsettings.html#format)( ) 。
```
QSettings.endArray (self)
```
關閉已啟動使用數組[beginReadArray](qsettings.html#beginReadArray)()或[beginWriteArray](qsettings.html#beginWriteArray)( ) 。
**See also** [beginReadArray](qsettings.html#beginReadArray)()和[beginWriteArray](qsettings.html#beginWriteArray)( ) 。
```
QSettings.endGroup (self)
```
復位組,這是什么相應的前[beginGroup](qsettings.html#beginGroup)( )調用。
例如:
```
settings.beginGroup("alpha");
// settings.group() == "alpha"
settings.beginGroup("beta");
// settings.group() == "alpha/beta"
settings.endGroup();
// settings.group() == "alpha"
settings.endGroup();
// settings.group() == ""
```
**See also** [beginGroup](qsettings.html#beginGroup)()和[group](qsettings.html#group)( ) 。
```
bool QSettings.event (self, QEvent?event)
```
從重新實現[QObject.event](qobject.html#event)( ) 。
```
bool QSettings.fallbacksEnabled (self)
```
返回True如果啟用了回退,否則返回False 。
默認情況下,回退啟用。
**See also** [setFallbacksEnabled](qsettings.html#setFallbacksEnabled)( ) 。
```
QString QSettings.fileName (self)
```
返回在使用此書面設置的路徑[QSettings](qsettings.html)對象被存儲。
在Windows上,如果格式是[QSettings.NativeFormat](qsettings.html#Format-enum),返回值是一個系統注冊表路徑,而不是文件路徑。
**See also** [isWritable](qsettings.html#isWritable)()和[format](qsettings.html#format)( ) 。
```
Format QSettings.format (self)
```
[
返回用于存儲設置的格式。
此功能被引入Qt的4.4 。
](qsettings.html#Format-enum)
[**See also**](qsettings.html#Format-enum) [defaultFormat](qsettings.html#defaultFormat)( )[fileName](qsettings.html#fileName)( )[scope](qsettings.html#scope)( )[organizationName](qsettings.html#organizationName)()和[applicationName](qsettings.html#applicationName)( ) 。
```
QString QSettings.group (self)
```
返回當前組。
**See also** [beginGroup](qsettings.html#beginGroup)()和[endGroup](qsettings.html#endGroup)( ) 。
```
QTextCodec QSettings.iniCodec (self)
```
[
返回用于訪問INI文件的編解碼器。缺省情況下,編解碼器使用,所以返回空指針。
此功能被引入Qt的4.5 。
](qtextcodec.html)
[**See also**](qtextcodec.html) [setIniCodec](qsettings.html#setIniCodec)( ) 。
```
bool QSettings.isWritable (self)
```
返回True如果設置可以使用此寫入[QSettings](qsettings.html)對象,否則返回False 。
為什么isWritable ( )也可能返回False的原因之一是,如果[QSettings](qsettings.html)運行在一個只讀文件。
**Warning:**此功能是不完全可靠,因為文件權限可以隨時更改。
**See also** [fileName](qsettings.html#fileName)( )[status](qsettings.html#status)()和[sync](qsettings.html#sync)( ) 。
```
QString QSettings.organizationName (self)
```
返回用于存儲設置的組織名稱。
此功能被引入Qt的4.4 。
**See also** [QCoreApplication.organizationName](qcoreapplication.html#organizationName-prop)( )[format](qsettings.html#format)( )[scope](qsettings.html#scope)()和[applicationName](qsettings.html#applicationName)( ) 。
```
QSettings.remove (self, QString?key)
```
刪除設置_key_和任何一個子設定_key_。
例如:
```
[QSettings](qsettings.html) settings;
settings.setValue("ape");
settings.setValue("monkey", 1);
settings.setValue("monkey/sea", 2);
settings.setValue("monkey/doe", 4);
settings.remove("monkey");
[QStringList](qstringlist.html) keys = settings.allKeys();
// keys: ["ape"]
```
請注意,如果回退的地點之一包含具有相同鍵的設置,該設置將調用remove ( )后是可見的。
If _key_是一個空字符串,在目前的所有鍵[group](qsettings.html#group)()被除去。例如:
```
[QSettings](qsettings.html) settings;
settings.setValue("ape");
settings.setValue("monkey", 1);
settings.setValue("monkey/sea", 2);
settings.setValue("monkey/doe", 4);
settings.beginGroup("monkey");
settings.remove("");
settings.endGroup();
[QStringList](qstringlist.html) keys = settings.allKeys();
// keys: ["ape"]
```
請注意,Windows注冊表和INI文件使用不區分大小寫鍵,而在Mac OS X中的碳Preferences API使用區分大小寫鍵。為了避免可移植性問題,請參見[Section and Key Syntax](qsettings.html#section-and-key-syntax)規則。
**See also** [setValue](qsettings.html#setValue)( )[value](qsettings.html#value)()和[contains](qsettings.html#contains)( ) 。
```
Scope QSettings.scope (self)
```
[
返回用于存儲設置的范圍。
此功能被引入Qt的4.4 。
](qsettings.html#Scope-enum)
[**See also**](qsettings.html#Scope-enum) [format](qsettings.html#format)( )[organizationName](qsettings.html#organizationName)()和[applicationName](qsettings.html#applicationName)( ) 。
```
QSettings.setArrayIndex (self, int?i)
```
當前數組的索引設置為_i_。呼叫功能,如[setValue](qsettings.html#setValue)( )[value](qsettings.html#value)( )[remove](qsettings.html#remove)()和[contains](qsettings.html#contains)( )將運行在該索引處的數組項。
你必須調用[beginReadArray](qsettings.html#beginReadArray)()或[beginWriteArray](qsettings.html#beginWriteArray)( )之前,你可以調用這個函數。
```
QSettings.setDefaultFormat (Format?format)
```
設置默認的文件格式為給定的_format_,它被用于存儲設定的[QSettings](qsettings.html)([QObject](qobject.html)* )構造函數。
如果沒有默認格式設置,[QSettings.NativeFormat](qsettings.html#Format-enum)被使用。請參閱該文檔[QSettings](qsettings.html)您正在使用,看看是否該構造函數會忽略這個功能的構造函數。
此功能被引入Qt的4.4 。
**See also** [defaultFormat](qsettings.html#defaultFormat)()和[format](qsettings.html#format)( ) 。
```
QSettings.setFallbacksEnabled (self, bool?b)
```
套回退是否啟用_b_。
默認情況下,回退啟用。
**See also** [fallbacksEnabled](qsettings.html#fallbacksEnabled)( ) 。
```
QSettings.setIniCodec (self, QTextCodec?codec)
```
設置編解碼器,用于訪問INI文件(包括`.conf`在Unix文件)_codec_。編解碼器,用于解碼被從INI文件讀取的數據,并用于編碼被寫入到文件中的任何數據。缺省情況下,編解碼器用于和非ASCII字符都使用標準的INI轉義序列編碼。
**Warning:**該編解碼器必須立即創建后設置的[QSettings](qsettings.html)對象,訪問任何數據之前。
此功能被引入Qt的4.5 。
**See also** [iniCodec](qsettings.html#iniCodec)( ) 。
```
QSettings.setIniCodec (self, str?codecName)
```
這是一個重載函數。
設置編解碼器,用于訪問INI文件(包括`.conf`在Unix文件)復制到[QTextCodec](qtextcodec.html)對于由指定的編碼_codecName_。為共同的價值觀`codecName`包括“ ISO 8859 ”,“ UTF-8” ,和“UTF- 16” 。如果編碼不被識別,沒有任何反應。
此功能被引入Qt的4.5 。
**See also** [QTextCodec.codecForName](qtextcodec.html#codecForName)( ) 。
```
QSettings.setPath (Format?format, Scope?scope, QString?path)
```
設置用于存儲設置為給定的路徑_format_和_scope_,以_path_。該_format_可以自定義格式。
下面的表總結了默認值:
| Platform | Format | Scope | Path |
| --- | --- | --- | --- |
| Windows | [IniFormat](qsettings.html#Format-enum) | [UserScope](qsettings.html#Scope-enum) | `%APPDATA%` |
| [SystemScope](qsettings.html#Scope-enum) | `%COMMON_APPDATA%` |
| Unix | [NativeFormat](qsettings.html#Format-enum), [IniFormat](qsettings.html#Format-enum) | [UserScope](qsettings.html#Scope-enum) | `$HOME/.config` |
| [SystemScope](qsettings.html#Scope-enum) | `/etc/xdg` |
| Qt for Embedded Linux | [NativeFormat](qsettings.html#Format-enum), [IniFormat](qsettings.html#Format-enum) | [UserScope](qsettings.html#Scope-enum) | `$HOME/Settings` |
| [SystemScope](qsettings.html#Scope-enum) | `/etc/xdg` |
| Mac OS X | [IniFormat](qsettings.html#Format-enum) | [UserScope](qsettings.html#Scope-enum) | `$HOME/.config` |
| [SystemScope](qsettings.html#Scope-enum) | `/etc/xdg` |
| Symbian | [NativeFormat](qsettings.html#Format-enum), [IniFormat](qsettings.html#Format-enum) | [UserScope](qsettings.html#Scope-enum) | `c:/data/.config` |
| [SystemScope](qsettings.html#Scope-enum) | `<drive>/private/<uid>` |
默認[UserScope](qsettings.html#Scope-enum)在Unix和Mac OS X (路徑`$HOME/.config`或$ HOME /設置)可以通過設置由用戶復蓋了`XDG_CONFIG_HOME`環境變量。默認[SystemScope](qsettings.html#Scope-enum)在Unix和Mac OS X (路徑`/etc/xdg`)可以使用構建Qt庫時,被復蓋的`configure`腳本的`--sysconfdir`標志(見[QLibraryInfo](qlibraryinfo.html)有關詳細信息) 。
設置[NativeFormat](qsettings.html#Format-enum)在Windows和Mac OS X的路徑沒有影響。
**Warning:**此功能不會影響現有的[QSettings](qsettings.html)對象。
這個函數是Qt 4.1中引入。
**See also** [registerFormat](qsettings.html#registerFormat)( ) 。
```
QSettings.setSystemIniPath (QString?dir)
```
```
QSettings.setUserIniPath (QString?dir)
```
```
QSettings.setValue (self, QString?key, QVariant?value)
```
設定設定值_key_至_value_。如果_key_已經存在,原來的值將被復蓋。
請注意,Windows注冊表和INI文件使用不區分大小寫鍵,而在Mac OS X中的碳Preferences API使用區分大小寫鍵。為了避免可移植性問題,請參見[Section and Key Syntax](qsettings.html#section-and-key-syntax)規則。
例如:
```
[QSettings](qsettings.html) settings;
settings.setValue("interval", 30);
settings.value("interval").toInt(); // returns 30
settings.setValue("interval", 6.55);
settings.value("interval").toDouble(); // returns 6.55
```
**See also** [value](qsettings.html#value)( )[remove](qsettings.html#remove)()和[contains](qsettings.html#contains)( ) 。
```
Status QSettings.status (self)
```
[](qsettings.html#Status-enum)
[返回指示會見了由的第一個錯誤狀態碼](qsettings.html#Status-enum)[QSettings](qsettings.html)或[QSettings.NoError](qsettings.html#Status-enum)如果沒有發生錯誤。
要知道,[QSettings](qsettings.html)延遲執行某種操作。出于這個原因,你可能需要調用[sync](qsettings.html#sync)() ,以確保存儲在數據[QSettings](qsettings.html)呼叫狀態( )之前被寫入磁盤。
**See also** [sync](qsettings.html#sync)( ) 。
```
QSettings.sync (self)
```
將任何未保存的更改永久存儲,并重新載入已在此期間被修改由其他應用程序的任何設置。
此功能是從自動調用[QSettings](qsettings.html)的析構函數,并通過定期的事件循環,所以你通常不需要自己調用它。
**See also** [status](qsettings.html#status)( ) 。
```
object QSettings.value (self, QString?key, QVariant?defaultValue?=?QVariant(), object?type?=?None)
```
返回值用于設置_key_。如果設置不存在,返回_defaultValue_。
如果沒有指定默認值,則默認[QVariant](qvariant.html)返回。
請注意,Windows注冊表和INI文件使用不區分大小寫鍵,而在Mac OS X中的碳Preferences API使用區分大小寫鍵。為了避免可移植性問題,請參見[Section and Key Syntax](qsettings.html#section-and-key-syntax)規則。
例如:
```
[QSettings](qsettings.html) settings;
settings.setValue("animal/snake", 58);
settings.value("animal/snake", 1024).toInt(); // returns 58
settings.value("animal/zebra", 1024).toInt(); // returns 1024
settings.value("animal/zebra").toInt(); // returns 0
```
**See also** [setValue](qsettings.html#setValue)( )[contains](qsettings.html#contains)()和[remove](qsettings.html#remove)( ) 。
- 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