I fixed it like so:
Comment out the default w.show() in my main.cpp.
I created a Q_INVOKABLE class method on main window called showAppWindow() that merely does a this->show().
I did the steps to inject my C++ object (called cpp) into my Javascript via the C++ <==> Webkit bridge.
In my index.html file, at the bottom before the ending BODY tag, I added this:
<script type="text/javascript">
try {
if (cpp) {
setTimeout('cpp.showAppWindow();',100);
}
} catch(e){}
</script>