Простое приложение Qt5 выводит пустые строки на терминал - PullRequest
0 голосов
/ 27 сентября 2018

Я вижу странное поведение на терминале при запуске следующего простого приложения Qt5:

#include <QtWidgets/QApplication>
#include <QtWidgets/QPushButton>

int main(int argc, char* argv[]) {
  QApplication app(argc, argv);
  QPushButton pb;
  pb.show();
  return app.exec();
}

Когда я запускаю эту программу следующим образом, вывод:

ton@willow:~/development/gb86 $ install/bin/gb86 &> /dev/null

ton@willow:~/development/gb86 $
ton@willow:~/development/gb86 $

Итакдаже перенаправление всего вывода на /dev/null все равно приводит к тому, что два нажатия клавиш ввода отправляются на терминал, как кажется.Некоторые наблюдения:

  • Запуск приложения из терминала, отличного от X11, и установка правильного $DISPLAY не показывает лишних пустых строк.
  • Другие приложения Qt5, которые ссылаются на то же самоеБиблиотеки Qt5 в одной системе ведут себя одинаково.Другие не-Qt5 приложения, запущенные из терминала, не имеют такого поведения.
  • Оконный менеджер i3, эмулятор терминала не имеет значения, я пробовал несколько разных (st, Alacritty, Kitty), и у всех естьтакое же поведениеИзменение $TERM также не имеет никакого эффекта.
  • Изменение PS1 на отдельный символ '$', например, не меняет поведение.
  • Изменение оболочек (Zsh / Bash) не меняет поведение.

Версия Qt - 5.11.2.Кто-нибудь понял, что здесь происходит?Любые советы о том, как отладить это?Может кто-нибудь воспроизвести это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...