Soalan:
Adakah mungkin untuk menghantar pembolehubah tambahan melalui slot untuk mengubah suai tingkah laku daripada yang berkaitan fungsi?
Jawapan:
Ya, terdapat dua kaedah untuk mencapai ini:
Gunakan lambda berfungsi di dalam kaedah sambung untuk menghantar argumen tambahan kepada fungsi slot.
self.buttonGroup.buttonClicked['int'].connect(lambda i: self.input(i, "text")) @pyqtSlot(int) def input(self, button_or_id, DiffP): ...
Dalam ini contoh, argumen tambahan "teks" dihantar ke fungsi slot input menggunakan fungsi lambda.
Gunakan fungsi functools.partial untuk mengikat argumen tambahan pada fungsi slot sebelum membuat sambungan.
from functools import partial ... self.buttonGroup.buttonClicked['int'].connect(partial(self.input, "text")) @pyqtSlot(int) def input(self, DiffP, button_or_id): ...
Dalam contoh ini, argumen tambahan "teks" terikat pada fungsi slot input menggunakan separa fungsi.
Kedua-dua kaedah membolehkan anda menghantar maklumat tambahan ke fungsi slot, membolehkan lebih fleksibiliti dan penyesuaian dalam aplikasi Qt anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Meluluskan Hujah Tambahan kepada Sambungan Slot PyQt?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!