Посмотрите на вывод консоли, должно появиться предупреждение о сбое подключения. Если вы посмотрите на свой код, причина должна быть довольно очевидной. Рассмотрим
SLOT(createItemFromAction(QListWidgetItem*))
против вашего метода, который даже не является слотом
QListWidgetItem *createItemFromAction(const QAction* action);
Видите разницу?
И тогда у вас есть этот слот:
void on_listWidget_itemClicked(QListWidgetItem *item);
, который вы пытаетесь использовать в качестве сигнала
SIGNAL(on_listWidget_itemClicked(QListWidgetItem*))
Это явно не сработает.
Немного неясно, что вы хотите случается, когда по элементу щелкают, но, возможно, вам просто нужно вызвать createItemFromAction
напрямую из on_listWidget_itemClicked
.
. Кроме того, добавьте отладочную печать или используйте точку останова, чтобы убедиться, что on_listWidget_itemClicked
действительно вызывается при нажатии пункт. Если нет, значит, вам не хватает подключения соответствующего сигнала из списка, ie. ui->setupUi(this);
не имеет этого соединения (другими словами, вы не установили соединение в GUI Designer).