⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qapplication.html

📁 这是qt3的帮助文档的中文版
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<li> -display <em>display</em>,设置X显示(默认为$DISPLAY)。
<li> -geometry <em>geometry</em>,设置<a href="#setMainWidget">主窗口部件</a>的客户端位置和大小。
<li> -fn或者<tt>-font</tt> <em>font</em>,定义应用程序的字体。这个字体必须使用X逻辑字体描述来北指定。
<li> -bg或者<tt>-background</tt> <em>color</em>,设置默认背景色和应用程序调色板(亮的和暗的阴影将被计算出来)。
<li> -fg或者<tt>-foreground</tt> <em>color</em>,设置默认前景色。
<li> -btn或者<tt>-button</tt> <em>color</em>,设置默认按钮颜色。
<li> -name <em>name</em>,设置应用程序名称。
<li> -title <em>title</em>,设置应用程序标题。
<li> -visual <tt>TrueColor</tt>,强制应用程序在8位显示上使用真彩图像。
<li> -ncols <em>count</em>,如果应用程序使用<a href="#ColorSpec-enum">QApplication::ManyColor</a>颜色规格,在8位显示中限制颜色立方体重分配的颜色。如果<em>count</em>为216,那么一个6x6x6的颜色立方体将被使用(也就是说6级红色,6级绿色和6级蓝色),对于其它值,与2x3x1立方体成比例的立方体将被使用。
<li> -cmap,导致应用程序在8位显示上安装一个私有的颜色映射。
</ul>
<p> <p>也可以参考<a href="#argc">argc</a>()和<a href="#argv">argv</a>()。

<h3 class=fn><a name="QApplication-2"></a>QApplication::QApplication ( int&nbsp;&amp;&nbsp;argc, char&nbsp;**&nbsp;argv, bool&nbsp;GUIenabled )
</h3>
构造一个使用<em>argv</em>中<em>argc</em>个命令行参数的应用程序对象。如果<em>GUIenabled</em>为真,图形用户界面应用程序被构造,否则非图形用户界面(命令行)应用程序被创建。
<p> 对于没有图形用户界面的程序,设置<em>GUIenabled</em>为假可以在没有窗口系统的情况下运行。
<p> 在X11下,如果<em>GUIenabled</em>为真,窗口系统被初始化。如果<em>GUIenabled</em>为假,应用程序不连接X服务器。在Windows和Macintosh,现在窗口系统总是被初始化,而不管<em>GUIenabled</em>的值。在Qt未来的版本这也许会改变。
<p> 对于线程配置(也就是说当Qt已经被作为线程库建立),应用程序全局互斥量在构造函数中将被锁定并且当使用<a href="#exec">exec</a>()进入事件循环中时解锁。如果你不调用exec(),你必须明显地对这个互斥量解锁,否则你将会在应用程序退出时得到警告。
<p> 下面这个例子显示如何创建在可能情况下使用图形界面的应用程序。
<pre>
  int main( int argc, char **argv )
  {
#ifdef Q_WS_X11
    bool useGUI = getenv( "DISPLAY" ) != 0;
#else
    bool useGUI = TRUE;
#endif
    QApplication app(argc, argv, useGUI);

    if ( useGUI ) {
       //开始图形用户界面版本
       ...
    } else {
       //开始非图形用户界面版本
       ...
    }
    return app.<a href="#exec">exec</a>();
  }
</pre>
 

<h3 class=fn><a name="QApplication-3"></a>QApplication::QApplication ( int&nbsp;&amp;&nbsp;argc, char&nbsp;**&nbsp;argv, <a href="qapplication.html#Type-enum">Type</a>&nbsp;type )
</h3>
构造一个使用<em>argv</em>中<em>argc</em>个命令行参数的应用程序对象。
<p> 对于Qt/Embedded,在<em>type</em>传递<a href="#Type-enum">QApplication::GuiServer</a>参数将会使这个应用程序变为服务器(相当于使用-qws参数运行)。

<h3 class=fn><a name="QApplication-4"></a>QApplication::QApplication ( Display&nbsp;*&nbsp;dpy, HANDLE&nbsp;visual = 0, HANDLE&nbsp;colormap = 0 )
</h3>
创建一个应用程序,给定一个已经打开显示的<em>dpy</em>。如果<em>visual</em>和<em>colormap</em>非零,应用程序将使用它们作为默认的Visual和Colormap上下文。
<p> 这个只在X11上有效。

