Название: Как работают сигналы в qt? Отправлено: Rphoenix от Февраль 22, 2020, 21:31 Здравствуйте, я новичок в qt, поэтому прошу и помочь разобраться;
допустим, есть spinbox. Как сделать, чтобы через QMessageBox выводился текст - его нынешнее значение? ________________________ Вообще мне нужно сделать, чтобы вместо чисел можно было выбирать текст. Название: Re: Как работают сигналы в qt? Отправлено: Apktyc от Февраль 23, 2020, 00:29 Вообще мне нужно сделать, чтобы вместо чисел можно было выбирать текст. А QComboBox чем не устраивает? Но на всякий случай существуют QSpinBox::textFromValue, QSpinBox::valueFromTextНазвание: Re: Как работают сигналы в qt? Отправлено: kambala от Февраль 23, 2020, 00:40 Здравствуйте, я новичок в qt, поэтому прошу и помочь разобраться; а где собственная попытка разобраться? выглядит как «сделайте всё за меня».допустим, есть spinbox. Как сделать, чтобы через QMessageBox выводился текст - его нынешнее значение? ________________________ Вообще мне нужно сделать, чтобы вместо чисел можно было выбирать текст. Название: Re: Как работают сигналы в qt? Отправлено: Rphoenix от Февраль 23, 2020, 01:33 void MainWindow::on_spinBox_valueChanged(const QString &arg1)
{ int i=1; QMessageBox::about(this, "текст", ui->spinBox->cleanText()); QMessageBox::about(this, "текст", QString::number(i)); if (i==1) {(ui->spinBox->setSpecialValueText("ааа"));} else if (i==2) {(ui->spinBox->setSpecialValueText("ббб"));} ui->spinBox->setValue(0); if (i>2) {i=1;} else i++; // ui->spinBox->setSpecialValueText("ююю"); } вот так он выводит текст, только цикл начинается с начала. Необходимо, чтобы он выводил заранее написанные три слова по кругу. в данном примере при изменении Название: Re: Как работают сигналы в qt? Отправлено: Rphoenix от Февраль 23, 2020, 02:50 Вот так заработал перебор;
b=ui->spinBox->cleanText(); if (i>2) {i=0;}; if (b=="ggg") {i=0;} else if (b=="aaa") {i=1;} else if (b=="bbb") {i=2;}; // QMessageBox::about(this, "текст", ui->spinBox->cleanText()); // QMessageBox::about(this, "текст", QString::number(i)); switch(i) { case 0: ui->spinBox->setSpecialValueText("aaa"); ui->spinBox->setValue(0); break; case 1: ui->spinBox->setSpecialValueText("bbb"); ui->spinBox->setValue(0); break; case 2: ui->spinBox->setSpecialValueText("ggg"); ui->spinBox->setValue(0); break; } |