Difference between revisions of "How to Use QPushButton/es"

From Qt Wiki
Jump to: navigation, search
Line 1: Line 1:
[[Category:Developing with Qt::General]]<br />[[Category:QtDevelopmentSpanish::General]]<br />[[Category:HowTo]]<br />[[Category:Snippets]]<br />[[Category:Tutorial]]<br />[[Category:Spanish]]
+
[[Category:Developing with Qt::General]]
 +
[[Category:QtDevelopmentSpanish::General]]
 +
[[Category:HowTo]]
 +
[[Category:Snippets]]
 +
[[Category:Tutorial]]
 +
[[Category:Spanish]]
  
[toc align_right=&quot;yes&amp;quot; depth=&quot;3&amp;quot;]
+
[toc align_right="yes" depth="3"]
  
 
'''Spanish''' [[How_to_Use_QPushButton|English]] [[How_to_Use_QPushButton_Bulgarian|Български]] [[How_to_Use_QPushButton_SimplifiedChinese|简体中文]] [[How_to_Use_QPushButton_Russian|Русский]]
 
'''Spanish''' [[How_to_Use_QPushButton|English]] [[How_to_Use_QPushButton_Bulgarian|Български]] [[How_to_Use_QPushButton_SimplifiedChinese|简体中文]] [[How_to_Use_QPushButton_Russian|Русский]]
Line 9: Line 14:
 
== Información general acerca de QPushButton ==
 
== Información general acerca de QPushButton ==
  
Usando &quot;QPushButton&amp;quot;:http://doc.qt.io/qt-5.0/qtwidgets/qpushbutton.html los desarrolladores podrán crear y manejar botones. Esta clases es fácil de usar y personalizar, por lo que es una de las clases mas útiles de Qt. Por lo general un botos muestra un texto, pero también es posible que muestre un icono.
+
Usando "QPushButton":http://doc.qt.io/qt-5.0/qtwidgets/qpushbutton.html los desarrolladores podrán crear y manejar botones. Esta clases es fácil de usar y personalizar, por lo que es una de las clases mas útiles de Qt. Por lo general un botos muestra un texto, pero también es posible que muestre un icono.
  
QPushButton hereda de &quot;QAbstractButton&amp;quot;:http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html que hereda de &quot;QWidget&amp;quot;:http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html.
+
QPushButton hereda de "QAbstractButton":http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html que hereda de "QWidget":http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html.
  
 
== Señales (Signals) ==
 
== Señales (Signals) ==
Line 34: Line 39:
 
=== Texto ===
 
=== Texto ===
  
Se puede establecer el texto de un QPushButton en su creación o usando &quot;setText()&quot;:http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#text-prop.<br />Para obtener el texto usado actualmente por el botón usamos &quot;text()&quot;:http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#text-prop.
+
Se puede establecer el texto de un QPushButton en su creación o usando "setText()":http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#text-prop.
 +
Para obtener el texto usado actualmente por el botón usamos "text()":http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#text-prop.
  
 
=== Icono ===
 
=== Icono ===
  
El icono de un QPushButton al igual que el texto del mismo se puede establecer en su creación. Luego también es posible cambiarlo usando &quot;setIcon()&quot;:http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#icon-prop Para obtener el icono en uso actualmente use &quot;icon()&quot;:http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#icon-prop
+
El icono de un QPushButton al igual que el texto del mismo se puede establecer en su creación. Luego también es posible cambiarlo usando "setIcon()":http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#icon-prop Para obtener el icono en uso actualmente use "icon()":http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#icon-prop
  
 
=== Establecer posición y tamaño ===
 
=== Establecer posición y tamaño ===
  
Para establecer la posición y el tamaño de un botón use &quot;setGeometry()&quot;:http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html#geometry-prop. Si lo que busca es modificar el tamaño del botón use &quot;resize()&quot;:http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html#size-prop.
+
Para establecer la posición y el tamaño de un botón use "setGeometry()":http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html#geometry-prop. Si lo que busca es modificar el tamaño del botón use "resize()":http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html#size-prop.
  
 
=== Manejando el botón ===
 
