[Qt-interest] Qt app launched from CLI or GUI? Can I know in code?

Rui Maciel rui.maciel at gmail.com
Fri Sep 16 12:46:04 CEST 2011


Kishore Jonnalagadda wrote:

> On Tuesday 26 Jul 2011 11:02:32 PM you wrote:
>> Basically, in my application, I would like to install a message handler
>> for debug messages so that they are logged to a file. However, I would
>> like to do so only if the app were launched from the GUI. So in case the
>> app was launched from the CLI, it should output to the terminal as usual.
>>
>> Is this possible? Particularly on a linux machine
> 
> To answer my own question, i now use isatty() to check this.
> 
> /****/
> if(!isatty(fileno(stderr)))
> qInstallMsgHandler(myMessageOutput);
> /****/
> 
> The above code installs a custom message handler if stderr is not a
> terminal.

Wouldn't it be simpler to set the custom message handler through a flag 
passed through a command line argument?  With this, you would only need to 
guarantee that you passed that flag when you executed your app through a 
GUI, and you would gain a flexible way to test your code.


Rui Maciel



More information about the Qt-interest-old mailing list