Russian Qt Forum

Qt => Вопросы новичков => Тема начата: KawaiNyashka от Сентябрь 22, 2016, 19:37



Название: Надпись на QPushButton
Отправлено: KawaiNyashka от Сентябрь 22, 2016, 19:37
Добрый день. Только начал изучать qt и сразу столкнулся с проблемой. Как мне заменить надпись на кнопке строкой полученной из сигнала? Для Label этой проблемы не возникло так как у него есть слот setText. По описанию я понял, что родного слота setText у кнопки нет и по примеру сделал:
private slots:
    void ButtonText(QString);
void MainWindow::ButtonText(QString)
{
   ui->pushButton_1->setText(QString);
}
но получил ошибку expected primary-expression before ')' token. Проблема как я понял в том, что через слоты нельзя передавать значение(в этом я не уверен). Как тогда провенуть эту операцию?


Название: Re: Надпись на QPushButton
Отправлено: gil9red от Сентябрь 22, 2016, 19:55
Измените код так:
Код
C++ (Qt)
void MainWindow::ButtonText(QString text)
{
  ui->pushButton_1->setText(text);
}
 

Просто в определении функции вы не указали название параметра, а в setText  (http://doc.qt.io/qt-4.8/qabstractbutton.html#text-prop)передавали тип, а не объект (переменная)


Название: Re: Надпись на QPushButton
Отправлено: KawaiNyashka от Сентябрь 22, 2016, 20:06
Огромное спасибо, все заработало.