简单的Qt5应用程序在终端上输出空白行

Ton*_*vel 9 linux qt qt5

运行以下简单的Qt5应用程序时,我在终端上看到奇怪的行为:

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

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

当我按如下方式运行此程序时,输出为:

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

ton@willow:~/development/gb86 $
ton@willow:~/development/gb86 $
Run Code Online (Sandbox Code Playgroud)

因此,即使重定向所有输出/dev/null仍然导致两个输入按键被发送到终端似乎.一些观察:

  • 从非X11终端运行应用程序并设置正确$DISPLAY不会显示额外的空行.
  • 链接到同一系统上相同Qt5库的其他Qt5应用程序具有相同的行为.从终端启动的其他非Qt5应用程序没有此行为.
  • 窗口管理器是i3,终端模拟器没关系,我尝试了几个不同的(st,Alacritty,Kitty),并且都具有相同的行为.改变$TERM也没有效果.
  • 例如,将PS1更改为单个"$"字符不会更改行为.
  • 更改shell(Zsh/Bash)不会改变行为.

Qt版本是5.11.2.任何人都知道这里发生了什么?关于如何调试这个的任何提示?有人可以复制这个吗?