Я пишу математическую программу для моего внука. Сначала я написал его как консольное приложение, как показано ниже, и все работает нормально.Как подождать нажатия клавиши в приложении Qt GUI
for(int i = 0; i <= 9; i++)
{
n2Digit = GetNewDigit(iProblemsWorkedArray);
int validAnswer = add(n1Digit, n2Digit);
bool noKey = true;
while(noKey)
{
char KeyPressed = getch();
int KeyAscii = KeyPressed;
if((KeyAscii >= 48) && (KeyAscii <= 57) && (validAnswer < 10))
{
studentAnswer = KeyAscii - 48;
noKey = false;
}
yada yada...
}
}
Теперь я хочу, чтобы написать то же самое, используя Qt GUI, но не нашел, что
char KeyPressed = getch();
в то время цикла больше не работает в графическом режиме.
Я искал дни и пришел к выводу, что я должен неправильно формулировать поиск. Кто-нибудь, пожалуйста, помогите?
В графическом интерфейсе вы не работаете с петлями напрямую, в Qt вы работаете с сигналами и слотами. Не могли бы вы объяснить, какова ваша цель? – eyllanesc
В Qt вы используете виджет, в котором вы можете писать, и это генерирует ряд сигналов, я рекомендую вам проверить QLineedit – eyllanesc
Пример ... Пользователю представлен ряд дополнительных проблем формы 3 + x = где x представлен по цифрам от 0 до 9. Первый будет 3 + 0 = __ пользователь набирает свой ответ (не используя клавишу ввода. Как только он нажимает клавишу 3, появляется следующая проблема 3 + 1 = __, а типы пользователей в его ответе и появляется следующая проблема: это продолжается для каждой цифры 0..9. Мне нужно ждать каждого ответа, но не знаю, как это сделать без зависания программы во время ожидания. n1 + n2 = n3 (это lineEdits.) – Ken