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

From Qt Wiki
Jump to: navigation, search
(Add "cleanup" tag)
 
(5 intermediate revisions by 2 users not shown)
Line 8: Line 8:
 
[[Category:Spanish]]
 
[[Category:Spanish]]
  
[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 16: Line 15:
 
== Información general acerca de 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.
+
Usando [http://doc.qt.io/qt-5.0/qtwidgets/qpushbutton.html QPushButton] 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.
+
QPushButton hereda de [http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html QAbstractButton] que hereda de [http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html QWidget].
  
 
== Señales (Signals) ==
 
== Señales (Signals) ==
Line 31: Line 30:
 
=== Hereda de QWidget ===
 
=== Hereda de QWidget ===
  
* void customContextMenuRequested ( const QPoint & pos )
+
* void customContextMenuRequested ( const QPoint & pos )
  
 
=== Hereda de QObject ===
 
=== Hereda de QObject ===
Line 41: Line 40:
 
=== Texto ===
 
=== 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.
+
Se puede establecer el texto de un QPushButton en su creación o usando [http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#text-prop setText()].
Para obtener el texto usado actualmente por el botón usamos "text()":http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#text-prop.
+
Para obtener el texto usado actualmente por el botón usamos [http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#text-prop text()].
  
 
=== 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 "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
+
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 [http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#icon-prop setIcon()] Para obtener el icono en uso actualmente use [http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#icon-prop icon()]
  
 
=== 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 "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.
+
Para establecer la posición y el tamaño de un botón use [http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html#geometry-prop setGeometry()]. Si lo que busca es modificar el tamaño del botón use [http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html#size-prop resize()].
  
 
=== Manejando el botón ===
 
=== Manejando el botón ===
Line 56: Line 55:
 
QPushButton emite una señal si un evento ocurre. Para manejar el botón conecte la señal apropiada a el slot:
 
QPushButton emite una señal si un evento ocurre. Para manejar el botón conecte la señal apropiada a el slot:
  
<code>connect(m_pButton, SIGNAL (released()),this, SLOT (handleButton()));<code>
+
<code>connect(m_pButton, SIGNAL (released()),this, SLOT (handleButton()));</code>
  
 
== Ejemplo ==
 
== Ejemplo ==
Line 66: Line 65:
 
=== mainwindow.h ===
 
=== mainwindow.h ===
  
</code>
+
<code>
#ifndef MAINWINDOW_H
+
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
+
#define MAINWINDOW_H
 
+
#include <QtGui/QMainWindow>
+
#include <QMainWindow>
#include <QPushButton>
+
#include <QPushButton>
 
+
namespace Ui {
+
namespace Ui {
class MainWindow;
+
  class MainWindow;
}
+
}
 
+
class MainWindow : public QMainWindow
+
class MainWindow : public QMainWindow
{
+
{
 
  Q_OBJECT
 
  Q_OBJECT
public:
+
public:
 
+
explicit MainWindow(QWidget '''parent = 0);
+
explicit MainWindow(QWidget '''parent = 0);
virtual ~MainWindow();
+
  virtual ~MainWindow();
 
+
private slots:
+
private slots:
 
+
 
  void handleButton();
 
  void handleButton();
 
+
private:
+
private:
 
+
 
  QPushButton''' m_pButton;
 
  QPushButton''' m_pButton;
};
+
};
 
+
#endif // MAINWINDOW_H
+
#endif // MAINWINDOW_H
<code>
+
</code>
  
 
=== mainwindow.cpp ===
 
=== mainwindow.cpp ===
  
 +
<code>
 +
#include "mainwindow.h"
 +
 +
#include <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()
 +
{
 +
 +
}
 
</code>
 
</code>
#include "mainwindow.h"
 
  
#include <QtCore/QCoreApplication>
+
=== main.cpp ===
 
 
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()
 
{
 
  
}
 
 
<code>
 
<code>
 +
#include "mainwindow.h"
 +
 +
#include <QApplication>
  
=== main.cpp ===
+
int main(int argc, char *argv[])
 
+
{
 +
    QApplication app(argc, argv);
 +
 +
    MainWindow mainWindow;
 +
    mainWindow.showMaximized();
 +
    return app.exec();
 +
}
 
</code>
 
</code>
#include "mainwindow.h"
 
 
#include <QtGui/QApplication>
 
 
int main(int argc, char *argv[])
 
{
 
QApplication app(argc, argv);
 
 
MainWindow mainWindow;
 
mainWindow.showMaximized();
 
return app.exec();
 
}
 
 
<code>
 
  
 
= Mas información =
 
= Mas información =
  
"Botones Qt":http://developer.qt.nokia.com/wiki/Qt_Buttons_Spanish
+
[http://developer.qt.nokia.com/wiki/Qt_Buttons_Spanish Botones Qt]

Latest revision as of 03:10, 23 June 2017

This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.


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

Como usar QPushButton

Información general acerca de QPushButton

Usando QPushButton 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 que hereda de QWidget.

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(). Para obtener el texto usado actualmente por el botón usamos text().

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() Para obtener el icono en uso actualmente use icon()

Establecer posición y tamaño

Para establecer la posición y el tamaño de un botón use setGeometry(). Si lo que busca es modificar el tamaño del botón use resize().

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()));

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

 #ifndef MAINWINDOW_H
 #define MAINWINDOW_H
 
 #include <QMainWindow>
 #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;
 };
 
 #endif // MAINWINDOW_H

mainwindow.cpp

 #include "mainwindow.h"
 
 #include <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

 #include "mainwindow.h"
 
 #include <QApplication>

 int main(int argc, char *argv[])
 {
     QApplication app(argc, argv);
 
     MainWindow mainWindow;
     mainWindow.showMaximized();
     return app.exec();
 }

Mas información

Botones Qt