Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: jacuba от Март 01, 2011, 08:16



Название: QMetaObject::invokeMethod
Отправлено: jacuba от Март 01, 2011, 08:16
Добрый день, возникли непонятки с данной конструкцией, документацию читал внимательно.
Код:
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow window;
    window.resize(150, 100);

    QLabel *label = new QLabel("Hello, label!", &window);
    QMetaObject::invokeMethod(label, SLOT(setText(const QString &)),Q_ARG(QString, "test"));

    window.show();
    return a.exec();
}
По задумке в лейбле надпись "Hello, lablel" должна смениться на "test". Ничего не происходит я негодую, прошу вашей помощи, уважаемые.


Название: Re: QMetaObject::invokeMethod
Отправлено: GreatSnake от Март 01, 2011, 09:09
Поменяй
Цитировать
SLOT(setText(const QString &))
на
Цитировать
"setText"


Название: Re: QMetaObject::invokeMethod
Отправлено: jacuba от Март 01, 2011, 09:34
Большое спасибо, работает.