Изменить текст при нажатии на кнопку

169
18 мая 2019, 07:00

При нажатии мышкой на PushButton текст Label должен меняться

 #include <QObject>
class change:public QObject{
    Q_OBJECT
public:
    QWidget wid;
    QPushButton *push=new QPushButton("button",&wid);
    QLabel *label=new QLabel("label",&wid);
    change(){
        QObject::connect(push,SIGNAL(clicked()),this,SLOT(rename()));
        wid.show();
    }
public slots:
    void rename(){
       label->setText("123");
    }
};
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    change prog;
    return a.exec();
}

В итоге вылетают две ошибки: undefined reference to `vtable for ex' и ld returned 1 exit status

Answer 1

В самом низу файла добавьте #include "main.moc".
При этом, в настройках проекта галочка Теневая Сборка должна быть сброшена.

В "боевых" проектах пользовательские классы (тем более, наследуемые от QObject) лучше объявлять в отдельных файлах.

READ ALSO
Что такое &ldquo;static initialization order fiasco&rdquo; (SIOF)?

Что такое “static initialization order fiasco” (SIOF)?

Что такое "static initialization order fiasco" (SIOF)?

158
Массив заполняется не полностью c++

Массив заполняется не полностью c++

Нужно нарисовать пирамиду, содержащую n строкЕсли n будет, например, 4, то пирамида должна выглядеть следующим образом:

124
Список ip, подключенных к localhost SFML C++

Список ip, подключенных к localhost SFML C++

Хочу спросить, как получить список игроков их ip, на localhost и как отслеживать их подключение

114