Col*_*lin 32 python coding-style pyqt pep8 pyqt4
我开始在一些项目中使用PyQt,而且我遇到了风格困境.PyQt的函数使用驼峰的情况,但我更喜欢遵循的PEP8表示使用下划线和函数名称的全部小写.
所以一方面,我可以继续关注PEP8,这意味着我的代码将混合函数调用驼峰大小写和下划线函数,甚至我的类也会有混合函数名,因为我需要重载函数如mousePressEvent .或者,我可以打破PEP8,并以一致性的名义为我的所有函数名称采用驼峰案例.
我意识到这是主观的,这真的是我个人喜欢的,但我喜欢听别人说他们做了什么以及他们选择这样做的原因.
Ale*_*lli 31
在你的鞋子里,我不会打你的框架,就像,作为一般原则,我不打市政厅;-).我碰巧分享你对pEP 8指定的小写下划线函数名的偏好,但当我在一个强制不同大小写风格的框架中编程时,我也辞去采用那种风格,因为我无法说服采用"更好"风格的框架,风格不一致(随意混合不同风格)真的更糟糕.
当然,如果您使用多个框架,某些混合是不可避免的......例如,PyQt及其camelcase,以及标准Python库函数及其小写和下划线! - ).但是,由于像Qt这样的框架通常是通过子类化来扩展的,而标准的Python库在这种设计中的方面较少,在大多数情况下强制大写形式(因为你需要覆盖一个方法,所以你不能选择一个不同的大写字母),它将被强制使用camelcase(通过Qt),很少使用小写(通过标准的Python库).因此,我认为在这种情况下采用Qt风格仍然是较小的邪恶.
2020 年 12 月,随着 Qt 6.0 的发布,Qt for Python 6 / PySide6(Qt 的官方 Python 绑定)也发布了,引入了一个名为__feature__
. 使用此选项,您可以拥有具有符合 PEP8 的蛇形案例方法和 true 属性的 Qt 对象。
老式:
table = QTableWidget()
table.setColumnCount(2)
button = QPushButton("Add")
button.setEnabled(False)
layout = QVBoxLayout()
layout.addWidget(table)
layout.addWidget(button)
Run Code Online (Sandbox Code Playgroud)
新的 PySide6 风格:
from __feature__ import snake_case, true_property
table = QTableWidget()
table.column_count = 2
button = QPushButton("Add")
button.enabled = False
layout = QVBoxLayout()
layout.add_widget(table)
layout.add_widget(button)
Run Code Online (Sandbox Code Playgroud)
使用最合适的.
如果你是Qt类的子类,或者有一个与它们大量集成的函数UseCamelCase
.
否则,use_underscores
.
归档时间: |
|
查看次数: |
2341 次 |
最近记录: |