You are using a relative path to the image. It might be that the application is started from a path other than you think and the image doesn't get displayed. Either make sure the path is correct (for example by changing to an absolute path or by changing the current directory to the applicationDir() before you create the widget) or use Qt resource system (see docs for details) to embed the icon within your binary.