вот две строки - и в первой и во второй мы передаём в функцию перед вызовом конкретные параметры (аргументы):
#ac.triggered.connect(functools.partial(FormWidget.show_message, self, textbox.toPlainText()))
ac.triggered.connect(lambda: FormWidget.show_message (self, textbox.toPlainText()))
Одно из отличий важных на практике (проявляется когда в качестве аргумента передана переменная, значение которой в ходе выполнения может изменяться):