https://wiki.qt.io/index.php?title=Getting_Started_on_the_Commandline/es&feed=atom&action=historyGetting Started on the Commandline/es - Revision history2024-03-29T15:25:00ZRevision history for this page on the wikiMediaWiki 1.39.4https://wiki.qt.io/index.php?title=Getting_Started_on_the_Commandline/es&diff=23255&oldid=prevWieland: Wieland moved page GettingStartedQt Spanish to Getting Started on the Commandline/es: Spanish2016-03-24T17:56:29Z<p>Wieland moved page <a href="/GettingStartedQt_Spanish" class="mw-redirect" title="GettingStartedQt Spanish">GettingStartedQt Spanish</a> to <a href="/Getting_Started_on_the_Commandline/es" title="Getting Started on the Commandline/es">Getting Started on the Commandline/es</a>: Spanish</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<tr class="diff-title" lang="en">
<td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 17:56, 24 March 2016</td>
</tr><tr><td colspan="2" class="diff-notice" lang="en"><div class="mw-diff-empty">(No difference)</div>
</td></tr></table>Wielandhttps://wiki.qt.io/index.php?title=Getting_Started_on_the_Commandline/es&diff=13261&oldid=prevAutoSpider: Decode HTML entity names2015-03-12T17:17:03Z<p>Decode HTML entity names</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 17:17, 12 March 2015</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l67">Line 67:</td>
<td colspan="2" class="diff-lineno">Line 67:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>QWidget window;</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>QWidget window;</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>QTextEdit *textEdit = new QTextEdit(&<del style="font-weight: bold; text-decoration: none;">amp;</del>window);</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>QTextEdit *textEdit = new QTextEdit(&window);</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> QPushButton *quitButton = new QPushButton("Quit");</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> QPushButton *quitButton = new QPushButton("Quit");</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l76">Line 76:</td>
<td colspan="2" class="diff-lineno">Line 76:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> layout.addWidget(quitButton);</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> layout.addWidget(quitButton);</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>window.setLayout(&<del style="font-weight: bold; text-decoration: none;">amp;</del>layout);</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>window.setLayout(&layout);</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>window.show();</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>window.show();</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l96">Line 96:</td>
<td colspan="2" class="diff-lineno">Line 96:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Aprender Más ===</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Aprender Más ===</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* Signals y slots - [http://doc.qt.nokia.com/4.7/signalsandslots.html Signals &<del style="font-weight: bold; text-decoration: none;">amp; </del>Slots]</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* Signals y slots - [http://doc.qt.nokia.com/4.7/signalsandslots.html Signals & Slots]</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Layouts - [http://doc.qt.nokia.com/4.7/layout.html Administración de Layout], [http://doc.qt.nokia.com/4.7/widgets-and-layouts.html Widgets y Layouts], [http://doc.qt.nokia.com/4.7/examples-layouts.html Ejemplos de Layout]</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Layouts - [http://doc.qt.nokia.com/4.7/layout.html Administración de Layout], [http://doc.qt.nokia.com/4.7/widgets-and-layouts.html Widgets y Layouts], [http://doc.qt.nokia.com/4.7/examples-layouts.html Ejemplos de Layout]</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Los widgets que se incluyen con Qt - [http://doc.qt.nokia.com/4.7/gallery.html Galería de Widgets de Qt], [http://doc.qt.nokia.com/4.7/examples-widgets.html Ejemplos de Widgets]</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Los widgets que se incluyen con Qt - [http://doc.qt.nokia.com/4.7/gallery.html Galería de Widgets de Qt], [http://doc.qt.nokia.com/4.7/examples-widgets.html Ejemplos de Widgets]</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l207">Line 207:</td>
<td colspan="2" class="diff-lineno">Line 207:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><code>Notepad::Notepad()</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><code>Notepad::Notepad()</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> saveAction = new QAction(tr("&<del style="font-weight: bold; text-decoration: none;">amp;</del>Open"), this);</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> saveAction = new QAction(tr("&Open"), this);</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> saveAction = new QAction(tr("&<del style="font-weight: bold; text-decoration: none;">amp;</del>Save"), this);</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> saveAction = new QAction(tr("&Save"), this);</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> exitAction = new QAction(tr("E&<del style="font-weight: bold; text-decoration: none;">amp;amp;</del>xit"), this);</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> exitAction = new QAction(tr("E&xit"), this);</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> connect(openAction, SIGNAL (triggered()), this, SLOT (open()));</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> connect(openAction, SIGNAL (triggered()), this, SLOT (open()));</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l215">Line 215:</td>
<td colspan="2" class="diff-lineno">Line 215:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> connect(exitAction, SIGNAL (triggered()), qApp, SLOT (quit()));</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> connect(exitAction, SIGNAL (triggered()), qApp, SLOT (quit()));</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> fileMenu = menuBar()->addMenu(tr("&<del style="font-weight: bold; text-decoration: none;">amp;</del>File"));</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> fileMenu = menuBar()->addMenu(tr("&File"));</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> fileMenu->addAction(openAction);</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> fileMenu->addAction(openAction);</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> fileMenu->addAction(saveAction);</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> fileMenu->addAction(saveAction);</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l275">Line 275:</td>
<td colspan="2" class="diff-lineno">Line 275:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> // error message</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> // error message</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> } else {</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> } else {</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> QTextStream stream(&<del style="font-weight: bold; text-decoration: none;">amp;</del>file);</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> QTextStream stream(&file);</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> stream << textEdit->toPlainText();</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> stream << textEdit->toPlainText();</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> stream.flush();</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> stream.flush();</div></td></tr>
</table>AutoSpiderhttps://wiki.qt.io/index.php?title=Getting_Started_on_the_Commandline/es&diff=12356&oldid=prevAutoSpider: Convert ExpressionEngine section headers2015-03-05T15:55:02Z<p>Convert ExpressionEngine section headers</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 15:55, 5 March 2015</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l47">Line 47:</td>
<td colspan="2" class="diff-lineno">Line 47:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Qmake es la herramienta de construcción de proyectos de Qt, el cual, utiliza un archivo de configuración. Qmake genera este archivo por nosotros cuando le enviamos el argumento '''-project*. Dado el archivo de configuración (con el sufijo .pro), qmake produce un archivo make el cual, construirá el programa por usted. Más adelante veremos como escribir nuestros propios archivos .pro</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Qmake es la herramienta de construcción de proyectos de Qt, el cual, utiliza un archivo de configuración. Qmake genera este archivo por nosotros cuando le enviamos el argumento '''-project*. Dado el archivo de configuración (con el sufijo .pro), qmake produce un archivo make el cual, construirá el programa por usted. Más adelante veremos como escribir nuestros propios archivos .pro</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">h3. </del>Aprender Más</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">=== </ins>Aprender Más <ins style="font-weight: bold; text-decoration: none;">===</ins></div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Widgets y Geometría de Ventanas- [http://doc.qt.nokia.com/4.7/application-windows.html Widgets Diálogo y Ventana]</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Widgets y Geometría de Ventanas- [http://doc.qt.nokia.com/4.7/application-windows.html Widgets Diálogo y Ventana]</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>''' Eventos y manejo de eventos- [http://doc.qt.nokia.com/4.7/eventsandfilters.html El Sistema de Eventos]</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>''' Eventos y manejo de eventos- [http://doc.qt.nokia.com/4.7/eventsandfilters.html El Sistema de Eventos]</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l149">Line 149:</td>
<td colspan="2" class="diff-lineno">Line 148:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Ahora utilizamos la función [http://doc.qt.nokia.com/4.7/qobject.html#tr tr()] alrededor de las cadenas de texto que serán visibles por el usuario. Esta función es necesaria cuando usted desea proveer su aplicación en más de un lenguaje (ejemplo, Inglés y Chino) No entraremos en detalles aquí, pero puede consultar el enlace Qt Linguist de la tabla de aprenda más.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Ahora utilizamos la función [http://doc.qt.nokia.com/4.7/qobject.html#tr tr()] alrededor de las cadenas de texto que serán visibles por el usuario. Esta función es necesaria cuando usted desea proveer su aplicación en más de un lenguaje (ejemplo, Inglés y Chino) No entraremos en detalles aquí, pero puede consultar el enlace Qt Linguist de la tabla de aprenda más.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">h3. </del>Aprender Más</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">=== </ins>Aprender Más <ins style="font-weight: bold; text-decoration: none;">===</ins></div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>''' tr() e internacionalización - [http://doc.qt.nokia.com/4.7/linguist-manual.html Manual Qt Linguist], [http://doc.qt.nokia.com/4.7/i18n-source-translation.html Escribiendo Código Fuente Para Traducción], [http://doc.qt.nokia.com/4.7/linguist-hellotr.html Ejemplo Hola tr()], [http://doc.qt.nokia.com/4.7/internationalization.html Internacionalización con Qt]</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>''' tr() e internacionalización - [http://doc.qt.nokia.com/4.7/linguist-manual.html Manual Qt Linguist], [http://doc.qt.nokia.com/4.7/i18n-source-translation.html Escribiendo Código Fuente Para Traducción], [http://doc.qt.nokia.com/4.7/linguist-hellotr.html Ejemplo Hola tr()], [http://doc.qt.nokia.com/4.7/internationalization.html Internacionalización con Qt]</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [http://doc.qt.nokia.com/4.7/qtwebkit-bridge.html#qobjects QObjects] y el Modelo de Objetos de Qt (Esto es esencial para entender Qt) - [http://doc.qt.nokia.com/4.7/object.html Modelo de Objetos]</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [http://doc.qt.nokia.com/4.7/qtwebkit-bridge.html#qobjects QObjects] y el Modelo de Objetos de Qt (Esto es esencial para entender Qt) - [http://doc.qt.nokia.com/4.7/object.html Modelo de Objetos]</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l170">Line 170:</td>
<td colspan="2" class="diff-lineno">Line 168:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></code></div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></code></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">h2. </del>Usando una QMainWindow</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">== </ins>Usando una QMainWindow <ins style="font-weight: bold; text-decoration: none;">==</ins></div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Muchas aplicaciones se beneficiarán del uso de un [http://doc.qt.nokia.com/4.7/qmainwindow.html QMainWindow], la cual tiene su propio layout al cual puede agregar una barra de menús, widgets de acoplamiento (dock widgets), barras de herramientas, y una barra de estado. [http://doc.qt.nokia.com/4.7/qmainwindow.html QMainWindow] tiene un área central que puede ser ocupada por cualquier tipo de widget. En nuestro caso, vamos a ubicar nuestro editor de texto aquí.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Muchas aplicaciones se beneficiarán del uso de un [http://doc.qt.nokia.com/4.7/qmainwindow.html QMainWindow], la cual tiene su propio layout al cual puede agregar una barra de menús, widgets de acoplamiento (dock widgets), barras de herramientas, y una barra de estado. [http://doc.qt.nokia.com/4.7/qmainwindow.html QMainWindow] tiene un área central que puede ser ocupada por cualquier tipo de widget. En nuestro caso, vamos a ubicar nuestro editor de texto aquí.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<!-- diff cache key heroku_app_db:diff::1.12:old-11199:rev-12356 -->
</table>AutoSpiderhttps://wiki.qt.io/index.php?title=Getting_Started_on_the_Commandline/es&diff=11199&oldid=prevAutoSpider: Convert ExpressionEngine links2015-03-04T08:28:55Z<p>Convert ExpressionEngine links</p>
<a href="//wiki.qt.io/index.php?title=Getting_Started_on_the_Commandline/es&diff=11199&oldid=9323">Show changes</a>AutoSpiderhttps://wiki.qt.io/index.php?title=Getting_Started_on_the_Commandline/es&diff=9323&oldid=prevAutoSpider: Add "cleanup" tag2015-03-03T15:41:06Z<p>Add "cleanup" tag</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 15:41, 3 March 2015</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">{{Cleanup | reason=Auto-imported from ExpressionEngine.}}</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Learning]] [[Category:Spanish]]</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Learning]] [[Category:Spanish]]</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<!-- diff cache key heroku_app_db:diff::1.12:old-6654:rev-9323 -->
</table>AutoSpiderhttps://wiki.qt.io/index.php?title=Getting_Started_on_the_Commandline/es&diff=6654&oldid=prevMaintenance script at 09:32, 25 February 20152015-02-25T09:32:54Z<p></p>
<a href="//wiki.qt.io/index.php?title=Getting_Started_on_the_Commandline/es&diff=6654&oldid=4124">Show changes</a>Maintenance scripthttps://wiki.qt.io/index.php?title=Getting_Started_on_the_Commandline/es&diff=4124&oldid=prevMaintenance script at 09:03, 24 February 20152015-02-24T09:03:24Z<p></p>
<a href="//wiki.qt.io/index.php?title=Getting_Started_on_the_Commandline/es&diff=4124&oldid=895">Show changes</a>Maintenance scripthttps://wiki.qt.io/index.php?title=Getting_Started_on_the_Commandline/es&diff=895&oldid=prevMaintenance script at 15:34, 14 January 20152015-01-14T15:34:02Z<p></p>
<p><b>New page</b></p><div>=Introducción a la Programación con Qt=<br />
<br />
Bienvenido al mundo de Qt, la herramienta multiplataforma para <span class="caps">GUI</span> (interfaz gráficas de usuario). En esta guía de introducción, aprenderemos temas básicos de Qt mediante la implementación de una simple aplicación Notepad (Bloc de Notas). Al terminar de leer esta guía, usted debería estar listo para ahondar en nuestras descripciones tecnológicas generales y en la documentación del <span class="caps">API</span>, para poder encontrar la información que necesite sobre la aplicación que esté desarrollando.<br />
<br />
==Hola Bloc de Notas==<br />
<br />
En este primer ejemplo, simplemente creamos y mostramos en el escritorio, un editor de texto dentro de un marco de ventana. Esto representa el programa más simple posible de Qt que posea <span class="caps">GUI</span>.<br />
<br />
[[Image:gs1.png]]<br />
<br />
Este es el código:<br /><br />
<br />
Revisemos el código línea por línea. En las primeras dos líneas, incluimos los archivos de cabecera de [http://doc.qt.nokia.com/4.7/qapplication.html QApplication] ''[doc.qt.nokia.com]'' y [http://doc.qt.nokia.com/4.7/qtextedit.html QTextEdit] ''[doc.qt.nokia.com]'', las cuales son las dos clases que necesitamos para este ejemplo. Todas las clases de Qt tienen un archivo de cabecera que lleva su nombre.<br />
<br />
En la línea 6 creamos un objeto de la clase [http://doc.qt.nokia.com/4.7/qapplication.html QApplication] ''[doc.qt.nokia.com]''. Este objeto administra los recursos de la aplicación y es necesario para ejecutar cualquier programa de Qt que tenga <span class="caps">GUI</span>. Necesita '''argv''' y '''argc''' debido a que Qt acepta algunos argumentos de la línea de comandos.<br />
<br />
En la línea 8 creamos un objeto de la clase [http://doc.qt.nokia.com/4.7/qtextedit.html QTextEdit] ''[doc.qt.nokia.com]''. Un editor de texto es un elemento visual en la interfaz gráfica. En Qt, estos elementos se conocen con el nombre de widgets. Otros ejemplos de widgets son: barras de desplazamiento, etiquetas, y botones de radio. Un widget también puede ser un contenedor para otros widgets; un diálogo o la ventana principal de una aplicación, por ejemplo.<br />
<br />
En la línea 9 mostramos el editor de texto en la pantalla en su propio marco de ventana. Debido a que los widgets también funcionan como contenedores (por ejemplo una [http://doc.qt.nokia.com/4.7/qmainwindow.html QMainWindow] ''[doc.qt.nokia.com]'', la cual tiene barras de herramientas, menús, una barra de estatus, y algunos otros widgets), es posible mostrar un solo widget en su propia ventana. Los widgets no son visibles por defecto, la función show() hace visibles los widgets.<br />
<br />
En la línea 11 la [http://doc.qt.nokia.com/4.7/qapplication.html QApplication] ''[doc.qt.nokia.com]'' entra en su ciclo de eventos. Cuando una aplicación de Qt se está ejecutando, los eventos son generados y enviados a los widgets de la aplicación. Algunos ejemplos de eventos son presionar algún botón del mouse y pulsar alguna tecla. Cuando usted escribe texto en el widget editor de texto, este recibe eventos de tecla presionada y responde dibujando el texto tecleado.<br />
<br />
Para ejecutar la aplicación, ejecute una terminal o símbolo del sistema en (Windows), y entre al directorio en el cual tiene el archivo .cpp del programa. Los siguientes comandos de shell construyen el programa.<br /><br />
<br />
Esto generará un ejecutable en el directorio part1 (note que en Windows, posiblemente tenga que utilizar nmake en lugar de make. Note, que el ejecutable estará localizado en part1/debug o part1/release).<br /> Qmake es la herramienta de construcción de proyectos de Qt, el cual, utiliza un archivo de configuración. Qmake genera este archivo por nosotros cuando le enviamos el argumento '''-project'''. Dado el archivo de configuración (con el sufijo .pro), qmake produce un archivo make el cual, construirá el programa por usted. Más adelante veremos como escribir nuestros propios archivos .pro<br />
<br />
===Aprender Más===<br />
<br />
* Widgets y Geometría de Ventanas – [http://doc.qt.nokia.com/4.7/application-windows.html Widgets Diálogo y Ventana] ''[doc.qt.nokia.com]''<br />
* Eventos y manejo de eventos – [http://doc.qt.nokia.com/4.7/eventsandfilters.html El Sistema de Eventos] ''[doc.qt.nokia.com]''<br />
<br />
==Agregando un botón Salir (Quit)==<br />
<br />
En una aplicación real, normalmente necesitará más de un widget. Vamos ahora a agregar un [http://doc.qt.nokia.com/4.7/qpushbutton.html QPushButton] ''[doc.qt.nokia.com]'' debajo del editor de texto. El botón hará que la aplicación Bloc de Notas finalice cuando sea presionado (ejemplo, se da click con el mouse).<br />
<br />
[[Image:gs2.png]]<br />
<br />
Revisemos el código.<br /><br />
<br />
La línea 1 incluye el archivo de cabecera [http://doc.qt.nokia.com/4.7/qtgui.html QtGui] ''[doc.qt.nokia.com]'', el cual contiene todas las clases de <span class="caps">GUI</span> de Qt.<br />
<br />
La línea 10 utiliza el mecanismo de '''Signals''' y '''Slots''' de Qt para hacer que la aplicación termine cuando el '''botón Quit''' sea presionado. Un '''slot''' es una función que puede ser invocada en tiempo de ejecución utilizando su nombre (como una cadena de caracteres literal). Una '''signal''' es una función que invoca a los slots registrados con ella, cuando es llamada; Invocamos eso para conectar el slot con la signal y emitir la signal.<br />
<br />
[http://doc.qt.nokia.com/4.7/qcoreapplication.html#quit quit()] ''[doc.qt.nokia.com]'' es un slot de [http://doc.qt.nokia.com/4.7/qapplication.html QApplication] ''[doc.qt.nokia.com]'' que termina la aplicación. [http://doc.qt.nokia.com/4.7/qabstractbutton.html#clicked clicked()] ''[doc.qt.nokia.com]'' es una signal que [http://doc.qt.nokia.com/4.7/qpushbutton.html QPushButton] ''[doc.qt.nokia.com]'' emite cuando es presionado. La función estática [http://doc.qt.nokia.com/4.7/qobject.html#connect QObject::connect()] ''[doc.qt.nokia.com]'' se encarga de conectar el slot a la signal. <span class="caps">SIGNAL</span>() y <span class="caps">SLOT</span>() son dos macros que reciben la firma de las funciones signal y slot a conectar. También necesitamos enviar apuntadores a los objetos que deben enviar y recibir la señal.<br />
<br />
En la línea 12 creamos un [http://doc.qt.nokia.com/4.7/qvboxlayout.html QVBoxLayout] ''[doc.qt.nokia.com]''. Como mencionamos, los widgets pueden contener otros widgets. Es posible establecer los límites (la localización y el tamaño) de los widgets hijos directamente, pero usualmente es más sencillo utilizar un layout. Un layout administra los límites de los widgets hijos. [http://doc.qt.nokia.com/4.7/qvboxlayout.html QVBoxLayout] ''[doc.qt.nokia.com]'', por ejemplo, coloca los hijos en una fila vertical.<br />
<br />
Las líneas 13 y 14 agregan el editor de texto y el botón al layout. En la línea 17, establecemos el layout sobre el widget.<br />
<br />
===Aprender Más===<br />
<br />
* Signals y slots – [http://doc.qt.nokia.com/4.7/signalsandslots.html Signals &amp; Slots] ''[doc.qt.nokia.com]''<br />
* Layouts – [http://doc.qt.nokia.com/4.7/layout.html Administración de Layout] ''[doc.qt.nokia.com]'', [http://doc.qt.nokia.com/4.7/widgets-and-layouts.html Widgets y Layouts] ''[doc.qt.nokia.com]'', [http://doc.qt.nokia.com/4.7/examples-layouts.html Ejemplos de Layout] ''[doc.qt.nokia.com]''<br />
* Los widgets que se incluyen con Qt – [http://doc.qt.nokia.com/4.7/gallery.html Galería de Widgets de Qt] ''[doc.qt.nokia.com]'', [http://doc.qt.nokia.com/4.7/examples-widgets.html Ejemplos de Widgets] ''[doc.qt.nokia.com]''<br />
<br />
==Crear Una Subclase de QWidget==<br />
<br />
Cuando el usuario quiere salir de una aplicación, es muy normal mostrar un diálogo que le pregunte sobre si de verdad desea salir. En este ejemplo, crearemos una subclase de QWidget, y agregaremos un slot que conectaremos al '''botón Quit'''.<br />
<br />
[[Image:gs3.png]]<br />
<br />
Revisemos el código:<br /><br />
<br />
La macro Q_OBJECT debe estar primero en la definición de la clase, y declara nuestra clase como un QObject (Naturalmente, también debe de heredar de [http://doc.qt.nokia.com/4.7/qobject.html QObject] ''[doc.qt.nokia.com]''). Un [http://doc.qt.nokia.com/4.7/qobject.html QObject] ''[doc.qt.nokia.com]'' añade varias capacidades a una clase normal de C++. Notablemente, el nombre de la clase y los nombres de los slots pueden ser consultados en tiempo de ejecución. También es posible consultar el tipo de los parámetros de un slot e invocarlo.<br />
<br />
La línea 13 declara el '''slot quit()'''. Esto es sencillo utilizando la marco '''slots'''. El '''slot quit()''' ahora puede conectarse a las '''signals''' que coincidan en su firma (cualquier signal que no reciba parámetros).<br />
<br />
En lugar de configurar la interfaz gráfica y conectar el slot en la función main(), ahora utilizamos el constructor del Bloc de Notas.<br />
<br />
Como se puede ver en la definición de la clase, utilizamos apuntadores (punteros) a nuestros [http://doc.qt.nokia.com/4.7/qobject.htmls QObject] ''[doc.qt.nokia.com]'' (textEdit y quitButton) Como regla, usted siempre debe reservar memoria para [http://doc.qt.nokia.com/4.7/qobject.htmls QObject] ''[doc.qt.nokia.com]'' en el heap y nunca copiarlos.<br />
<br />
Ahora utilizamos la función [http://doc.qt.nokia.com/4.7/qobject.html#tr tr()] ''[doc.qt.nokia.com]'' alrededor de las cadenas de texto que serán visibles por el usuario. Esta función es necesaria cuando usted desea proveer su aplicación en más de un lenguaje (ejemplo, Inglés y Chino) No entraremos en detalles aquí, pero puede consultar el enlace Qt Linguist de la tabla de aprenda más.<br />
<br />
===Aprender Más===<br />
<br />
* tr() e internacionalización – [http://doc.qt.nokia.com/4.7/linguist-manual.html Manual Qt Linguist] ''[doc.qt.nokia.com]'', [http://doc.qt.nokia.com/4.7/i18n-source-translation.html Escribiendo Código Fuente Para Traducción] ''[doc.qt.nokia.com]'', [http://doc.qt.nokia.com/4.7/linguist-hellotr.html Ejemplo Hola tr()] ''[doc.qt.nokia.com]'', [http://doc.qt.nokia.com/4.7/internationalization.html Internacionalización con Qt] ''[doc.qt.nokia.com]''<br />
* [http://doc.qt.nokia.com/4.7/qtwebkit-bridge.html#qobjects QObjects] ''[doc.qt.nokia.com]'' y el Modelo de Objetos de Qt (Esto es esencial para entender Qt) – [http://doc.qt.nokia.com/4.7/object.html Modelo de Objetos] ''[doc.qt.nokia.com]''<br />
* qmake y el sistema de construcción de Qt – [http://doc.qt.nokia.com/4.7/qmake-manual.html Manual qmake] ''[doc.qt.nokia.com]''<br />
<br />
==Creando un archivo .pro==<br />
<br />
Para este ejemplo escribiremos nuestro archivo en lugar de utilizar la opción de qmake -project<br />
<br />
Los siguientes comandos de shell construyen el ejemplo<br /><br />
<br />
==Usando una QMainWindow==<br />
<br />
Muchas aplicaciones se beneficiarán del uso de un [http://doc.qt.nokia.com/4.7/qmainwindow.html QMainWindow] ''[doc.qt.nokia.com]'', la cual tiene su propio layout al cual puede agregar una barra de menús, widgets de acoplamiento (dock widgets), barras de herramientas, y una barra de estado. [http://doc.qt.nokia.com/4.7/qmainwindow.html QMainWindow] ''[doc.qt.nokia.com]'' tiene un área central que puede ser ocupada por cualquier tipo de widget. En nuestro caso, vamos a ubicar nuestro editor de texto aquí.<br />
<br />
[[Image:gs4.png]]<br />
<br />
Revisemos la nueva definición de la clase Bloc de Notas (Notepad)<br />
<br />
Incluimos dos '''slots''' más que pueden guardar y abrir un documento. Implementaremos su funcionalidad en la siguiente sección.<br />
<br />
A menudo, en una ventana principal (main window), el mismo '''slot''' debe ser invocado por varios widgets. Ejemplos de ello son los elementos de menú y los botones en una barra de herramientas. Para hacer esto más fácil, Qt proporciona [http://doc.qt.nokia.com/4.7/qaction.html QAction] ''[doc.qt.nokia.com]'', que puede ser dada a varios widgets, y ser conectada a un slot. Por ejemplo, tanto [http://doc.qt.nokia.com/4.7/qmenu.html QMenu] ''[doc.qt.nokia.com]'' como [http://doc.qt.nokia.com/4.7/qtoolbar.html QToolBar] ''[doc.qt.nokia.com]'' pueden crear elementos de menú y botones de herramientas de las mismas [http://doc.qt.nokia.com/4.7/qaction.htmls QAction] ''[doc.qt.nokia.com]''. En breve vamos a ver como funciona esto.<br />
<br />
Como antes, usamos el constructor del Bloc de Notas (Notepad) para configurar la <span class="caps">GUI</span>.<br />
<br />
Las [http://doc.qt.nokia.com/4.7/qaction.htmls QAction] ''[doc.qt.nokia.com]'' son creadas con el texto que debe aparecer en los widgets a los que las adicionemos (en nuestro caso, los elementos de menú). Si también quisieramos añadirlos a una barra de herramientas, podríamos haberles dado [http://doc.qt.nokia.com/4.7/qaction.html iconos] ''[doc.qt.nokia.com]'' a las acciones (actions).<br />
<br />
Cuando un elemento de menú es presionado, el elemento dispara la accion, y el respectivo slot se invocará.<br />
<br />
===Aprender Más===<br />
<br />
* Main windows y clases main window – [http://doc.qt.nokia.com/4.7/mainwindow.html Aplicación Main Window] ''[doc.qt.nokia.com]'', [http://doc.qt.nokia.com/4.7/examples-mainwindow.html Ejemplos Main Window] ''[doc.qt.nokia.com]''<br />
* Aplicaciones <span class="caps">MDI</span> – [http://doc.qt.nokia.com/4.7/qmdiarea.html QMdiArea] ''[doc.qt.nokia.com]'', [http://doc.qt.nokia.com/4.7/mainwindows-mdi.html Ejemplo <span class="caps">MDI</span>] ''[doc.qt.nokia.com]''<br />
<br />
==Guardando y Cargando==<br />
<br />
En este ejemplo, vamos a implementar la funcionalidad de los '''slots open()''' y '''save()''' que adicionamos en el ejemplo anterior.<br />
<br />
[[Image:gs5.png]]<br />
<br />
Vamos a iniciar con el '''slot open()''':<br />
<br />
El primer paso es preguntar al usuario por el nombre del archivo a abrir. Qt viene con [http://doc.qt.nokia.com/4.7/qfiledialog.html QFileDialog] ''[doc.qt.nokia.com]'', éste es un dialogo con el cual el usuario puede seleccionar un archivo. La siguiente imagen muestra el dialogo en Kubuntu. La funcion estática (static) [http://doc.qt.nokia.com/4.7/qfiledialog.html#getOpenFileName getOpenFileName()] ''[doc.qt.nokia.com]'' muestra un dialogo de archivos modales, y no retorna hasta que el usuario ha seleccionado un archivo. Éste retorna la ruta del archivo seleccionado, o una cadena de texto (string) vacía si el usuario cancela el diálogo.<br />
<br />
Si tenemos un nombre de archivo, tratamos de abrirlo con [http://doc.qt.nokia.com/4.7/qiodevice.html#open open()] ''[doc.qt.nokia.com]'', que devuelve verdadero (true) si el archivo se puede abrir. No vamos a entrar en el manejo de errores aquí, pero puede consultar los enlaces de la sección de aprender más. Si el archivo no se puede abrir, utilizamos [http://doc.qt.nokia.com/4.7/qmessagebox.html QMessageBox] ''[doc.qt.nokia.com]'' para mostrar un diálogo con un mensaje de error (consulte la descripción de la clase [http://doc.qt.nokia.com/4.7/qmessagebox.html QMessageBox] ''[doc.qt.nokia.com]'' para más detalles).<br />
<br />
En realidad, la lectura de los datos es trivial utilizando la función [http://doc.qt.nokia.com/4.7/qiodevice.html#readAll readAll()] ''[doc.qt.nokia.com]'', la cual devuelve todos los datos del archivo en un [http://doc.qt.nokia.com/4.7/qbytearray.html QByteArray] ''[doc.qt.nokia.com]''. La función [http://doc.qt.nokia.com/4.7/qbytearray.html#constData constData()] ''[doc.qt.nokia.com]'' devuelve todos los datos del arreglo (array) como un const char *, [http://doc.qt.nokia.com/4.7/qstring.html QString] ''[doc.qt.nokia.com]'' tiene un constructor para éste. Los contenidos se pueden visualizar en el editor de texto. Luego llamamos la función [http://doc.qt.nokia.com/4.7/qiodevice.html#close close()] ''[doc.qt.nokia.com]'' que cierra el archivo para retornar la descripción del archivo al sistema operativo.<br />
<br />
Ahora, vamos a pasar al slot save().<br />
<br />
Cuando escribimos el contenido del editor de texto en el archivo, utillizamos la clase [http://doc.qt.nokia.com/4.7/qtextstream.html QTextStream] ''[doc.qt.nokia.com]'', que envuelve al objeto [http://doc.qt.nokia.com/4.7/qfile.html QFile] ''[doc.qt.nokia.com]''. El flujo de texto puede escribir QStrings directamente al archivo; [http://doc.qt.nokia.com/4.7/qfile.html QFile] ''[doc.qt.nokia.com]'' sólo acepta los datos en bruto (char *) con las funciones [http://doc.qt.nokia.com/4.7/qiodevice.html#write write()] ''[doc.qt.nokia.com]'' de [http://doc.qt.nokia.com/4.7/qiodevice.html <span class="caps">QIOD</span>evice] ''[doc.qt.nokia.com]''.<br />
<br />
===Aprender Más===<br />
<br />
* Archivos y dispositivos de E/S – [http://doc.qt.nokia.com/4.7/qfile.html QFile] ''[doc.qt.nokia.com]'', [http://doc.qt.nokia.com/4.7/qiodevice.html <span class="caps">QIOD</span>evice] ''[doc.qt.nokia.com]''<br />
<br />
===Categories:===<br />
<br />
* [[:Category:Learning|Learning]]<br />
* [[:Category:Spanish|Spanish]]</div>Maintenance script