=== Manejando el botón ===
Line 58: Line 64:
 
=== mainwindow.h ===
 
=== mainwindow.h ===
  
</code><br />#ifndef MAINWINDOW_H<br />#define MAINWINDOW_H
+
</code>
 +
#ifndef MAINWINDOW_H
 +
#define MAINWINDOW_H
  
#include &lt;QtGui/QMainWindow&amp;gt;<br />#include &lt;QPushButton&amp;gt;
+
#include <QtGui/QMainWindow>
 +
#include <QPushButton>
  
namespace Ui {<br /> class MainWindow;<br />}
+
namespace Ui {
 +
class MainWindow;
 +
}
  
class MainWindow : public QMainWindow<br />{<br /> Q_OBJECT<br />public:
+
class MainWindow : public QMainWindow
 +
{
 +
Q_OBJECT
 +
public:
  
explicit MainWindow(QWidget '''parent = 0);<br /> virtual ~MainWindow();
+
explicit MainWindow(QWidget '''parent = 0);
<br />private slots:
+
virtual ~MainWindow();
<br /> void handleButton();
 
<br />private:
 
<br /> QPushButton''' m_pButton;<br />};
 
  
#endif // MAINWINDOW_H<br /><code>
+
private slots:
 +
 
 +
void handleButton();
 +
 
 +
private:
 +
 
 +
QPushButton''' m_pButton;
 +
};
 +
 