<h3 class=fn><a name="QApplication-5"></a>QApplication::QApplication ( Display&nbsp;*&nbsp;dpy, int&nbsp;argc, char&nbsp;**&nbsp;argv, HANDLE&nbsp;visual = 0, HANDLE&nbsp;colormap = 0 )
</h3>
创建使用<em>argv</em>中<em>argc</em>个命令行参数的一个应用程序,给定一个已经打开显示的<em>dpy</em>。如果<em>visual</em>和<em>colormap</em>非零,应用程序将使用它们作为默认的Visual和Colormap上下文
<p> 这个只在X11上有效。

<h3 class=fn><a name="~QApplication"></a>QApplication::~QApplication ()<tt> [虚]</tt>
</h3>
清空由这个应用程序分配的任何窗口系统资源。设置全局变量<tt>qApp</tt>为0。

<h3 class=fn>void <a name="aboutToQuit"></a>QApplication::aboutToQuit ()<tt> [信号]</tt>
</h3>
<p> 当应用程序要退出主事件循环时,这个信号被发射。这也许发生在应用程序中调用<a href="#quit">quit</a>()之后,或者当用户关闭整个桌面对话时。
<p> 如果你的应用程序在清空的最后一刻要做些什么,这个信号特别重要。注意在这种状态下没有任何用户交互。
<p> <p>也可以参考<a href="#quit">quit</a>()。

<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="activeModalWidget"></a>QApplication::activeModalWidget ()<tt> [静态]</tt>
</h3>
返回激活的模式窗口部件。
<p> 模式对话框是特殊的顶级窗口部件,它是<a href="qdialog.html">QDialog</a>的子类,在构造函数中把模式参数设置为真。用户只有在关闭了模式窗口部件之后才能继续这个程序的其它部分。
<p> 模式窗口部件被组织在一个栈中。这个函数返回栈顶的激活窗口部件。
<p> <p>也可以参考<a href="#activePopupWidget">activePopupWidget</a>()和<a href="#topLevelWidgets">topLevelWidgets</a>()。

<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="activePopupWidget"></a>QApplication::activePopupWidget ()<tt> [静态]</tt>
</h3>
返回激活弹出窗口部件。
<p> 弹出窗口部件是特殊的顶级窗口部件,它设置了窗口部件标记<a href="qt.html#WidgetFlags-enum">WType_Popup</a>,例如<a href="qpopupmenu.html">QPopupMenu</a>窗口部件。当应用程序打开一个弹出窗口部件,所有的事件都被发送给弹出窗口部件。在弹出窗口部件被关闭之前,普通窗口部件和模式对话框都不能被访问。
<p> 当弹出窗口部件被显示时,只有其它弹出窗口部件可以被打开。弹出窗口部件被组织在一个栈中。这个函数返回栈顶的弹出窗口部件。
<p> <p>也可以参考<a href="#activeModalWidget">activeModalWidget</a>()和<a href="#topLevelWidgets">topLevelWidgets</a>()。

<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="activeWindow"></a>QApplication::activeWindow () const
</h3>
<p> 返回拥有键盘输入焦点的应用程序顶级窗口,或者如果没有应用程序窗口拥有焦点,返回0。注意尽管可能没有<a href="#focusWidget">focusWidget</a>(),仍然有可能<a href="#activeWindow">activeWindow</a>(),例如如果在窗口中没有窗口部件接收键盘事件。
<p> <p>也可以参考<a href="qwidget.html#setFocus">QWidget::setFocus</a>()、<a href="qwidget.html#focus-prop">QWidget::focus</a>和<a href="#focusWidget">focusWidget</a>()。
<p>实例:<a href="mail-example.html#x750">network/mail/smtp.cpp</a>。

<h3 class=fn>void <a name="addLibraryPath"></a>QApplication::addLibraryPath ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;path )<tt> [静态]</tt>
</h3>
把<em>path</em>添加到库路径列表的末尾。如果<em>path</em>为空或者已经在路径列表中,路径列表不会被改变。默认路径列表包含一个单一的条目<tt>$QTDIR/plugins</tt>。
<p> <p>也可以参考<a href="#removeLibraryPath">removeLibraryPath</a>()、<a href="#libraryPaths">libraryPaths</a>()和<a href="#setLibraryPaths">setLibraryPaths</a>()。

