LINUX.ORG.RU

qt, cardreader и stdin


0

2

Есть POS теминал с картридером, он как я понимаю подключен к COM3. Если открыть терминал и провести карточку то получим в теминале строку. Если написать программу и читать stdin то получим эту строку. Я пишу на qt5, читаю чтобы не было блокировки в отдельном треде примерно так:

QTextStream cin(stdin);

for (;;)
{
    QString str = cin.readLine();
    printf("read: \"%s\"\n", str.toStdString().c_str());
    emit readyLine(str);
}

Собственно проблема: приложение графическое, запускаю из терминала, открывается Qt окно - нечитает нифига, переключаюсь на терминал (приложение все еще запущено) - читает.

Где я туплю? Как читать при том что графическое окно будет на переднем плане?

★★★★

Тупо в приложении нужно клавиши ловить а не stdin читать

virtual void keyPressEvent(QKeyEvent *event);

quest ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.