always use heap memory for Qt component:
KDialog * kdlg = new KDialog
Qt has garbage collector. If you do not do it,
you may have memory problem.
Second way is unnecessary because KDialog is a dialog. You do not
need to define a parent dialog for it in your case.
KBtn1 = new QPushButton(this) should be fine.