Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
300 views
in Technique[技术] by (71.8m points)

python - Why is PyQt connect() syntax so verbose?

I'm just learning PyQt and looking at the Signals and Slots mechanism. I'm a bit baffled by the verbose syntax. Why do we have:

self.connect(dial, SIGNAL("valueChanged(int)"), spinbox.setValue)

I would much prefer to write the following:

self.connect(dial.valueChanged, spinbox.setValue)

Can anyone tell me why the connect() syntax needs to be so explicit/verbose?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You can use PyQt's new style signals which are less verbose:

self.connect(dial, SIGNAL("valueChanged(int)"), spinbox.setValue)

Becomes:

dial.valueChanged.connect(spinbox.setValue)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...