Qt - Radiobutton в diff диалоге (окне) -> перевод результата в главное окно в lineedit - PullRequest
0 голосов
/ 03 мая 2011

моя проблема выглядит так.У меня есть диалоговое окно, и я знаю, как получить результат из проверенной кнопки радио, но только в этом окне.Как получить результат в другом окне (mainwindow). Кнопка

(Pobierz) находится в главном окне, и рядом с этой кнопкой находится lineedit2, где я хотел бы получить результат из проверенного переключателя, но не знаю как.Я делаю lineedit в этом новом диалоговом окне и получаю его результат, но я не знаю, как перенести этот результат в главное окно.Надеюсь, я объясню достаточно хорошо.Спасибо за любую помощь.

void Pobierz::on_pushButton_clicked() 
{ 
if(ui->radioButton1->isChecked())
{
ui->lineEdit->setText("K");
}

if(ui->radioButton2->isChecked())  
{
ui->lineEdit->setText("S");
}    

if(ui->radioButton3->isChecked())    
{
ui->lineEdit->setText("I");
} 
}

Привет, Том.up1 я пробовал несколько способов, но до сих пор не могу решить эту проблему ..

Ответы [ 2 ]

0 голосов
/ 03 мая 2011

В вашем классе для диалога объявите сигнал, который передает QString.Также переопределите функцию принятия (если вы еще этого не сделали).В функции принятия выведите сигнал с соответствующей строкой в ​​соответствии с переключателями.(Не забудьте вызвать родительскую функцию принятия самостоятельно).

В вашем классе для главного окна, когда вы создаете диалог, подключите сигнал из диалога к слоту, который устанавливает текст вредактирование строки в главном окне.Когда диалог принят, сигнал должен сработать, запустив слот в главном диалоге, добавив соответствующий текст в строку редактирования.

0 голосов
/ 03 мая 2011

Создайте слот в главном окне, который будет получать статус переключателя из диалогового окна. В этом слоте задайте значение lineedit вашего главного окна, основываясь на результатах проверки состояния переключателя диалогового окна.

При создании переключателя в диалоговом окне подключите сигнал переключателя clicked к указанному ранее слоту основного окна.

...