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 for Python/zh: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
(IRC channels have moved to Libera.​Chat)
 
(3 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 详情] ).


该模块计划于2018 年6月中旬作为技术预览版发布(支持Qt 5.11)。并在同年12月支持Qt 5.12并正式发布
该模块计划于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在LGPLv3 / GPLv2和以下平台的商业许可下可用:
Qt for Python在LGPLv3 / GPLv2和以下平台的商业许可下可用:
{| class="wikitable"
|-
|
{| class="wikitable"
{| class="wikitable"
| - |
| - |
!colspan="2" style="background: #aec6cf;text-align: center;"|Linux
! colspan="2" style="background: #aec6cf;text-align: center;" |Linux
!colspan="2" style="background: #aec6cf;text-align: center;"|macOS
! colspan="3" style="background: #aec6cf;text-align: center;" |macOS
!colspan="2" style="background: #aec6cf;text-align: center;"|Windows
! colspan="2" style="background: #aec6cf;text-align: center;" |Windows
|-
|-
| |
| |
|style="background: #fdfd96;text-align: center;"|32bit
| style="background: #fdfd96;text-align: center;" |32bit
|style="background: #ffb347;text-align: center;"|64bit
| style="background: #ffb347;text-align: center;" |64bit
|style="background: #fdfd96;text-align: center;"|32bit
| style="background: #fdfd96;text-align: center;" |32bit
|style="background: #ffb347;text-align: center;"|64bit
| style="background: #ffb347;text-align: center;" |64bit
|style="background: #fdfd96;text-align: center;"|32bit
| style="background: #ffb347;text-align: center;" |Apple M1
|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: #aec6cf;text-align: center;" |'''Python 3.6+'''
|style="background: #ff6961;text-align: center;"| *
| style="background: #ff6961;text-align: center;" |*
|style="background: #77dd77;text-align: center;"|
| style="background: #77dd77;text-align: center;" |
|style="background: #ff6961;text-align: center;"| *  
| style="background: #ff6961;text-align: center;" |*
|style="background: #77dd77;text-align: center;"|  
| style="background: #77dd77;text-align: center;" |
|style="background: #ff6961;text-align: center;"| **
| style="background: #ff6961;text-align: center;" |**
|style="background: #ff6961;text-align: center;"| **
| style="background: #77dd77;text-align: center;" |***
|-
| style="background: #77dd77;text-align: center;" |***
|style="background: #aec6cf;text-align: center;"|'''Python 3.5+'''
|}
|style="background: #ff6961;text-align: center;"| *
||
|style="background: #77dd77;text-align: center;"|  
*<nowiki>*</nowiki> https://wiki.qt.io/Qt_6.0_Tools_and_Versions
|style="background: #ff6961;text-align: center;"| *
*<nowiki>**</nowiki> 不支持
|style="background: #77dd77;text-align: center;"|
*<nowiki>***</nowiki>: 5.14 是第一个支持 Python 3.8的版本, 但 Python 3.8.0 无法在windows上运行. 请使用 '''Python 3.8.1''' 或更高版本.
|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/>
<nowiki>**</nowiki>: [[Qt_for_Python/Considerations#Missing_Windows_.2F_Python_2.7_release| Python 2.7 与 Qt在MSVC下的问题]]


'''要获取pyside2只需要在pip里执行:''' <span style="color:#41cd52;font-weight: bold;font-size: 18px;">pip install PySide2</span>
'''通过 pip 安装 PySide6 只需运行:''' <span style="font-family: monospace;background-color: #cecfd5;display: inline; border-radius: 4px;padding: 3px;">pip install pyside6</span>
 
[[File:Pyside6 install.gif]]


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


{| class="wikitable"
|-
!Code!!Application
|-
|
<syntaxhighlight lang="python" line="line">
<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''' 文件夹中查看.


== 开始 ==
* [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 开放补丁]




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


* 在FreeNode上的官方 IRC 频道 [https://freenode.net/ Freenode] '''#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|有想法? 与我们分享吧!]]


== 开发状态 ==
*[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 开放补丁]


* [[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.


==社区==


== 常见问题 ==
*在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.




== 为 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页面名称都将具有相同的结构和面包屑,以便更容易地导航。