Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.

Qt Platform Abstraction/zh: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 1: Line 1:
=Qt 平台抽象=
[[Category:Developing_with_Qt::Qt 5]]<br />h1. Qt 平台抽象


* 简体中文| [[Qt-Platform-Abstraction|English]]
* 简体中文| [[Qt Platform Abstraction|English]]


<span class="caps">QPA</span> 即Qt平台抽象层, 移植自Qt4, 在[[Qt5]]中替代<span class="caps">QWS</span>。 你可以从这个视频演示中了解它:
QPA (Qt Platform Abstraction) 即Qt平台抽象层, 移植自Qt4, 在[[Qt5]]中替代QWS(Qt Window System)。 你可以从这个视频演示中了解它:


[http://qt.io/videos/watch/qpa-the-qt-platform-abstraction <span class="caps">QPA</span> – The Qt Platform Abstraction] ''[qt.io]'' by Thomas Senyk.
&quot;QPA - The Qt Platform Abstraction&amp;quot;:http://qt.io/videos/watch/qpa-the-qt-platform-abstraction by Thomas Senyk.


目前只有很少的QPA的文档。开发一个新平台插件最好的方式是<br />[http://qt.gitorious.net/qt/qtbase/trees/master/src/plugins/platforms 看其他的插件] ''[qt.gitorious.net]''. 理解它们的API是怎样实现的。<br />[http://qt.gitorious.net/qt/qtbase/trees/master/src/plugins/platforms/minimal minimal] ''[qt.gitorious.net]'' 插件是最好的切入点。 xcb,windows,cocoa和qnx插件也在开发和更新中。
目前只有很少的QPA的文档。开发一个新平台插件最好的方式是<br />&quot;看其他的插件&amp;quot;:http://qt.gitorious.net/qt/qtbase/trees/master/src/plugins/platforms. 理解它们的API是怎样实现的。<br />&quot;minimal&amp;quot;:http://qt.gitorious.net/qt/qtbase/trees/master/src/plugins/platforms/minimal 插件是最好的切入点。 xcb,windows,cocoa和qnx插件也在开发和更新中。


QPA插件通过子类化不同的QPlatform*类来实现。QPA中有两个基类:QPlatformIntergration窗口系统集成和QPlatformTheme 深入平台主题和集成。 QStyle 不是QPA的一部分。
QPA插件通过子类化不同的QPlatform*类来实现。QPA中有两个基类:QPlatformIntergration窗口系统集成和QPlatformTheme 深入平台主题和集成。 QStyle 不是QPA的一部分。


QPlatformIntergration 此时([[Qt-5-Alpha|Qt 5 Alpha]])提供的API大部分已经稳定。 QPlatformTheme 仍在开发中。QPA类并没有代码和二进制的兼容性保证,意思是一个平台插件只保证在它开发依赖的Qt版本中工作。 但是API的改变只在次发行版中。(5.1, 5.2 等等。)
QPlatformIntergration 此时([[Qt 5 Alpha]])提供的API大部分已经稳定。 QPlatformTheme 仍在开发中。QPA类并没有代码和二进制的兼容性保证,意思是一个平台插件只保证在它开发依赖的Qt版本中工作。 但是API的改变只在次发行版中。(5.1, 5.2 等等。)


==类概览==
== 类概览 ==


[http://qt.gitorious.net/qt/qtbase/trees/master/src/platformsupport src/platformsupport] ''[qt.gitorious.net]'' 包含了几个在类unix(unix-like)系统中实现平台插件有帮助的类。
<code>QPlatformIntegration<br /> QPlatformWindow<br /> QPlatformBackingStore<br /> QPlatformOpenGLContext<br /> QPlatformSharedGraphicsCache<br /> QPlatformFontDatabase<br /> QPlatformClipboard<br /> QPlatformDrag<br /> QAbstractEventDispatcher<br /> QPlatformInputContext<br /> QPlatformAccessibility<br /> QPlatformNativeInterface<br /> QPlatformServices


各个QPA类的基础介绍在这篇博客上 [http://qforever.wordpress.com/2012/04/10/qt-platform-abstraction-starter-guide/ post] ''[qforever.wordpress.com]'' .
QPlatformTheme<br /> QPlatformMenu<br /> QPlatformMenuBar<br /> QPlatformDialogHelper<br /> platform palettes<br /> platform fonts<br /> theme hints</code>


===Categories:===
&quot;src/platformsupport&amp;quot;:http://qt.gitorious.net/qt/qtbase/trees/master/src/platformsupport 包含了几个在类unix(unix-like)系统中实现平台插件有帮助的类。
 
* [[:Category:Developing with Qt|Developing_with_Qt]]
** [[:Category:Developing with Qt::Qt-5|Qt 5]]

Revision as of 09:49, 24 February 2015


h1. Qt 平台抽象

QPA (Qt Platform Abstraction) 即Qt平台抽象层, 移植自Qt4, 在Qt5中替代QWS(Qt Window System)。 你可以从这个视频演示中了解它:

"QPA - The Qt Platform Abstraction&quot;:http://qt.io/videos/watch/qpa-the-qt-platform-abstraction by Thomas Senyk.

目前只有很少的QPA的文档。开发一个新平台插件最好的方式是
"看其他的插件&quot;:http://qt.gitorious.net/qt/qtbase/trees/master/src/plugins/platforms. 理解它们的API是怎样实现的。
"minimal&quot;:http://qt.gitorious.net/qt/qtbase/trees/master/src/plugins/platforms/minimal 插件是最好的切入点。 xcb,windows,cocoa和qnx插件也在开发和更新中。

QPA插件通过子类化不同的QPlatform*类来实现。QPA中有两个基类:QPlatformIntergration窗口系统集成和QPlatformTheme 深入平台主题和集成。 QStyle 不是QPA的一部分。

QPlatformIntergration 此时(Qt 5 Alpha)提供的API大部分已经稳定。 QPlatformTheme 仍在开发中。QPA类并没有代码和二进制的兼容性保证,意思是一个平台插件只保证在它开发依赖的Qt版本中工作。 但是API的改变只在次发行版中。(5.1, 5.2 等等。)

类概览

QPlatformIntegration<br /> QPlatformWindow<br /> QPlatformBackingStore<br /> QPlatformOpenGLContext<br /> QPlatformSharedGraphicsCache<br /> QPlatformFontDatabase<br /> QPlatformClipboard<br /> QPlatformDrag<br /> QAbstractEventDispatcher<br /> QPlatformInputContext<br /> QPlatformAccessibility<br /> QPlatformNativeInterface<br /> QPlatformServices

QPlatformTheme<br /> QPlatformMenu<br /> QPlatformMenuBar<br /> QPlatformDialogHelper<br /> platform palettes<br /> platform fonts<br /> theme hints

"src/platformsupport&quot;:http://qt.gitorious.net/qt/qtbase/trees/master/src/platformsupport 包含了几个在类unix(unix-like)系统中实现平台插件有帮助的类。