Тема: Qt, Успадкування
Є в мене клас authorization i registration в них є багато спільних методів, але розглянемо один on_ButtonLock_clicked, оскільки on_ButtonLock_clicked використовується в двох класах то я зробив третій account в який переніс цей метод
Ось так це все виглядає
на slots i Q_OBJECT не звертайте уваги то від QT
account
class account : public QMainWindow
{
Q_OBJECT
public:
account();
protected slots:
void on_ButtonLock_clicked();
protected:
};
account реалізація on_ButtonLock_clicked
void account::on_ButtonLock_clicked()
{
static bool key = true;
if(key=!key)
ui->EditPassword->setEchoMode(QLineEdit::Password);
else
ui->EditPassword->setEchoMode(QLineEdit::Normal);
}
authorization
namespace Ui {
class authorization;
}
class authorization : public account
{
Q_OBJECT
public:
explicit authorization();
~authorization();
private:
Ui::authorization *ui;
};
registration
namespace Ui {
class registration;
}
class registration : public account
{
Q_OBJECT
public:
explicit registration();
~registration();
private:
Ui::registration *ui;
};
А тепер проблема, ui яке я використовував у методі on_ButtonLock_clicked в класі account для registration і authorization має різні типи тому не вийде просто створити там об'єкт ui типу account
Ui::account *ui;
тоді ui просто не матиме EditPassword.
Як вирішити цю проблему ?