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模块提...")
 
(IRC channels have moved to Libera.​Chat)
 
(4 intermediate revisions by one other user not shown)
Line 1: Line 1:
[[Category:Qt for Python]]
[[Category:Qt for Python]]
{{LangSwitch}}
{{LangSwitch}}
http://doc-snapshots.qt.io/qtforpython/_static/pysidelogo.png
==Qt for Python==
== Qt for Python ==
[[File:Py-128.png|thumb|left|Qt for Python official logo.]]'''Qt for Python''' 项目旨在为PySide模块提供完整的Qt接口支持。于2015年5月在[https://github.com/PySide GitHub] 上开始开发。此项目计划使PySide支持 Qt 5.3, 5.
'''Qt for Python''' 项目旨在为PySide模块提供完整的Qt5接口支持。于2015年5月在[https://github.com/PySide GitHub] 上开始开发。此项目计划使PySide支持 Qt 5.3, 5.
4 和 5.5。 2016年4月中Qt公司决定正式支持为其提供接口支持 (查看 [https://groups.google.com/forum/#!topic/pyside-dev/pqwzngAGLWE details 详情] ).
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并正式发布
 
2020年12月,该模块跟随Qt6发布,与旧版本相比有以下不同:
 
*不在支持 Python 2.7,
*放弃对 Python 3.5 的支持, 最低支持到 3.6+ (最高 3.9)
*基础模块有大量删减 ([https://www.qt.io/blog/add-on-support-in-qt-6.0-and-beyond 点此查看删减内容])
 
你可以在 [https://www.qt.io/blog/qt-for-python-6-released 官方博客]中看到更多内容.


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


'''Qt for Python''' 将在GPL, LGPL 和商业许可协议下提供
Qt for Python在LGPLv3 / GPLv2和以下平台的商业许可下可用:
{| class="wikitable"
|-
|
{| class="wikitable"
| - |
! colspan="2" style="background: #aec6cf;text-align: center;" |Linux
! colspan="3" 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: #ffb347;text-align: center;" |Apple M1
| style="background: #fdfd96;text-align: center;" |32bit
| style="background: #ffb347;text-align: center;" |64bit
|-
| style="background: #aec6cf;text-align: center;" |'''Python 3.6+'''
| 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: #77dd77;text-align: center;" |***
| style="background: #77dd77;text-align: center;" |***
|}
||
*<nowiki>*</nowiki> https://wiki.qt.io/Qt_6.0_Tools_and_Versions
*<nowiki>**</nowiki> 不支持
*<nowiki>***</nowiki>: 5.14 是第一个支持 Python 3.8的版本, 但 Python 3.8.0 无法在windows上运行. 请使用 '''Python 3.8.1''' 或更高版本.
|}
 


== 开始 ==
'''通过 pip 安装 PySide6 只需运行:''' <span style="font-family: monospace;background-color: #cecfd5;display: inline; border-radius: 4px;padding: 3px;">pip install pyside6</span>
* [https://doc-snapshots.qt.io/qtforpython/ 官方文档] (快照)
* [[Qt_for_Python/GettingStarted|分别在 macOS, Windows 和 Linux中快速入门]] '''(下载并安装/编译)'''
* [[Qt_for_Python/Tutorial|教程]]
* [[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''' 看起来是什么样的? ==
[[File:Pyside6 install.gif]]


<syntaxhighlight lang="python" line='line'>
==='''Qt for Python''' 看起来是什么样的?===
 
{| class="wikitable"
|-
!Code!!Application
|-
|
<syntaxhighlight lang="python" line="line">
import sys
import sys
from PySide2.QtWidgets import QApplication, QLabel
from PySide6.QtCore import Qt
from PySide6.QtWidgets import QApplication, QLabel
                                                      
                                                      
if __name__ == "__main__":
if __name__ == "__main__":
     app = QApplication([])
     app = QApplication(sys.argv)
     label = QLabel("Hello World")
     label = QLabel("Hello World", alignment=Qt.AlignCenter)
     label.show()
     label.show()
     sys.exit(app.exec_())
     sys.exit(app.exec_())
</syntaxhighlight>
</syntaxhighlight>
||
[[File:2020-12-16-101334 305x245 scrot.png]]
|}


更多例子可以从 [http://code.qt.io/cgit/pyside/pyside-setup.git/tree/examples 项目仓库] 中的 '''examples''' 文件夹中查看.
== 社区 ==


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


== 开发状态 ==


=== 每周开发进度 ===
更多例子可以从 [http://code.qt.io/cgit/pyside/pyside-setup.git/tree/examples 项目仓库] 中的 '''examples''' 文件夹中查看.
发展进度的总结可以在[https://wiki.qt.io/Qt_for_Python_Development_Notes 开发笔记] 中找到
 
=== 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]] 中找到
*[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 开放补丁]


=== 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/


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


* 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: 这两者的不同点与 [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_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.


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


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


这个Wiki是一个社区,您可以很容易地为它出一份力,其中可能包含快速变化的信息。
这个Wiki是一个社区,您可以很容易地为它出一份力,其中可能包含快速变化的信息。

Latest revision as of 21:49, 14 August 2021

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

Qt for Python

Qt for Python official logo.

Qt for Python 项目旨在为PySide模块提供完整的Qt接口支持。于2015年5月在GitHub 上开始开发。此项目计划使PySide支持 Qt 5.3, 5.

4 和 5.5。 2016年4月中Qt公司决定正式支持为其提供接口支持 (查看 details 详情 ).

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

2020年12月,该模块跟随Qt6发布,与旧版本相比有以下不同:

  • 不在支持 Python 2.7,
  • 放弃对 Python 3.5 的支持, 最低支持到 3.6+ (最高 3.9)
  • 基础模块有大量删减 (点此查看删减内容)

你可以在 官方博客中看到更多内容.

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

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

Linux macOS Windows
32bit 64bit 32bit 64bit Apple M1 32bit 64bit
Python 3.6+ * * ** *** ***


通过 pip 安装 PySide6 只需运行: pip install pyside6

Pyside6 install.gif

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

Code Application
import sys
from PySide6.QtCore import Qt
from PySide6.QtWidgets import QApplication, QLabel
                                                     
if __name__ == "__main__":
    app = QApplication(sys.argv)
    label = QLabel("Hello World", alignment=Qt.AlignCenter)
    label.show()
    sys.exit(app.exec_())

2020-12-16-101334 305x245 scrot.png



更多例子可以从 项目仓库 中的 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.


为 the Qt for Python Wiki 作出贡献

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

[[Category:Qt for Python]]

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