 +
#endif // MAINWINDOW_H
 +
<code>
  
 
=== mainwindow.cpp ===
 
=== mainwindow.cpp ===
  
</code><br />#include &quot;mainwindow.h&amp;quot;
+
</code>
 +
#include "mainwindow.h"
  
#include &lt;QtCore/QCoreApplication&amp;gt;
+
#include <QtCore/QCoreApplication>
  
MainWindow::MainWindow(QWidget *parent)<br /> : QMainWindow(parent)<br />{<br /> //Create the button<br /> m_pButton = new QPushButton(&quot;My Button&amp;quot;, this);<br /> //set size and location of the button<br /> m_pButton-&gt;setGeometry(QRect( QPoint(100, 100),<br /> QSize(200, 50) ));
+
MainWindow::MainWindow(QWidget *parent)
 +
: QMainWindow(parent)
 +
{
 +
//Create the button
 +
m_pButton = new QPushButton("My Button", this);
 +
//set size and location of the button
 +
m_pButton->setGeometry(QRect( QPoint(100, 100),
 +
QSize(200, 50) ));
  
//Connect button signal to appropriate slot<br /> connect(m_pButton, SIGNAL (released()),this, SLOT (handleButton()));<br />}
+
//Connect button signal to appropriate slot
 +
connect(m_pButton, SIGNAL (released()),this, SLOT (handleButton()));
 +
}
  
void MainWindow::handleButton()<br />{<br /> //change the text<br /> m_pButton-&gt;setText(&quot;Example&amp;quot;);<br /> //resize button<br /> m_pButton-&gt;resize(100,100);<br />}
+
void MainWindow::handleButton()
 +
{
 +
//change the text
 +
m_pButton->setText("Example");
 +
//resize button
 +
m_pButton->resize(100,100);
 +
}
  
MainWindow::~MainWindow()<br />{
+
MainWindow::~MainWindow()
 +
{
  
}<br /><code>
+
}
 +
<code>
  
 
=== main.cpp ===
 
=== main.cpp ===
  
</code><br />#include &quot;mainwindow.h&amp;quot;
+
</code>
 +
#include "mainwindow.h"
  
#include &lt;QtGui/QApplication&amp;gt;
+
#include <QtGui/QApplication>
  
int main(int argc, char *argv[])<br />{<br /> QApplication app(argc, argv);
+
int main(int argc, char *argv[])
 +
{
 +
QApplication app(argc, argv);
  
MainWindow mainWindow;<br /> mainWindow.showMaximized();<br /> return app.exec&amp;amp;#40;&amp;#41;;<br />}
+
MainWindow mainWindow;
 +
mainWindow.showMaximized();
 +
return app.exec();
 +
}
  
 
<code>
 
<code>
Line 104: Line 149:
 
= Mas información =
 
= Mas información =
  
&quot;Botones Qt&amp;quot;:http://developer.qt.nokia.com/wiki/Qt_Buttons_Spanish
+
"Botones Qt":http://developer.qt.nokia.com/wiki/Qt_Buttons_Spanish

Revision as of 09:58, 25 February 2015


[toc align_right="yes" depth="3"]

Spanish English Български 简体中文 Русский

Como usar QPushButton

Información general acerca de QPushButton

Usando "QPushButton":http://doc.qt.io/qt-5.0/qtwidgets/qpushbutton.html los desarrolladores podrán crear y manejar botones. Esta clases es fácil de usar y personalizar, por lo que es una de las clases mas útiles de Qt. Por lo general un botos muestra un texto, pero también es posible que muestre un icono.

QPushButton hereda de "QAbstractButton":http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html que hereda de "QWidget":http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html.

Señales (Signals)

Hereda de QAbstractButton

  • void clicked ( bool checked = false )
  • void pressed ()
  • void released ()
  • void toggled ( bool checked )

Hereda de QWidget

  • void customContextMenuRequested ( const QPoint & pos )

Hereda de QObject

  • void destroyed ( QObject * obj = 0 )

Uso básico

Texto

Se puede establecer el texto de un QPushButton en su creación o usando "setText()":http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#text-prop. Para obtener el texto usado actualmente por el botón usamos "text()":http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#text-prop.

Icono

El icono de un QPushButton al igual que el texto del mismo se puede establecer en su creación. Luego también es posible cambiarlo usando "setIcon()":http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#icon-prop Para obtener el icono en uso actualmente use "icon()":http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#icon-prop

Establecer posición y tamaño

Para establecer la posición y el tamaño de un botón use "setGeometry()":http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html#geometry-prop. Si lo que busca es modificar el tamaño del botón use "resize()":http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html#size-prop.

Manejando el botón

QPushButton emite una señal si un evento ocurre. Para manejar el botón conecte la señal apropiada a el slot:

connect(m_pButton, SIGNAL (released()),this, SLOT (handleButton()));<code>

== Ejemplo ==

El siguiente fragmento de código muestra como crear y usar un QPushButton. El mismo a sido probado en Qt Symbian Simulator

Una instancia de QPushButton es creada. La señal '''released()''' es conectada al slot '''handleButton()''' que cambia el texto y el tamaño del botón.

=== mainwindow.h ===
  1. ifndef MAINWINDOW_H
  2. define MAINWINDOW_H
  1. include <QtGui/QMainWindow>
  2. include <QPushButton>

namespace Ui {

class MainWindow;

}

class MainWindow : public QMainWindow {

Q_OBJECT

public:

explicit MainWindow(QWidget parent = 0);

virtual ~MainWindow();

private slots:

void handleButton();

private:

QPushButton m_pButton;

};

  1. endif // MAINWINDOW_H
=== mainwindow.cpp ===
  1. include "mainwindow.h"
  1. include <QtCore/QCoreApplication>

MainWindow::MainWindow(QWidget *parent)

: QMainWindow(parent)

{

//Create the button
m_pButton = new QPushButton("My Button", this);
//set size and location of the button
m_pButton->setGeometry(QRect( QPoint(100, 100),
QSize(200, 50) ));

//Connect button signal to appropriate slot

connect(m_pButton, SIGNAL (released()),this, SLOT (handleButton()));

}

void MainWindow::handleButton() {

//change the text
m_pButton->setText("Example");
//resize button
m_pButton->resize(100,100);

}

MainWindow::~MainWindow() {

}

=== main.cpp ===
  1. include "mainwindow.h"
  1. include <QtGui/QApplication>

int main(int argc, char *argv[]) {

QApplication app(argc, argv);

MainWindow mainWindow;

mainWindow.showMaximized();
return app.exec();

}

Mas información

"Botones Qt":http://developer.qt.nokia.com/wiki/Qt_Buttons_Spanish