QtプログラムとCMDウィンドウのポップアップの制御

4520 ワード

consoleプログラムの実行時にcmdウィンドウが同時に表示される場合は、proファイルに追加するだけです(これは一般的な使い方です):CONFIG+=consoleです.一般的には、debug時にcmdウィンドウが表示され、releaseは表示されません.
consoleプログラムの実行時にcmdウィンドウが同時に表示されるようにするには、proファイルに追加するだけです(これは一般的な使い方です):
CONFIG += console  
でいいです.一般的には、debug時にcmdウィンドウが表示されることを望んでいますが、releaseにはcmdウィンドウが表示されません.これもやりやすいです:ネットワークセキュリティ2009 FLYドキュメント、正ブログWWWW.2009 FLY.COM
win32:CONFIG(debug, debug|release):CONFIG += console  
win 32のdebugモードでのみ有効にしたいという意味です.
CONFIG(debug,debug|release)の意味は、http://hi.baidu.com/cyclone/blog/item/d77a8618608448b94bedbc0b.htmlを参照してwww.2009 fly.com 2009 FLY文摘,正正正博客WWW.2009 FLY.COM
qtestlibは実は前のオプションだけではなくてcmdウィンドウが现れて、私达がqtestlibモジュールを有効にする时、QtプログラムもコンソールウィンドウWEB技术Ajax、RIA 2009 FLY文摘を弾いて、正ブログWWW.2009 FLY.COM
CONFIG += qtestlib       2009FLY  ,     WWW.2009FLY.COM 
または
QT += testlib        2009FLY  ,     WWW.2009FLY.COM 
この2つの書き方の由来はよくわかりませんが、前はQtのexampleの使い方で、後者はQtのmanualが示した説明です.どうせ今は両方使えます.この場合、ポップアップコンソールは実際には理解しやすいです.qtestlibはテストに使用されています.テスト時にコンソールをポップアップして中間結果を出力するのは、皆さんが望んでいることです.しかし、もし私たちがGUIプログラムでqttestlibの中のものを使いたいなら、cmdウィンドウが欲しくないなら、どうしますか?cmdを除去する方法(注意:Qt Windows下リンクサブシステムとエントリ関数(最終版)文でより良い方法を示す)
proファイルにオプションを追加するなど、他にもっと簡単な方法があるかどうか分かりません(少なくともCONFIG-=consoleはだめです).
Windowsの下では、リンク時に複数のサブシステムがオプションであることを知っています.最もよく使われるのはconsoleとwindowsです.前者はコンソールから出て、後者はできません.
testlibが有効になった後にコンソールが現れた以上、つまりconsoleサブシステムである以上、makefileでwindowsに変更すれば、問題は解決するのではないでしょうか.
やると言えばやるが、次はMingwとVS 2008の2つの環境でのMakefileの修正方法である.
mingwを使用する場合、その中の:
-Wl,-subsystem,console       2009FLY  ,     WWW.2009FLY.COM 
をデータ技術Oracle、DBMaker、DB 2 2009 FLYドキュメントに修正し、正ブログWWW.2009 FLY.COM
-Wl,-subsystem,windows  
再コンパイルすればよい
使用するVS 2008などのコンパイラであれば、ゲームプログラミング2009 FLYドキュメント、正正ブログWWW.2009 FLY.COM その中の:オペレーティングシステムカーネル2009 FLYの抜粋、正正ブログWWW.2009 FLY.COM
/SUBSYSTEM:CONSOLE     ,Android、iPhone  2009FLY  ,     WWW.2009FLY.COM 
/SUBSYSTEM:WINDOWS /entry:mainCRTStartup 2009FLY  ,     WWW.2009FLY.COM 
に変更すると、リンクサブシステムの簡単な議論ができます.これを見ることができます.http://hi.baidu.com/cyclone/blog/item/96624a90fb4ca081a977a4db.html