<h3 class=fn>QWidgetList * <a name="allWidgets"></a>QApplication::allWidgets ()<tt> [静态]</tt>
</h3>
返回应用程序中所有窗口部件的列表。
<p> 这个列表必须使用<tt>new</tt>来被创建并且必须被调用者删除。
<p> 如果没有窗口部件,这个列表为空(<a href="qptrlist.html#isEmpty">QPtrList::isEmpty</a>())。
<p> 注意一些窗口部件也许被隐藏。
<p> 更新所有窗口部件的实例:
<pre>
    QWidgetList  *list = QApplication::<a href="#allWidgets">allWidgets</a>();
    QWidgetListIt it( *list );         // 遍历窗口部件
    <a href="qwidget.html">QWidget</a> * w;
    while ( (w=it.current()) != 0 ) {  // 对于每一个窗口部件……
        ++it;
        w-&gt;<a href="qwidget.html#update">update</a>();
    }
    delete list;                      // 删除这个列表,不是这个窗口部件
  </pre>
 
<p> QWidgetList类在<tt>qwidgetlist.h</tt>头文件中被定义。
<p> <b>警告:</b>一旦你用完了这个列表,就删除它。列表中的窗口部件也许会在任何时候被其它删除。
<p> <p>也可以参考<a href="#topLevelWidgets">topLevelWidgets</a>()、<a href="qwidget.html#visible-prop">QWidget::visible</a>和<a href="qptrlist.html#isEmpty">QPtrList::isEmpty</a>()。

<h3 class=fn>int <a name="argc"></a>QApplication::argc () const
</h3>
<p> 返回命令行参数的数量。
<p> <a href="#argv">argv</a>()的文档描述了如何处理命令行参数。
<p> <p>也可以参考<a href="#argv">argv</a>()和<a href="#QApplication">QApplication::QApplication</a>()。
<p>实例:<a href="tutorial2-04.html#x2460">chart/main.cpp</a>和<a href="scribble-example.html#x926">scribble/scribble.cpp</a>。

<h3 class=fn>char ** <a name="argv"></a>QApplication::argv () const
</h3>
<p> 返回命令行参数矢量。
<p> <tt>argv()[0]</tt>是程序名称,<tt>argv()[1]</tt>是第一个参数并且<tt>argv()[argc()-1]</tt>是最后一个参数。
<p> QApplication对象是通过从<tt>main()</tt>函数传递的<em>argc</em>和<em>argv</em>被构造的。一些参数被作为Qt选项识别并且从参数矢量中移除。例如,X11版本的Qt知道<tt>-display</tt>、<tt>-font</tt>和其它一些选项。
<p> 实例:
<pre>
    // showargs.cpp - 在列表框中显示程序参数

    #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
    #include &lt;<a href="qlistbox-h.html">qlistbox.h</a>&gt;

    int main( int argc, char **argv )
    {
        QApplication a( argc, argv );
        <a href="qlistbox.html">QListBox</a> b;
        a.<a href="#setMainWidget">setMainWidget</a>( &amp;b );
        for ( int i = 0; i &lt; a.<a href="#argc">argc</a>(); i++ )  // a.<a href="#argc">argc</a>() == argc
            b.<a href="qlistbox.html#insertItem">insertItem</a>( a.<a href="#argv">argv</a>()[i] );      // a.<a href="#argv">argv</a>()[i] == argv[i]
        b.<a href="qwidget.html#show">show</a>();
        return a.<a href="#exec">exec</a>();
    }
  </pre>
 
<p> 如果你在X11下运行<tt>showargs -display unix:0 -font 9x15bold hello world</tt>,列表框中包含三个字符串“showargs”、“hello”和“world”。
<p> <p>也可以参考<a href="#argc">argc</a>()和<a href="#QApplication">QApplication::QApplication</a>()。
<p>实例:<a href="tutorial2-04.html#x2461">chart/main.cpp</a>和<a href="scribble-example.html#x927">scribble/scribble.cpp</a>。

<h3 class=fn>void <a name="beep"></a>QApplication::beep ()<tt> [静态]</tt>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -