【发布时间】:2021-11-16 07:28:48
【问题描述】:
我在 PyQt5 中有一个 Python 代码(带有多个图形项的 GUI)。如何缩短代码以适应每个函数推荐的 PEP8 50 语句?将图形项的定义分解为多个函数是否合适?
def __init__(self, pulse_number, on_time, off_time, x, y, offset):
self.offset = offset
self.laser_pulse_n = pulse_number
self.laser_on_time = on_time
self.laser_off_time = off_time
self.laser_x_loc = x
self.laser_y_loc = y
# set window properties
self.setMinimumSize(QSize(250, 300))
self.setWindowTitle("Laser settings")
self.int_validator = QIntValidator()
# LASER
# Create pulse number label
self.pulse_number_label = QLabel(self)
self.pulse_number_label.setGeometry(QRect(10, 0, 80, 20))
self.pulse_number_label.setText("Pulse n.:")
# Create pulse number input box
self.pulse_number_input = QLineEdit(self)
self.pulse_number_input.setGeometry(QRect(60, 0, 40, 20))
self.pulse_number_input.setText(str(self.laser_pulse_n))
self.pulse_number_input.setValidator(self.int_validator)
# Create laser on label...
...
# Apply button
self.validate_button = QPushButton(self)
self.validate_button.setGeometry(QRect(10, 240, 230, 40))
self.validate_button.setToolTip("Click to save settings")
self.validate_button.setFont(QFont('Times', 20))
self.validate_button.setText("Apply")
self.validate_button.clicked.connect(self.validate_settings)
【问题讨论】:
-
PEP 8 没有对函数的长度提出任何建议。没有提到 50 条语句 - 这只是 pylint 作者的发明,与 PEP 8 无关。