Я вижу странное поведение на терминале при запуске следующего простого приложения 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.Кто-нибудь понял, что здесь происходит?Любые советы о том, как отладить это?Может кто-нибудь воспроизвести это?