Tak je potřeba:
class Ui_Dialog : public QWidget
{
Q_OBJECT
a ten prefix Q_OBJECT je tam právě potřeba jinak nefungují deklarace slotů. Nic méně mi kompilátor nepobíral, když jsem si to tam doplnil. Prapodivné. Vyřešilo to, když jsem v KDevelop dal přidat novou třídu. Tu nadědil s QWidget. Vše pomocí wizardu. A dal kompilovat. Nic víc jsem nikde neměnil. A ejhle Q_OBJECT najednou klidně prošel... no je to záhadný. Třídu jsem zase odebral a teď to už funguje bez toho a jak potřebuju.