QtCore.QObject.connect(tree, QtCore.SIGNAL('itemClicked(QTreeWidgetItem *, int)'), MY_FUN);
Обрати внимание, что ‘itemClicked(QTreeWidgetItem *, int)’ это строка - сигнатура метода. (увы без сложных слов тут не обойтись).
Что сие обозначает: сигналы могту быть “перегружены” (это когда есть несколько сигналов с одним именем, но разными параметрами). Поскольку python язык динамический, в нем нельзя по слоту (функция которая привязывается к сигналу) определить какой именно сигнал привязывается. Поэтому нужно писать такие вещи ‘itemClicked(QTreeWidgetItem *, int)’ (itemClicked для api v2) - имя сигнала + ТИП параметров.
Таким образом эту строку тебе менять ничуть не надо, а надо понимать, что в твой метод my_func передается параметр QTreeWidgetItem, на котором был клик, и int - номер столбца. Т.е. твой метод дожен выглядеть как-то так:
my_func(item, column):
if "Services" in item.text():
print("Я тыкнул на QTreeWidgetItem c текстом {0}".format(item.text()))
Т.е. в твой метод передается параметром item на который был клик, и в этом методе ты можешь с ним делать что хочешь. А прицепиться к клику только на конкретный item в чистом виде не получится.