Qt for Python/zh: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(Created page with "Category:Qt for Python {{LangSwitch}} http://doc-snapshots.qt.io/qtforpython/_static/pysidelogo.png == Qt for Python == '''Qt for Python''' 项目旨在为PySide模块提...")
 
No edit summary
Line 6: Line 6:
4 和 5.5。 2016年4月中Qt公司决定正式支持为其提供接口支持 (查看 [https://groups.google.com/forum/#!topic/pyside-dev/pqwzngAGLWE 详情] ).
4 和 5.5。 2016年4月中Qt公司决定正式支持为其提供接口支持 (查看 [https://groups.google.com/forum/#!topic/pyside-dev/pqwzngAGLWE 详情] ).


该模块计划于6月中旬作为技术预览版发布(支持Qt 5.11)。
该模块计划于2018 年6月中旬作为技术预览版发布(支持Qt 5.11)。并在同年12月支持Qt 5.12并正式发布


这个wiki页面跟踪 '''Qt for Python''' 项目开发的进展情况,并提供关于这项工作的更多信息。
这个wiki页面跟踪 '''Qt for Python''' 项目开发的进展情况,并提供关于这项工作的更多信息。


'''Qt for Python''' 将在GPL, LGPL 和商业许可协议下提供
Qt for Python在LGPLv3 / GPLv2和以下平台的商业许可下可用:
{| class="wikitable"
| - |
!colspan="2" style="background: #aec6cf;text-align: center;"|Linux
!colspan="2" style="background: #aec6cf;text-align: center;"|macOS
!colspan="2" style="background: #aec6cf;text-align: center;"|Windows
|-
| |
|style="background: #fdfd96;text-align: center;"|32bit
|style="background: #ffb347;text-align: center;"|64bit
|style="background: #fdfd96;text-align: center;"|32bit
|style="background: #ffb347;text-align: center;"|64bit
|style="background: #fdfd96;text-align: center;"|32bit
|style="background: #ffb347;text-align: center;"|64bit
|-
|style="background: #aec6cf;text-align: center;"|'''Python 2.7'''
|style="background: #ff6961;text-align: center;"| *
|style="background: #77dd77;text-align: center;"|
|style="background: #ff6961;text-align: center;"| *
|style="background: #77dd77;text-align: center;"|
|style="background: #ff6961;text-align: center;"| **
|style="background: #ff6961;text-align: center;"| **
|-
|style="background: #aec6cf;text-align: center;"|'''Python 3.5+'''
|style="background: #ff6961;text-align: center;"| *
|style="background: #77dd77;text-align: center;"|
|style="background: #ff6961;text-align: center;"| *
|style="background: #77dd77;text-align: center;"|
|style="background: #77dd77;text-align: center;"|
|style="background: #77dd77;text-align: center;"|
|}


== 开始 ==
<nowiki>*</nowiki>: [[Qt_5.12_Tools_and_Versions#Software_configurations_for_Qt_5.12.0|不包含Qt 发行版]].<br/>
* [https://doc-snapshots.qt.io/qtforpython/ 官方文档] (快照)
<nowiki>**</nowiki>: [[Qt_for_Python/Considerations#Missing_Windows_.2F_Python_2.7_release| Python 2.7 与 Qt在MSVC下的问题]]
* [[Qt_for_Python/GettingStarted|分别在 macOS, Windows 和 Linux中快速入门]] '''(下载并安装/编译)'''
 
* [[Qt_for_Python/Tutorial|教程]]
'''要获取pyside2只需要在pip里执行:''' <span style="color:#41cd52;font-weight: bold;font-size: 18px;">pip install PySide2</span>
* [[Qt_for_Python/Development_Getting_Started|开发: 开始参与开发]]
* [[Qt_for_Python/Reporting_Bugs|反馈错误]] 报告任何问题.
* [https://codereview.qt-project.org 代码审查] 和 [https://codereview.qt-project.org/#/q/project:%255Epyside.%252B,n,z PySide2 开放补丁]
* Git仓库(5.9分支是当前为PySide2工作的分支)
** ssh://codereview.qt-project.org/pyside/pyside-setup


== '''Qt for Python''' 看起来是什么样的? ==  
== '''Qt for Python''' 看起来是什么样的? ==  


<syntaxhighlight lang="python" line='line'>
<syntaxhighlight lang="python" line="line">
import sys
import sys
from PySide2.QtWidgets import QApplication, QLabel
from PySide2.QtWidgets import QApplication, QLabel
Line 36: Line 61:


更多例子可以从 [http://code.qt.io/cgit/pyside/pyside-setup.git/tree/examples 项目仓库] 中的 '''examples''' 文件夹中查看.
更多例子可以从 [http://code.qt.io/cgit/pyside/pyside-setup.git/tree/examples 项目仓库] 中的 '''examples''' 文件夹中查看.
== 开始 ==
* [https://doc.qt.io/qtforpython/ 官方文档]
* [[Qt_for_Python/GettingStarted|分别在 macOS, Windows 和 Linux中快速入门]]: 下载并安装/编译
* [[Qt_for_Python/Tutorial|教程]]: 开始开发pyside2程序
* [[Qt_for_Python/Shiboken|Shiboken]]: 有关Python绑定生成器的一般信息。
* [[Qt_for_Python/Development_Getting_Started|开发: 开始参与开发]]: 参与开发的一些准则。
* [[Qt_for_Python/Reporting_Bugs|反馈错误]] 报告 PySide2 或 Shiboken2.有关的任何问题.
* [https://codereview.qt-project.org/pyside/pyside-setup Git repository (代码审查)] (5.12 分支是当前为PySide2工作的分支) 与 [https://codereview.qt-project.org/#/q/project:%255Epyside.%252B,n,z PySide2 开放补丁]
== 社区 ==
== 社区 ==


* 在FreeNode上的官方 IRC 频道 '''#qt-pyside'''
* 在FreeNode上的官方 IRC 频道 [https://freenode.net/ Freenode] '''#qt-pyside'''
* [http://lists.qt-project.org/mailman/listinfo/pyside 官方邮件列表 ]
* [http://lists.qt-project.org/mailman/listinfo/pyside 官方邮件列表]
* Keybase:
* Keybase:
** [https://keybase.io/team/pyside keybase.io/team/pyside]
** [https://keybase.io/team/pyside keybase.io/team/pyside]
** [https://keybase.io/team/pyside keybase.io/team/theqtcompany] (工作小组 ''theqtcompany.pyside'')
** [https://keybase.io/team/pyside keybase.io/team/theqtcompany] (工作小组 ''theqtcompany.pyside'')
* Gitter: [http://gitter.im/PySide/pyside2 gitter.im/PySide/pyside2]
* Gitter: [http://gitter.im/PySide/pyside2 gitter.im/PySide/pyside2] 包含关联IRC的bot
* [[Qt_for_Python/Suggestions|有想法? 与我们分享吧!]]
* [[Qt_for_Python/Suggestions|有想法? 与我们分享吧!]]


== 开发状态 ==
== 开发状态 ==


=== 每周开发进度 ===
* [[Qt_for_Python_Development_Notes|开发笔记]]: 开发进程总结
发展进度的总结可以在[https://wiki.qt.io/Qt_for_Python_Development_Notes 开发笔记] 中找到
* '''Qt for Python Development Progress Notes''' The most current view of the progress can be found in Jira: [https://bugreports.qt.io/secure/IssueNavigator.jspa?mode=hide&requestId=17825 Unresolved issues] and [https://bugreports.qt.io/secure/IssueNavigator.jspa?mode=hide&requestId=18025 All issues (including resolved)]. The second link is useful to monitor the progress of the backlog. The best way to achieve this is to sort the list by the "Updated" column. Larger backlog/feature items are filed as "User Stories" in Jira.
 
* [[Qt_for_Python_Missing_Bindings|Missing PySide2 bindings]]: the list of the current missing bindings.
=== Pyside开发进度笔记 ===
 
更多当前开发近况可以在Jira中找到:
 
# [https://bugreports.qt.io/secure/IssueNavigator.jspa?mode=hide&requestId=17825 尚未解决的问题]
# [https://bugreports.qt.io/secure/IssueNavigator.jspa?mode=hide&requestId=18025 所有问题 (包含已解决的)]
 
第二个链接可用于监控积压进度。最好是按“更新”列对列表进行排序。较大的 积压/特色项在Jira中以“用户故事”的形式提交。
 
=== 缺少的 PySide2 绑定 ===
 
当前缺少的绑定可以从 [[Qt_for_Python_Missing_Bindings|Missing PySide2 bindings]] 中找到
 
=== Outstanding tasks for release ===


# Determine PySide2 package number
# Ensure multi target packages can be created (long standing - reduced Python API usage )
# General Doc changes required for release
## Getting started
## Some examples documented
## pyinstaller usage
## Class documentation polish
## snapshot generation on http://doc-snapshot.qt-project.org/


== 常见问题 ==
== 常见问题 ==
Line 85: Line 99:
* Q: 我的项目用的是 PySide, 想要升级并适配PySide2会很难么?
* Q: 我的项目用的是 PySide, 想要升级并适配PySide2会很难么?
** A: 这两者的不同点与 [https://doc.qt.io/qt-5/qt5-intro.html Qt4 和 Qt5]的不同类似, 对于PySide用户来说通常是要修改''import'' 语句,因为很多类都从QtGui移动到QtWidgets。
** A: 这两者的不同点与 [https://doc.qt.io/qt-5/qt5-intro.html Qt4 和 Qt5]的不同类似, 对于PySide用户来说通常是要修改''import'' 语句,因为很多类都从QtGui移动到QtWidgets。
::''Qt 5 高度兼容 Qt 4. 使得开发者从Qt 4应用无缝升级到 Qt 5 并且其当前功能不更改并使用Qt 5 的新功能成为可能。
::''Qt 5 高度兼容 Qt 4. 使得开发者从Qt 4应用无缝升级到 Qt 5 并且其当前功能不更改并使用Qt 5 的新功能成为可能。''
''


== 已知问题 ==


* [[Qt_for_Python/Considerations| 已知问题与注意事项]]


== 为 the Qt for Python Wiki 作出贡献 ==
== 为 the Qt for Python Wiki 作出贡献 ==

Revision as of 10:03, 14 February 2019

En Ar Bg De El Es Fa Fi Fr Hi Hu It Ja Kn Ko Ms Nl Pl Pt Ru Sq Th Tr Uk Zh

pysidelogo.png

Qt for Python

Qt for Python 项目旨在为PySide模块提供完整的Qt5接口支持。于2015年5月在GitHub 上开始开发。此项目计划使PySide支持 Qt 5.3, 5. 4 和 5.5。 2016年4月中Qt公司决定正式支持为其提供接口支持 (查看 详情 ).

该模块计划于2018 年6月中旬作为技术预览版发布(支持Qt 5.11)。并在同年12月支持Qt 5.12并正式发布

这个wiki页面跟踪 Qt for Python 项目开发的进展情况,并提供关于这项工作的更多信息。

Qt for Python在LGPLv3 / GPLv2和以下平台的商业许可下可用:

Linux macOS Windows
32bit 64bit 32bit 64bit 32bit 64bit
Python 2.7 * * ** **
Python 3.5+ * *

*: 不包含Qt 发行版.
**: Python 2.7 与 Qt在MSVC下的问题

要获取pyside2只需要在pip里执行: pip install PySide2

Qt for Python 看起来是什么样的?

import sys
from PySide2.QtWidgets import QApplication, QLabel
                                                     
if __name__ == "__main__":
    app = QApplication([])
    label = QLabel("Hello World")
    label.show()
    sys.exit(app.exec_())

更多例子可以从 项目仓库 中的 examples 文件夹中查看.

开始


社区

开发状态

  • 开发笔记: 开发进程总结
  • Qt for Python Development Progress Notes The most current view of the progress can be found in Jira: Unresolved issues and All issues (including resolved). The second link is useful to monitor the progress of the backlog. The best way to achieve this is to sort the list by the "Updated" column. Larger backlog/feature items are filed as "User Stories" in Jira.
  • Missing PySide2 bindings: the list of the current missing bindings.


常见问题

  • Q: PySide? Qt for Python? 这名字到底是什么?
    • A: 这个项目的名字是 Qt for Python ,这个模块的名字是 PySide2.
  • Q: 为什么是 PySide2 而不是接着用 PySide?
    • A: 因为 PySide 是基于 Qt4, 当支持 Qt5时, 把名字改为 PySide2 用来说明这是新版本.
  • Q: 旧的 PySide 项目相关信息要在哪里找?
    • A: 旧的 PySide wiki页面依然可用, 但是 这个项目已经被放弃并且没有官方支持. 我们非常不建议使用它.
  • Q: 我的项目用的是 PySide, 想要升级并适配PySide2会很难么?
    • A: 这两者的不同点与 Qt4 和 Qt5的不同类似, 对于PySide用户来说通常是要修改import 语句,因为很多类都从QtGui移动到QtWidgets。
Qt 5 高度兼容 Qt 4. 使得开发者从Qt 4应用无缝升级到 Qt 5 并且其当前功能不更改并使用Qt 5 的新功能成为可能。


为 the Qt for Python Wiki 作出贡献

这个Wiki是一个社区,您可以很容易地为它出一份力,其中可能包含快速变化的信息。 请将与Qt相关的wiki页面添加到“QtForPython”类别中,将以下文本添加到页面顶部:

[[Category:Qt for Python]]

在创建一个新的wiki页面时,请用前缀"Qt_for_Python/",这样所有的wiki页面名称都将具有相同的结构和面包屑,以便更容易地导航。